检查汇编代码mov 0x8(%ebx),%eax mov(%eax),%eax cmp%eax,(%ebx)

时间:2016-02-29 06:47:44

标签: x86

我正在研究二元炸弹的最后阶段,但我不确定这三个声明在做什么。任何澄清将不胜感激。

mov 0x8(%ebx),%eax

mov(%eax),%eax

cmp%eax,(%ebx)

1 个答案:

答案 0 :(得分:0)

读取EBX + 0x8指向的地址内容并将其存储在EAX寄存器

Blockly.Blocks['MyBlock'] = {
          init: function() {

            this.appendDummyInput()
                .appendField(new MyFieldImage("https://www.gstatic.com/codesite/ph/images/star_on.gif", 15, 15, "*",true));
            this.setTooltip('');
            this.setHelpUrl('http://www.example.com/');
          }
        };

将EAX寄存器指向的地址内容复制到EAX

mov 0x8(%ebx),%eax

将EAX中的值与EBX寄存器中指向的地址内容进行比较。

mov (%eax),%eax

所以基本上它取消引用指向地址EBX + 0x8中的指针并将其值与地址EBX中包含的值进行比较