나는 GDB에서 'passphrase'와 프로그램 입력을 비교하는 것과 관련된 함수를 사용하지 않는다. 나는 실제 암호문이 $ eax에 있음을 알고 있지만 $ eax를 조사하려고 할 때 그 주소가 범위를 벗어난 오류를 얻는다. $ eax를 조사하기 위해 무엇을 할 수 있습니까?
Dump of assembler code for function s:
0x08048444 <+0>: push %ebp
0x08048445 <+1>: mov %esp,%ebp
0x08048447 <+3>: mov 0x8(%ebp),%edx
0x0804844a <+6>: mov $0x0,%eax
0x0804844f <+11>: cmpb $0x0,(%edx)
0x08048452 <+14>: je 0x804845d <s+25>
0x08048454 <+16>: add $0x1,%eax
=> 0x08048457 <+19>: cmpb $0x0,(%edx,%eax,1)
0x0804845b <+23>: jne 0x8048454 <s+16>
0x0804845d <+25>: pop %ebp
0x0804845e <+26>: ret
당신은'x $ edx'를 사용하고 있다는 것을 의미합니까? 'p $ edx'는 뭐라고 말할까요? –
질문을 다시 작성합니다. 미안합니다. 질문은 실제로 $ eax에 관한 것입니다. – theman
그리고 x $ eax를 사용하고 있습니다. '0x1 : <0x1 범위 외> ' – theman