I am stuck on this logic on the binary bomb. I understand a similar question was asked, but my logic seems quite different for me to reverse engineer from that question.
I have commented on what I believe the logic is doing, but have had no success so far. So, eax
= 211, so does that mean rax
has that value to? because then rax
is compared with 194 later. Is this logic just dealing with registers rsi
, rdx
, rcx
. I beleive rdi
is potentially checking inputs seperate.
Thanks
<+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?