我正在尝试编写一个密钥生成器来破解我正在学习的问题,但我被卡住了。那里发生的事情很简单:
假设我输入了密码:“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
手术可以吗?