KEYFILE等保护方式的逆向和破解
完成PacMe的KeyFile算法的逆向分析,了解相关操作,画出密钥验证算法流程图。
实验内容
实验过程
打开PacMe.exe
用olldbg打开,在GetDlgItemTextA处设置断点,运行,在断点处停止后点击check。
用010editor打开文件KWAZYWEB.BIT 修改内容 0A表示学号个数为十位 后面十位 为学号的十六进制 再后面的18位是学号的异或 (即:在0A后面的28个16进制 其中10个是学号的16进制 18个学号的异或的16进制)
在c 处后修改学号即可获得(下列的c=[]中 的*修改为自己的学号即可 例如5100000000 )
c=[0x35,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30]
a=[0XA9,0XAB,0XA5,0X10,0X54,0X3F,0X30,0X55,0X65,0X16,0X56,0XBE,0XF3,0XEA,0XE9,0X50,0X55,0XAF]
c=[0x3*,0x3*,0x3*,0x3*,0x3*,0x3*,0x3*,0x3*,0x3*,0x3*]
b=[]
d=0
for i in c:
d+=int(i)
for i in a:
b.append(hex((d&0xff)^i))
print(b)
点击Check后出现学号 KWAZYWEB.BIT文件和程序放在同一文件下
程序是一个标准迷宫,从c开始,走18次,每次走4步,直到遇见x