改进二进制炸弹的逻辑步骤

时间:2017-09-29 22:16:31

标签: assembly reverse-engineering

我在二元炸弹上坚持这个逻辑。我理解了一个类似的问题,但是我的逻辑似乎与我在这个问题上进行逆向工程完全不同。

我评论了我认为逻辑正在做什么,但到目前为止没有成功。那么,eax = 211,这是否意味着rax具有该值?因为然后将rax与194进行比较。这个逻辑只是处理寄存器rsirdxrcx。我相信rdi可能会分开检查输入。

谢谢

<+24>:  not    %rsi     //NOT rsi
<+27>:  and    %rsi,%rdx     //rdx &= rsi
<+30>:  xor    $0x1b9,%rdx    //rdx ^= 441
<+37>:  mov    $0xd3,%eax    //eax = 211
<+42>:  sub    %rdx,%rax    //rax -= rdx
<+45>:  mov    %rax,%rdx    //rdx = rax
<+48>:  cmp    $0xc2,%rax    //rax == 194
<+54>:  sete   %al
<+57>:  movzbl %al,%eax
<+60>:  cmp    %rcx,%rdx     //Does rdx == rcx?

0 个答案:

没有答案