软件名称:SPEAKMAN(中英文语音朗读专家)
下载地址:http://www.iezhushou.com/
使用工具:OD,PEID
破解目的:看是否能为小孩学习英语提供帮助,结果是不能。。。
本人仅仅属于破解爱好者,学习时间很长,看雪早已熟悉,但真正的破解却不会,近一年来时间比较充分,才开始学破试破,也有很成功的时候,在站里注册的时间不长,才发现在新手区可以发帖,在此试发一帖,高手可以路过。。。
用PEID查壳无壳。
运行,标题显示“未购买用户”,看到不爽。。。还有功能限制。。。
随便输入注册,提示重启,很明显是重启验证(启动时进行注册表注册码验证,也可能是文件注册码验证,也有可能是其他)。
OD载入,超级字符串查找“未购买用户”如表:
004CD885 mov edx, 004CD9DC (initial cpu selection)
004CD885 mov edx, 004CD9DC software\speakman
004CD894 mov edx, 004CD9F8 reguser
004CD8B0 mov edx, 004CDA08 regno
004CD8C3 mov edx, 004CDA18 speakmanchina
004CD904 mov edx, 004CDA30 - 未购买用户规定 ;关键字符串
004CD977 mov edx, 004CDA48 当前时间是:
004CDC06 mov ecx, 004CECF4 。
上面还有两个是“reguser”,“regno”是乎是注册用户,未注册用户,可能是作为标志,跟随在入口下断
004CD844 /. 55 push ebp ; 入口F2下断处
004CD845 |. 8BEC mov ebp, esp ;F8单步向下
004CD847 |. 33C9 xor ecx, ecx
004CD849 |. 51 push ecx
004CD84A |. 51 push ecx
004CD84B |. 51 push ecx
004CD84C |. 51 push ecx
004CD84D |. 51 push ecx
004CD84E |. 51 push ecx
004CD84F |. 51 push ecx
004CD850 |. 53 push ebx
004CD851 |. 56 push esi
004CD852 |. 8BF0 mov esi, eax
004CD854 |. 33C0 xor eax, eax
004CD856 |. 55 push ebp
004CD857 |. 68 C4D94C00 push 004CD9C4
004CD85C |. 64:FF30 push dword ptr fs:[eax]
004CD85F |. 64:8920 mov dword ptr fs:[eax], esp
004CD862 |. C605 58614D00>mov byte ptr [4D6158], 0
004CD869 |. B2 01 mov dl, 1
004CD86B |. A1 640A4700 mov eax, dword ptr [470A64]
004CD870 |. E8 EF32FAFF call 00470B64
004CD875 |. 8BD8 mov ebx, eax
004CD877 |. BA 01000080 mov edx, 80000001
004CD87C |. 8BC3 mov eax, ebx
004CD87E |. E8 8133FAFF call 00470C04
004CD883 |. B1 01 mov cl, 1
004CD885 |. BA DCD94C00 mov edx, 004CD9DC ; software\speakman
004CD88A |. 8BC3 mov eax, ebx
004CD88C |. E8 D733FAFF call 00470C68
004CD891 |. 8D4D FC lea ecx, dword ptr [ebp-4]
004CD894 |. BA F8D94C00 mov edx, 004CD9F8 ; reguser
004CD899 |. 8BC3 mov eax, ebx
004CD89B |. E8 9035FAFF call 00470E30
004CD8A0 |. 8B55 FC mov edx, dword ptr [ebp-4]
004CD8A3 |. B8 5C614D00 mov eax, 004D615C
004CD8A8 |. E8 336BF3FF call 004043E0
004CD8AD |. 8D4D F8 lea ecx, dword ptr [ebp-8]
004CD8B0 |. BA 08DA4C00 mov edx, 004CDA08 ; regno
004CD8B5 |. 8BC3 mov eax, ebx
004CD8B7 |. E8 7435FAFF call 00470E30
004CD8BC |. 8B45 F8 mov eax, dword ptr [ebp-8]
004CD8BF |. 50 push eax
004CD8C0 |. 8D4D F4 lea ecx, dword ptr [ebp-C]
004CD8C3 |. BA 18DA4C00 mov edx, 004CDA18 ; speakmanchina
004CD8C8 |. A1 5C614D00 mov eax, dword ptr [4D615C]
004CD8CD |. E8 EEEDFCFF call 0049C6C0 ;关键CALL , F7跟入,发现是注册码的算法部分,本人功底不够~
004CD8D2 |. 8B55 F4 mov edx, dword ptr [ebp-C] ;单步发现真注册码2CEC5ED5213CBF1D
004CD8D5 |. 58 pop eax
004CD8D6 |. E8 AD6EF3FF call 00404788
004CD8DB 75 07 jnz short 004CD8E4
004CD8DD |. C605 58614D00>mov byte ptr [4D6158], 1
004CD8E4 |> 8BC3 mov eax, ebx
004CD8E6 |. E8 155DF3FF call 00403600
004CD8EB |. 803D 58614D00>cmp byte ptr [4D6158], 0
004CD8F2 |. 75 27 jnz short 004CD91B ;爆破点,改为Jz跳过就注册了嘿嘿
004CD8F4 |. 8D55 F0 lea edx, dword ptr [ebp-10]
004CD8F7 |. A1 54614D00 mov eax, dword ptr [4D6154]
004CD8FC |. E8 0F92F7FF call 00446B10
004CD901 |. 8D45 F0 lea eax, dword ptr [ebp-10]
004CD904 |. BA 30DA4C00 mov edx, 004CDA30 ; - 未购买用户
004CD909 |. E8 3E6DF3FF call 0040464C
总结 学习最简单关键字符串,关键爆破点,关键注册流程的查找与更改
哪位老大把他的算法部分做一下详解,对新手学习那就更有意义了。。。本人功底不够
写这篇非常简单的破文,是向看雪的各位老大汇报本人学习情况,也是写给和我一样爱破解的爱好者,如果能给你们起到帮助那就最好了。。。
[课程]FART 脱壳王!加量不加价!FART作者讲授!