我在這裏有輸出,當我在GDB disas屬於比較程序輸入到'密碼短語'的功能。我知道真正的'口令'在$ 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」是什麼意思? – 2013-03-08 03:28:05
糟糕,重寫了這個問題。對於那個很抱歉。問題實際上是關於$ eax。 – theman 2013-03-08 03:34:29
,我正在使用x $ eax。它給了我這個輸出: '0x1:<地址0x1越界>' – theman 2013-03-08 03:38:15