新手破解电脑维修助手v8.01 中等难度
【破文标题】新手破解电脑维修助手v8.01 中等难度【破文作者】天颖
【作者邮箱】[email protected]
【作者主页】
【破解工具】PEiD,OD,LordPE,taskmgr查看目录版,WinHex,DeDe,PE Explore
【破解平台】Windos XP sp2
【软件名称】电脑维修助手v8.01
【软件大小】
【原版下载】http://shareware.skycn.com/soft/5329.htm
【保护方式】UPX 0.89.6 - 1.02 / 1.05 - 1.24 (Delphi) stub -> Markus & Laszlo
【软件简介】电脑维修助手其功能要点如下:
随着电脑的普及,电脑维修人员日益缺乏,为此特把《电脑维修助手》献给大家。它图文并茂,覆盖面广,实用性强,即可作为初学维修人员的自学入门教材,也可作为维修人员的提高教材。当然也是每个电脑使用者了解电脑知识,维护电脑正常运行不可或缺的教材软件。本套软件有详尽的文字教程,并配有形象生动的图解。它从实际出发,深入细致,通俗易懂地讲述了各种板卡的工作原理,制作技术和维修方法,更加详细到每一个电子元器件的作用和故障诊断,并附有宝贵的维修经验。告诉你每个部件的易损件,故障检测点等。使你很快在现有水平上有一个突飞的发展。
【破解声明】首先对作者道歉!用了他的软件来让自己和学员们练手!希望大家不要去做些对别人的自主产权有害的事!
------------------------------------------------------------------------
【破解过程】我们还是按照老步骤来做!
1.查壳 PEiD:UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
用ESP定律脱之我这里不详解
声明一点 软件作者很狡猾 把真程序放到了 C:\WINDOWS\system32\pcwxzs\dnwxzs.com 里你安装目录盘里的只是假程序这里我用taskmgr查看目录版才找出来的
打开C:\WINDOWS\system32\pcwxzs\dnwxzs.com把dnwxzs.com 改后缀dnwxzs.exe
继续查壳 UPX 0.89.6 - 1.02 / 1.05 - 1.24 (Delphi) stub -> Markus & Laszlo 普通壳 要附加数据处理
ESP定律脱壳后 大家别急 处理一下附加数据LordPE载入源程序 查看源程序区段 看最下一个 .rsrc 把R.偏移和R.大小 的数值 用16进制 相加 我这里是 00045E00 + 00002600 =48400(有人问为什么)不懂就去看下教程
再用WinHex 打开源程序 位置-》转到偏移量把我们的48400打上去点OK把00 00 后有数值的往下全部复制
再WinHex打开脱壳后的程序 拉到最下 把刚复制的数据 全部粘贴保存!
好了完成上面的工作 就可以运行脱壳后的程序了
Borland Delphi 6.0 - 7.0
输入注册码看有没有提示(你输入的信息....不正确....)
用OD载入 查看 可是找不到提示没办法 只有用DEDE了!
这里我已经找到按扭事件了 0049880C 我不详说了!要不12点都写不完大家原谅 不懂的可以去网上看下教程
用OD载入CTRL+G输入表达式 0049880C
0049880C 55 push ebp ; 下断
0049880D 8BEC mov ebp,esp
0049880F 6A 00 push 0
00498811 6A 00 push 0
00498813 53 push ebx
00498814 8BD8 mov ebx,eax
00498816 33C0 xor eax,eax
00498818 55 push ebp
00498819 68 B2884900 push Unpack_1.004988B2
0049881E 64:FF30 push dword ptr fs:
00498821 64:8920 mov dword ptr fs:,esp
00498824 8BC3 mov eax,ebx
00498826 8B10 mov edx,dword ptr ds:
00498828 FF92 04010000 call dword ptr ds: ; 关键CALL要进入
0049882E 8B15 ACFF4900 mov edx,dword ptr ds: ; Unpack_1.004A1D60
00498834 8802 mov byte ptr ds:,al
00498836 A1 ACFF4900 mov eax,dword ptr ds:
0049883B 8038 00 cmp byte ptr ds:,0
0049883E 75 19 jnz short Unpack_1.00498859 ; 关键跳追码F7跟进
00498840 6A 00 push 0
00498842 A1 00044A00 mov eax,dword ptr ds:
00498847 8B00 mov eax,dword ptr ds:
00498849 66:8B0D C088490>mov cx,word ptr ds:
00498850 B2 01 mov dl,1
00498852 E8 EDA4F9FF call Unpack_1.00432D44 ; 注册失败
00498857 EB 3E jmp short Unpack_1.00498897
00498859 8D55 FC lea edx,dword ptr ss:
0049885C 8BC3 mov eax,ebx
0049885E 8B08 mov ecx,dword ptr ds:
00498860 FF91 F8000000 call dword ptr ds:
00498866 8B55 FC mov edx,dword ptr ss:
00498869 A1 D4004A00 mov eax,dword ptr ds:
0049886E E8 59B9F6FF call Unpack_1.004041CC
00498873 8D55 F8 lea edx,dword ptr ss:
00498876 8BC3 mov eax,ebx
00498878 8B08 mov ecx,dword ptr ds:
0049887A FF91 F4000000 call dword ptr ds:
00498880 8B55 F8 mov edx,dword ptr ss:
00498883 A1 1C034A00 mov eax,dword ptr ds:
00498888 E8 3FB9F6FF call Unpack_1.004041CC
0049888D C783 4C020000 0>mov dword ptr ds:,1
00498897 33C0 xor eax,eax
00498899 5A pop edx
0049889A 59 pop ecx
0049889B 59 pop ecx
0049889C 64:8910 mov dword ptr fs:,edx
0049889F 68 B9884900 push Unpack_1.004988B9
004988A4 8D45 F8 lea eax,dword ptr ss:
004988A7 BA 02000000 mov edx,2
004988AC E8 EBB8F6FF call Unpack_1.0040419C
004988B1 C3 retn
可以直接爆破 但每次运行都要写一次码麻烦我们继续追码
00498757 6A 00 push 0
00498759 6A 00 push 0
0049875B 53 push ebx
0049875C 8BD8 mov ebx,eax
0049875E 33C0 xor eax,eax
00498760 55 push ebp
00498761 68 B6874900 push Unpack_1.004987B6
00498766 64:FF30 push dword ptr fs:
00498769 64:8920 mov dword ptr fs:,esp
0049876C 8D55 FC lea edx,dword ptr ss:
0049876F 8BC3 mov eax,ebx
00498771 8B08 mov ecx,dword ptr ds:
00498773 FF91 F4000000 call dword ptr ds: ; 读取注册码
00498779 8B45 FC mov eax,dword ptr ss:
0049877C 50 push eax
0049877D 8D55 F8 lea edx,dword ptr ss:
00498780 8BC3 mov eax,ebx
00498782 8B08 mov ecx,dword ptr ds:
00498784 FF91 F8000000 call dword ptr ds: ; 读取 机器码
0049878A 8B45 F8 mov eax,dword ptr ss:
0049878D 8B8B 20030000 mov ecx,dword ptr ds: ;(ASCII "bai5076hu740115jb")我原来以为是真码但不是
00498793 5A pop edx
00498794 E8 B7ECFFFF call Unpack_1.00497450 ; F7进去
00498799 8BD8 mov ebx,eax
0049879B 33C0 xor eax,eax
0049879D 5A pop edx
0049879E 59 pop ecx
0049879F 59 pop ecx
004987A0 64:8910 mov dword ptr fs:,edx
004987A3 68 BD874900 push Unpack_1.004987BD
004987A8 8D45 F8 lea eax,dword ptr ss:
004987AB BA 02000000 mov edx,2
004987B0 E8 E7B9F6FF call Unpack_1.0040419C
004987B5 C3 retn
原来还以为ASCII "bai5076hu740115jb 是注册码 可是不是 我也不知道是什么我们继续进去看
00497450 55 push ebp
00497451 8BEC mov ebp,esp
00497453 81C4 FCFEFFFF add esp,-104
00497459 53 push ebx
0049745A 56 push esi
0049745B 57 push edi
0049745C 33DB xor ebx,ebx
0049745E 895D FC mov dword ptr ss:,ebx
00497461 8BF9 mov edi,ecx
00497463 8BF2 mov esi,edx ; bai5076hu740115jb
00497465 8BD8 mov ebx,eax ; 机器码
00497467 33C0 xor eax,eax
00497469 55 push ebp
0049746A 68 B7744900 push Unpack_1.004974B7
0049746F 64:FF30 push dword ptr fs:
00497472 64:8920 mov dword ptr fs:,esp
00497475 8D8D FCFEFFFF lea ecx,dword ptr ss:
0049747B 8BD7 mov edx,edi
0049747D 8BC3 mov eax,ebx
0049747F E8 64FEFFFF call Unpack_1.004972E8 ; 算法CALL 研究算法可进
00497484 8D95 FCFEFFFF lea edx,dword ptr ss: ;真码出现ASCII 0C,"RO6vMRjdMcYm"
0049748A 8D45 FC lea eax,dword ptr ss:
0049748D E8 4ACFF6FF call Unpack_1.004043DC
00497492 8B45 FC mov eax,dword ptr ss:
00497495 8BD6 mov edx,esi
00497497 E8 E8D0F6FF call Unpack_1.00404584
0049749C 0F94C0 sete al
0049749F 8BD8 mov ebx,eax
004974A1 33C0 xor eax,eax
004974A3 5A pop edx
004974A4 59 pop ecx
004974A5 59 pop ecx
004974A6 64:8910 mov dword ptr fs:,edx
004974A9 68 BE744900 push Unpack_1.004974BE
004974AE 8D45 FC lea eax,dword ptr ss:
004974B1 E8 C2CCF6FF call Unpack_1.00404178
004974B6 C3 retn
我们注册看 RO6vMRjdMcYm成功 哈是明码比较的 比较简单
------------------------------------------------------------------------
【破解总结】这段时间下的软件老是碰壁 今天刚破了一个 就写下来与大家分享!
谢谢 PYG 给了这个很好的平台让我们学习!再祝PYG越办越好!
------------------------------------------------------------------------ 学习了 谢谢楼主分享
做个沙发 咿呀咿呀哟…… "什么事都求个明白 可是大侠们写的什么都不明白!呵"""
这话说的/:017 /:017 好厉害啊,谢谢楼主了!! 楼主高手高手高高手啊,谢谢了 感谢!!!!!!!!!!!!!!学习了。 学习了...谢谢............. 嗯,不错,它指定的文件用ESP脱了后,用unicode查看能看到它的真实地址!佩服楼主! 学习了。。
呵呵。。
感谢楼主 处理附加数据
ESP定律脱壳后 处理一下附加数据LordPE载入源程序 查看源程序区段 看最下一个 .rsrc 把R.偏移和R.大小 的数值 用16进制 相加 我这里是 00045E00 + 00002600 =48400(有人问为什么)不懂就去看下教程
再用WinHex 打开源程序位置-》转到偏移量把我们的48400打上去点OK把00 00 后有数值的往下全部复制……
这种处理Overlay的方法不错 定位的方法很好 当然想省事的话最简单的方法还是用工具Overlay这个工具直接处理或者直接带壳调试 不脱壳的话 下断上使用API或万能断点试下