四川超级信使的破解历程
很多朋友说没有做注册机,很遗憾。我今天补上
再次申请邀请码
为了申请邀请码,我在电脑上找了一个以前练手的一个软件四川超级信使V1.5再次破解之。
第一步:PEID查壳
这个壳很简单的,用ESP定律即可搞定。
第二步:准备脱壳,OD载入,F8之后,查看ESP 为
数据窗口跟随,硬件访问断点(字)。F9运行。我们来到
004D83B0 /75 08 JNZ SHORT SuperSMS.004D83BA(已实现)
004D83B2 |B8 01000000 MOV EAX,1
004D83B7 |C2 0C00 RETN 0C
004D83BA \68 A0DD4900 PUSH SuperSMS.0049DDA0
004D83BF C3 RETN
删除硬件访问断点F8步过RETN之后我们就来到了OEP, 用OD脱壳调试进程,并记下OEP:9DDA0,等下修复用。
脱壳后的程序9DDA0.exe发现打开时提示错误,准备修复,打开LordPE,选中程序纠正ImageSize后,选择完全脱壳得到dumped.exe。打开ImportREC.exe选中信使的进程,在OEP自己输入记下的OEP:9DDA0,自动查找IAT,然后修复转储存文件选择dumped.exe。我们得到dumped_.exe,即是最终脱壳文件。能正常运行,我们查壳
第三步,开始破解,运行dumped_.exe,在注册的地方输入假码gchacker,定确定,出现
INI重启验证,在信使所在文件夹下我们找到了config.ini,打开文件看到:
[RegInfo]
PcCode=c7cbed7ba08b389e6146
RegCode=gchacker
Locked=200000002B39560523DC952AD605919674AA6ED8C0F976509226C8BF73B9586D74DACCC5
正是刚刚输入的假码,用OD载入dumped_.exe,因为程序是Borland Delphi 6.0 - 7.0 编写的,所以我们查看查找ASCII,我们观察可以找到注册信息
INI重启验证就是读取config.ini里的RegCode来判断你是否注册,所以我们先从此入手,点[试用版],我们看到:
很明显,如果注册正成的话,就从那个关键跳跳到00499A3C处,没注册的话就不跳转,我们跟踪找到那个关键跳004998EC |. /0F85 4A010000 JNZ dumped_.00499A3C,果断将JNZ改为JZ,然后复制到可执行文件,保存为crack1.exe。运行crack1.exe
爆破成功?实际并没有,我打点开网站时
也就是说,点打开网站的时候,软件也读取了INI文件进行验证。
我们继续在OD里查找到ASCII
我们随意点击一个软件注册进去。发现
0049A99C |. E8 C3E8FFFF CALL <JMP.&dllsupersms.Syspro_nuber_dllS>
0049A9A1 |. 84C0 TEST AL,AL
0049A9A3 |. 75 2A JNZ SHORT dumped_.0049A9CF
0049A9A5 |. 6A 30 PUSH 30
0049A9A7 |. B9 68AA4900 MOV ECX,dumped_.0049AA68 ; 软件注册
0049A9AC |. BA 74AA4900 MOV EDX,dumped_.0049AA74 ; 软件未注册,不能使用本功能!!
0049A9B1 |. A1 AC054A00 MOV EAX,DWORD PTR DS:[4A05AC]
0049A9B6 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
0049A9B8 |. E8 9321FDFF CALL dumped_.0046CB50
0049A9BD |. BA 01000000 MOV EDX,1
0049A9C2 |. 8B86 F8020000 MOV EAX,DWORD PTR DS:[ESI+2F8]
0049A9C8 |. E8 D7EAF9FF CALL dumped_.004394A4
0049A9CD |. EB 74 JMP SHORT dumped_.0049AA43
0049A9CF |> 8B86 64030000 MOV EAX,DWORD PTR DS:[ESI+364]
0049A9D5 |. 8B10 MOV EDX,DWORD PTR DS:[EAX]
0049A9D7 |. FF52 3C CALL DWORD PTR DS:[EDX+3C]
而且发现,其它处软件注册提示也和这是同一类型,我们分析代码。
0049A99C |. E8 C3E8FFFF CALL <JMP.&dllsupersms.Syspro_nuber_dllS>
此处这个CALL为读取INI文件进验证,然后关键跳JNZ SHORT dumped_.0049A9CF,同样将JNZ改为JZ。其它几处的软件注册提示也如出一。我自己也是一处一处的改的。总共十几处,改好之后保存存为crack2.exe。运行crack2.exe发现所有功能都正式常使用,如此,此软件爆破成功。
教程完了?不可能。竟然我们找到了读取INI文件进验证的CALL,我们何不顺藤摸瓜,找到注册码呢,那就开始吧。OD载入脱壳文件dumped_.exe
我们来到这里
因为软件运行之后就得判断它是试用版还是正试版,所以此处肯定是第一次验证,代码跟随。找到那个关键跳
004998E0 |. E8 F795FEFF CALL dumped_.00482EDC
004998E5 |. E8 7AF9FFFF CALL <JMP.&dllsupersms.Syspro_nuber_dllS>
004998EA |. 84C0 TEST AL,AL
004998EC |. 0F85 4A010000 JNZ dumped_.00499A3C
CALL <JMP.&dllsupersms.Syspro_nuber_dllS>《====这个是不是很熟,没错,就是我所说的读取INI文件进行验证的CALL,我们要顺藤摸瓜,在此下断点.。F9运行,来到断点处,按一下F7步入之后,我们就一路F8,并且观察右下的窗口。果然,我们发现了有用的信息。
c7cbed7ba08b389e6146,这个正是我们信使中所显示的机器码
20000000E8E1EF8F044429CDB251D4B1C6D0917EB6EC53BB80562BC1CB1074BDE3BC073C和
f699c1073e04f6ef9d5b3ad23feedb17这两个其中的一个就是我们的机器码了。
运行dumped_.exe。测试发现
20000000E8E1EF8F044429CDB251D4B1C6D0917EB6EC53BB80562BC1CB1074BDE3BC073C这个才是我们所要的注册码
到此,我们的破解才真正的结束了。
我们已经追到码了,做注册机就很方便了,大家看我操作。首先OD载入脱壳的文件dumped_.exe,找到我所说的第一次验证的那个 CALL <JMP.&dllsupersms.Syspro_nuber_dllS>(我上面说过的)。F2给他下断。F9运行到断点后F7步入,我们F8一路步过。仔细观察右边寄存器窗口,于是我们发现:
我们运行到3E68BF处时发现在EDX中出现了正码的注册码。
现在,我们就果断的打开keymake.exe软件,来做一个内存注册机。
如图配置就OK了,很简单,我也不解释了,大家应该都能看明白
注册机做好了。。我们保存运行。
再次申请邀请码
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课