小编Inv*_*lar的帖子

如何强制执行有损 AND 例程?

我想知道是否有任何标准方法可以通过蛮力逆转 AND 例程。例如,我有以下转换:

MOV(eax, 0x5b3e0be0)  <- Here we move 0x5b3e0be0 to EDX.
MOV(edx, eax)  # Here we copy 0x5b3e0be0 to EAX as well.
SHL(edx, 0x7)  # Bitshift 0x5b3e0be0 with 0x7 which results in 0x9f05f000
AND(edx, 0x9d2c5680)  # AND 0x9f05f000 with 0x9d2c5680 which results in 0x9d045000
XOR(edx, eax)  # XOR 0x9d045000 with original value 0x5b3e0be0 which results in 0xc63a5be0
Run Code Online (Sandbox Code Playgroud)

我的问题是如何蛮力和反转这个例程(即将 0xc63a5be0 转换回 0x5b3e0be0)

我的一个想法(不起作用)是使用 PeachPy 实现:

#Input values
MOV(esi, 0xffffffff) < Initial value to AND with, which will be decreased by …
Run Code Online (Sandbox Code Playgroud)

math x86 assembly reverse-engineering

-2
推荐指数
1
解决办法
118
查看次数

标签 统计

assembly ×1

math ×1

reverse-engineering ×1

x86 ×1