记忆力训练软件V8.5带壳破解算法分析
本帖最后由 lchhome 于 2017-5-8 15:43 编辑【破文作者】lchhome
【作者邮箱】lchhome@163.com
【作者主页】http://lchhome.blog.163.com/
【破解工具】ExeinfoPe、OD
【破解平台】Win7
【软件名称】记忆力训练软件V8.5
【保护方式】EncryptPEV2.2008.6.18
【破解声明】仅供学习
一、查壳
二、我们直接带壳破解,用OD载入软件,停在下面
三、先F9运行软件,出现注册框,
我用F12暂停法来破,先点“注册”键,
然后返回OD界面,按F12键暂停,再点ALT+K
双击后,
按F2下断中断后,一路F8往下,直到:
然后往上找到:
在005369E5句下F2断点,然后F7跟进:
然后F8往下走:
00536CD9 B8 43C34000 mov eax,记忆力训.0040C343
00536CDE 50 push eax
00536CDF 68 04000080 push 0x80000004
00536CE4 6A 00 push 0x0
00536CE6 A1 E8202101 mov eax,dword ptr ds: 把注册码放入C:\WINDOWS\system32\Lendsoft.txt
00536CEB 85C0 test eax,eax
00536CED 75 05 jnz short 记忆力训.00536CF4
00536CEF B8 43C34000 mov eax,记忆力训.0040C343
00536CF4 50 push eax
00536CF5 68 04000000 push 0x4
00536CFA BB C8080000 mov ebx,0x8C8
00536CFF E8 D9950200 call 记忆力训.005602DD
00536D04 83C4 34 add esp,0x34
00536D07 8945 FC mov dword ptr ss:,eax 把假码放入
00536D0A FF35 F0202101 push dword ptr ds:
00536D10 8D45 FC lea eax,dword ptr ss:
00536D13 50 push eax
00536D14 E8 F3010000 call 记忆力训.00536F0C 关键算法CALL,
F7跟进如下:
00536F0C 55 push ebp
00536F0D 8BEC mov ebp,esp
00536F0F 81EC 70000000 sub esp,0x70
00536F15 C745 FC 0000000>mov dword ptrss:,0x0
00536F1C C745 F8 0000000>mov dword ptrss:,0x0
F8往下走:00536F7E C745 C0 0000000>mov dword ptrss:,0x0
00536F85 E8 08FCFFFF call 记忆力训.00536B92
00536F8A 8945 BC mov dword ptr ss:,eax 放入机器码:19277340858
00536F8D 8B45 BC mov eax,dword ptr ss:
00536F90 50 push eax
00536F91 8B5D FC mov ebx,dword ptr ss:
继续F8
00536FC5 BB 64010000 mov ebx,0x164
00536FCA E8 0E930200 call 记忆力训.005602DD
00536FCF 83C4 10 add esp,0x10
00536FD2 8945 B8 mov dword ptr ss:,eax
00536FD5 8955 BC mov dword ptr ss:,edx
00536FD8 DD45 B8 fld qword ptr ss: 放入机器码
00536FDB DC35 2DC44000 fdiv qword ptr ds: 除以9
00536FE1 DD5D B0 fstp qword ptr ss:st=2141926762
往下:005370A8 E8 24920200 call 记忆力训.005602D1
005370AD 83C4 04 add esp,0x4
005370B0 DD45 B0 fld qword ptr ss:
005370B3 E8 2DFEFFFF call 记忆力训.00536EE5
005370B8 8945 F0 mov dword ptr ss:,eax
005370BB 6A 01 push 0x1
005370BD FF75 F0 push dword ptr ss:
005370C0 E8 E7120000 call 记忆力训.005383AC
005370C5 8945 B4 mov dword ptr ss:,eax
005370C8 DB45 B4 fild dword ptr ss:————————
005370CB DD5D B4 fstp qword ptr ss: 一系列浮点运算
005370CE DD45 B4 fld qword ptr ss:
005370D1 DB45 F0 fild dword ptr ss:
005370D4 DD5D AC fstp qword ptr ss:
005370D7 DC4D AC fmul qword ptr ss:
005370DA DB45 0C fild dword ptr ss:
005370DD DD5D A4 fstp qword ptr ss:
005370E0 DC4D A4 fmul qword ptr ss:
005370E3 DD5D 9C fstp qword ptr ss:——————————
005370E6 68 01060080 push 0x80000601
005370EB FF75 A0 push dword ptr ss:
005370EE FF75 9C push dword ptr ss:
005370F1 68 01000000 push 0x1
005370F6 BB 68010000 mov ebx,0x168
005370FB E8 DD910200 call 记忆力训.005602DD
00537100 83C4 10 add esp,0x10
00537103 8945 98 mov dword ptr ss:,eax
00537106 FF75 98 push dword ptr ss:
00537109 68 47C44000 push 记忆力训.0040C447 ; ASCII "98" 放入固定字符98
0053710E B9 02000000 mov ecx,0x2
00537113 E8 13F3FFFF call 记忆力训.0053642B
00537118 83C4 08 add esp,0x8
第一段比较
005371C0 8B5D 08 mov ebx,dword ptr ss: 假码
005371C3 8B03 mov eax,dword ptr ds: 字符“981”真码前三位
005371C5 85C0 test eax,eax 比较
005371C7 75 05 jnz short 记忆力训.005371CE
005371C9 B8 43C34000 moveax,记忆力训.0040C343
第二段比较
00537344 8B5D 08 mov ebx,dword ptr ss:
00537347 8B03 mov eax,dword ptr ds: 字符“672”真码的13至15位
00537349 85C0 test eax,eax
0053734B 75 05 jnz short 记忆力训.00537352
第三段比较
005374BC 8B5D 08 mov ebx,dword ptr ss:
005374BF 8B03 mov eax,dword ptr ds: 字符“1520”
005374C1 85C0 test eax,eax
005374C3 75 05 jnz short 记忆力训.005374CA
第四段比较
005375AE 8945 B4 mov dword ptr ss:,eax
005375B1 DB45 B4 fild dword ptr ss: 取机器码/9的第四位“1”
005375B4 DD5D B4 fstp qword ptr ss:
005375B7 DD45 B4 fld qword ptr ss: 装入“3”
005375BA DB45 F0 fild dword ptr ss:
005375BD DD5D AC fstp qword ptr ss:
005375C0 DC4D AC fmul qword ptr ss: 1*3=3
005375C3 DD5D A4 fstp qword ptr ss:
第五段比较
005377A3 8B5D 08 mov ebx,dword ptr ss:
005377A6 8B03 mov eax,dword ptr ds: 字符“1710”
005377A8 85C0 test eax,eax
005377AA 75 05 jnz short 记忆力训.005377B1
第六段比较
0053791B 8B5D 08 mov ebx,dword ptr ss:
0053791E 8B03 mov eax,dword ptr ds:字符“950”
00537920 85C0 test eax,eax
00537922 75 05 jnz short 记忆力训.00537929
第七段比较
00537B04 8B5D 08 mov ebx,dword ptr ss:
00537B07 8B03 mov eax,dword ptr ds: 字符“5320”真码的最后四位
00537B09 85C0 test eax,eax
00537B0B 75 05 jnz short 记忆力训.00537B12
第八段比较
00537C73 8B5D 08 mov ebx,dword ptr ss:
00537C76 8B03 mov eax,dword ptr ds: 字符“36”
00537C78 85C0 test eax,eax
00537C7A 75 05 jnz short 记忆力训.00537C81
第九段00537E71 8B5D 08 mov ebx,dword ptr ss: ;
00537E74 8B03 mov eax,dword ptr ds: 字符“1710”
00537E76 85C0 test eax,eax
00537E78 75 05 jnz short 记忆力训.00537E7F
算完后,F8往下走到:
00537F71 8B03 mov eax,dword ptr ds: 真码的第四位到十二位(“152031710”)
再往下走
00537FF5 8B03 mov eax,dword ptr ds: 真码的十六位到21位(“361710”)
再往下走
00538048 8945 BC mov dword ptrss:,eax真码的22位到25位(“9507”)
总结一下:
我的机器码:19277340858
注册码:98115203171067236171095075320 感谢楼主分享,请问楼主哪里学习的这些破解思路呢?{:1_893:}原来都不知道有F12这个破解方法,之前破解一个软件的弹窗,始终没什么思路。 这是什么呀?
学习了 感谢分享 大神,太厉害了,我们看不懂啊。 我一直想着哪天也会这些,崇拜大神 训练脑力的软件? 受教了 谢谢 大神,太厉害了,我们看不懂啊。 感谢分享 厉害了,表示看不懂。