我正在尝试编写一个密钥生成器来破解我正在学习的问题,但我被卡住了。那里发生的事情很简单:
假设我输入了密码:“12121212”
XOR DWORD PTR DS:[ECX+EAX],1234567
AND BYTE PTR DS:[ECX+EAX],0E
ADD ECX,4
CMP ECX,8
正如我们所看到的,第一DWORD密码(0x32313231,通知,x86处理器使用 小端布局)正在XORed与0x1234567这样0x32313231 ^ 0x1234567的结果与0x56771233。然后对被操纵密码AND的第一个字节 ( 0x56) 进行操作0xe,结果为0x6。之后,程序重复操作,这次DWORD是密码的第二个。
我的问题是:我知道我可以逆转,XOR但AND手术可以吗?