破解软件不仅需要扎实得编程功底,更需要灵活善变得思维,要懂得揣摩作者得意图。要引发蝴蝶效应。
在上一篇中我们修改了一个跳转JE XXXX语句。很自然的我们可以这样认为,即是将输入的授权码和正确的授权码做比较。我们看看JE XXXX以上的代码。
Copy OD 部分代码 调试时请结合OD 他的强大和反汇编就不用我说了吧!
MOV ESI,DWORD PTR DS:[EDI+64] ;寄存器 显示是我们自己输入的授权码
MOV EAX,DWORD PTR SS:[ESP+C] ;寄存器 显示一字符串 推测为正确的授权码
MOV DWORD PTR SS:[ESP+1C],0
MOV DL,BYTE PTR DS:[EAX] ;取eax第一个字符
MOV BL,BYTE PTR DS:[ESI] ;取esi第一个字符
MOV CL,DL ;给cl
CMP DL,BL ;比较
JNZ SHORT 飞秋FeiQ.004634FC ;不等跳
TEST CL,CL ;结束?
JE SHORT 飞秋FeiQ.004634F8 ;结束跳
MOV DL,BYTE PTR DS:[EAX+1] ;取下个字符
MOV BL,BYTE PTR DS:[ESI+1] ;取下个字符
MOV CL,DL ; 给c