我想知道是否有任何标准方法可以通过蛮力逆转 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)