Created
December 3, 2012 21:35
-
-
Save khakimov/4198302 to your computer and use it in GitHub Desktop.
stack_protection
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0x0000000100000eb0 <test_function+0>: push %rbp | |
0x0000000100000eb1 <test_function+1>: mov %rsp,%rbp | |
0x0000000100000eb4 <test_function+4>: mov %edi,-0x4(%rbp) | |
0x0000000100000eb7 <test_function+7>: mov %esi,-0x8(%rbp) | |
0x0000000100000eba <test_function+10>: mov %edx,-0xc(%rbp) | |
0x0000000100000ebd <test_function+13>: mov %ecx,-0x10(%rbp) | |
0x0000000100000ec0 <test_function+16>: movl $0xb,-0x20(%rbp) | |
0x0000000100000ec7 <test_function+23>: movb $0x41,-0x1a(%rbp) | |
0x0000000100000ecb <test_function+27>: pop %rbp | |
0x0000000100000ecc <test_function+28>: retq |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Dump of assembler code for function test_function: | |
0x0000000100000e70 <test_function+0>: push %rbp | |
0x0000000100000e71 <test_function+1>: mov %rsp,%rbp | |
0x0000000100000e74 <test_function+4>: sub $0x30,%rsp | |
0x0000000100000e78 <test_function+8>: mov 0x1b9(%rip),%rax # 0x100001038 | |
>>>> 0x7fff76556f60 <__stack_chk_guard>: 0x7c73fc21 | |
x $rip + 0x1b9 = 0x100001038 address in memory | |
(gdb) x/2w 0x100001038 | |
0x100001038: 0x76556f60 0x00007fff | |
(gdb) x 0x00007fff76556f60 | |
0x7fff76556f60 <__stack_chk_guard>: 0x7c73fc21 | |
0x0000000100000e7f <test_function+15>: mov (%rax),%rax | |
0x0000000100000e82 <test_function+18>: mov %rax,-0x8(%rbp) | |
0x0000000100000e86 <test_function+22>: mov %edi,-0xc(%rbp) | |
0x0000000100000e89 <test_function+25>: mov %esi,-0x10(%rbp) | |
0x0000000100000e8c <test_function+28>: mov %edx,-0x14(%rbp) | |
0x0000000100000e8f <test_function+31>: mov %ecx,-0x18(%rbp) | |
0x0000000100000e92 <test_function+34>: movl $0xb,-0x28(%rbp) | |
0x0000000100000e99 <test_function+41>: movb $0x41,-0x22(%rbp) | |
0x0000000100000e9d <test_function+45>: mov 0x194(%rip),%rax # 0x100001038 | |
0x0000000100000ea4 <test_function+52>: mov (%rax),%rax | |
0x0000000100000ea7 <test_function+55>: mov -0x8(%rbp),%rcx | |
0x0000000100000eab <test_function+59>: cmp %rcx,%rax | |
0x0000000100000eae <test_function+62>: jne 0x100000eb6 <test_function+70> | |
0x0000000100000eb0 <test_function+64>: add $0x30,%rsp | |
0x0000000100000eb4 <test_function+68>: pop %rbp | |
0x0000000100000eb5 <test_function+69>: retq | |
0x0000000100000eb6 <test_function+70>: callq 0x100000efe <dyld_stub___stack_chk_fail> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment