我試圖破譯簡單的彙編代碼,但我對該語言不是很有經驗。如果我的代碼主要以下塊:如何確定地址中的內容彙編正在調用
push %ebp
8048a45: 89 e5 mov %esp,%ebp
8048a47: 53 push %ebx
8048a48: 83 e4 f0 and $0xfffffff0,%esp
8048a4b: 83 ec 10 sub $0x10,%esp
8048a4e: 8b 45 08 mov 0x8(%ebp),%eax
8048a51: 8b 5d 0c mov 0xc(%ebp),%ebx
8048a54: 83 f8 01 cmp $0x1,%eax
8048a57: 75 0c jne 8048a65 <main+0x21>
8048a59: a1 c4 d7 04 08 mov 0x804d7c4,%eax ??
8048a5e: a3 f0 d7 04 08 mov %eax,0x804d7f0 ??
8048a63: eb 74 jmp 8048ad9 <main+0x95>
8048a65: 83 f8 02 cmp $0x2,%eax
8048a68: 75 49 jne 8048ab3 <main+0x6f>
8048a6a: c7 44 24 04 e8 a2 04 movl $0x804a2e8,0x4(%esp)
上線8048a59和048a5e,在那裏我已經把問號,我猜想它試圖設置無論是在地址0x804d7f0什麼是地址0x804d7c4,但是我怎麼知道這些地址具體是什麼?
如果您不知道該程序是什麼以及它在做什麼,則不這樣做。 – Hannu
如果你可以讓連接器吐出一個地圖文件,你應該得到你的變量的所有絕對地址列表。 – Lundin