Why does this memory address %fs:0x28 ( fs[0x28] ) have a random value?

后端 未结 3 1075
暖寄归人
暖寄归人 2020-12-02 10:56

I\'ve written a piece of C code and I\'ve disassembled it as well as read the registers to understand how the program works in assembly.

int test(char *this)         


        
3条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-02 11:25

    glibc:
      uintptr_t stack_chk_guard = _dl_setup_stack_chk_guard (_dl_random);
    # ifdef THREAD_SET_STACK_GUARD
      THREAD_SET_STACK_GUARD (stack_chk_guard); 
    
    the _dl_random from kernel.
    

提交回复
热议问题