-1
我工作的二進制炸彈的最後階段,但我有點不能確定這三個陳述正在做。任何澄清將不勝感激。檢查彙編代碼MOV 0x8中(%EBX),%EAX MOV(%eax中),%EAX CMP%EAX(%EBX)
MOV位於0x8(%EBX),%eax中
MOV(%eax中),%eax中
CMP%eax中,(%EBX)
我工作的二進制炸彈的最後階段,但我有點不能確定這三個陳述正在做。任何澄清將不勝感激。檢查彙編代碼MOV 0x8中(%EBX),%EAX MOV(%eax中),%EAX CMP%EAX(%EBX)
MOV位於0x8(%EBX),%eax中
MOV(%eax中),%eax中
CMP%eax中,(%EBX)
瀏覽內容通過EBX + 0x8中指出並將其存儲在EAX寄存器
mov 0x8(%ebx),%eax
通過EAX寄存器指向的地址將內容複製到EAX
mov (%eax),%eax
在EAX比較值與地址的內容EBX寄存器指向。
cmp %eax,(%ebx)
所以基本上取消引用指針地址EBX + 0x8中的指針,如果你的前3條語句後添加一個JGE聲明,你會被檢查,如果%,但地址EBX包含現在
值相比較它的價值eax>(%ebx)? – AArce
jge(如果等於或大於,跳轉)。所以它跳轉如果%EAX> =(%EBX) –