0x08048c62 <+0>: sub $0x2c,%esp
0x08048c65 <+3>: lea 0x1c(%esp),%eax
0x08048c69 <+7>: mov %eax,0xc(%esp)
0x08048c6d <+11>: lea 0x18(%esp),%eax
0x08048c71 <+15>: mov %eax,0x8(%esp)
0x08048c75 <+19>: movl $0x804a73d,0x4(%esp)
0x08048c7d <+27>: mov 0x30(%esp),%eax
0x08048c81 <+31>: mov %eax,(%esp)
0x08048c84 <+34>: call 0x80488d0 <[email protected]>
=> 0x08048c89 <+39>: cmp $0x1,%eax
마지막 명령에서 $0x1
의 내용을 어떻게 인쇄합니까? 주소 0x1로 메모리를 액세스 할 수 없습니다, 또는 값 나는 C, S, X로 유형을 변경하려고하는 경우에도 (정수로 변환 할 수 없습니다, A : 나는 모든 조합 gdb : ASM의 메모리 주소에 값을 인쇄하는 방법
x/d 0x1
x/d $0x1
x/s $0x1
...
...
하지만 하나가 오류가 시도)
궁극적으로 내가 즉, scanf
에 전달되는 인수를 찾기 위해 노력하고있어 "% d 개 % d 개 % C"
이제는 내 질문이 있습니다. 푸시 지침이 표시되지 않을 때 scanf에 인수로 전달되는 내용을 어떻게 알 수 있습니까? – SSOPLIF
@filposs는'(% esp)','4 (% esp)'등과 같은 메모리 주소를''mov ''찾는다. 이것은''push '와 유사하지만 매번'% esp'를 감할 필요가 없다. . –
거기에 있다는 것을 알면서도 전혀 문제가없는 것처럼 보였습니다! 이것을 결정하는 통찰력있는 방법을 내게 설명해 주시겠습니까? 모든 mov 지침 중, 어떻게 알 수 있습니까? (% d % d) – SSOPLIF