破解<<生日字典密码生成器 v3.7 password>> 的注册码 (4千字)
破解<<生日字典密码生成器 v3.7 password>> 的注册码--------------------------------------------------------------------------------
破解:AsmBoy[BCG]
Mail:asmboy@263.net
软件下载地方:http://bcrystal.51.net/
难度级别:初级,练手用的,高手莫看:)
所需工具:
TRW 2000
汇编知识 (至少是基础)
大脑一个 (你有一个吧 , 我是有的! :p )
软件历史:
因现在网上流行几个破解QQ的密码的软件,都是需要字典的,发现在这个以生日为密码的字典生成工具不错,就拿来练练手,没有注册前只能生成一些简单的生日密码,注册后就没有这些限制了。
言归正转,开工罗....;O
步骤:
用TRW2000载入password.exe文件,F5返回程序,选择注册,输入78787878(随便输的,无所谓,只不过习惯了78大法,呵。。),按CTRL+N返回TRW2000,下断点BPX MESSAGEBOXA,用F5返回程序,被拦下了,用PMODULE
返回主程序,按F6键,将光标移到代码区,用PAGE UP向上翻N次,找到 CALL MSVCRT!_mbscmp
0167:00402E2B 8B4560 MOV EAX,[EBP+60]
0167:00402E2E 68E0694000 PUSH DWORD 004069E0
0167:00402E33 50 PUSH EAX
0167:00402E34 FF1520424000 CALL `MSVCRT!_mbscmp` 关键部分,比较注册码就在这里面
0167:00402E3A 83C408 ADD ESP,BYTE +08
0167:00402E3D 85C0 TEST EAX,EAX
0167:00402E3F 757E JNZ 00402EBF
0167:00402E41 83C9FF OR ECX,BYTE -01
0167:00402E44 683C684000 PUSH DWORD 0040683C
0167:00402E49 F2AE REPNE SCASB
0167:00402E4B F7D1 NOT ECX
0167:00402E4D 2BF9 SUB EDI,ECX
0167:00402E4F 53 PUSH EBX
将光标移到这行,按F9下断点,F5返回程序,输入注册码,再次点注册,被断下,用F8单步
跟踪进入CALL MSVCRT!_mbscmp,按N次F8,单步跟踪到JNZ 7800E85C
用A CS:EIP 输入NOP,NOP,
以下是第一个CALL MSVCRT!_mbscmp的内容
0167:7800E83B 55 PUSH EBP
0167:7800E83C 8BEC MOV EBP,ESP
0167:7800E83E 833DD479037800 CMP DWORD [780379D4],BYTE +00
0167:7800E845 53 PUSH EBX
0167:7800E846 56 PUSH ESI
0167:7800E847 57 PUSH EDI
0167:7800E848 90 JNZ 7800E85C 关键哦,改成NOP,NOP
0167:7800E84A FF750C PUSH DWORD [EBP+0C]
0167:7800E84D FF7508 PUSH DWORD [EBP+08]
0167:7800E850 E8224AFFFF CALL `MSVCRT!strcmp`
0167:7800E855 59 POP ECX
0167:7800E856 59 POP ECX
0167:7800E857 5F POP EDI
0167:7800E858 5E POP ESI
0167:7800E859 5B POP EBX
0167:7800E85A 5D POP EBP
再次按F8进入另一个CALL MSVCRT!_mbscmp,单步跟踪N次看到CMP AL,[ECX],这时我们
用D ECX,就可以看到万能注册码:
以下是第二个CALL MSVCRT!_mbscmp的内容
0167:78003277 8B542404 MOV EDX,[ESP+04]
0167:7800327B 8B4C2408 MOV ECX,[ESP+08]
0167:7800327F F7C203000000 TEST EDX,03
0167:78003285 0F855DD40000 JNZ NEAR 780106E8
0167:7800328B 8B02 MOV EAX,[EDX]
0167:7800328D 3A01 CMP AL,[ECX] 看ECX寄存器D ECX
0167:7800328F 7530 JNZ 780032C1 注册码为:prch@8848.net
0167:78003291 0AC0 OR AL,AL
0167:78003293 7429 JZ 780032BE
0167:78003295 3A6101 CMP AH,[ECX+01]
0167:78003298 7527 JNZ 780032C1
0167:7800329A 0AE4 OR AH,AH
0167:7800329C 7420 JZ 780032BE
0167:7800329E C1E810 SHR EAX,10
0167:780032A1 3A4102 CMP AL,[ECX+02]
0167:780032A4 751B JNZ 780032C1
0167:780032A6 0AC0 OR AL,AL
0167:780032A8 7414 JZ 780032BE
0167:780032AA 3A6103 CMP AH,[ECX+03]
0167:780032AD 7512 JNZ 780032C1
0167:780032AF 83C104 ADD ECX,BYTE +04
0167:780032B2 83C204 ADD EDX,BYTE +04
0167:780032B5 0AE4 OR AH,AH
0167:780032B7 75D2 JNZ 7800328B
0167:780032B9 E923D40000 JMP 780106E1
0167:780032BE 33C0 XOR EAX,EAX
0167:780032C0 C3 RET
0167:780032C1 1BC0 SBB EAX,EAX
0167:780032C3 D1E0 SHL EAX,1
0167:780032C5 40 INC EAX
至此,破解过程完成,为时15分钟,轻松搞定。
