吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 12884|回复: 24
收起左侧

经典破解教学(破解实战之动态分析技术)!

  [复制链接]
fulongzai 发表于 2008-6-5 19:34
经典破解教学(破解实战之动态分析技术)!
说明

  虽然本章是动态分析,但在实际破解时是采用动静结合的方式分析的——即先用静态分析工具W32DASM(当然也可以是别的)找到关键代码,然后再用动态工具如:TRW2000、OD等找出注册码,甚至写出注册机。 特此说明,以免初学者迷惑!

BY——飘云[DFCG][CZG]

破解教学第十二课

【破文标题】半仙算命 V2004 10.05破解分析
【破文作者】飘云[DFCG][CZG]
【破解平台】win98th
【作者邮箱】piaoyun04@163.com
【软件名称】半仙算命 V2004 Bulid 10.05
【软件大小】1.04MB
【下载地址】http://www.skycn.com/soft/7818.html
【破解工具】PEiD0.92、W32Dasm10.0汉化版、TRW2000、keymake1.73
【保护方式】序列号
【软件限制】部分功能限制
【破解目的】学习破解。
【破解声明】我乃小菜鸟一只,偶得一点心得,愿与大家分享:)
【软件介绍】软件功能全面、实用、强大。一个软件集成了多种测算选项,测算内容、测算项目极其丰富,包括姓名吉凶测算、命运推算、科学起名向导、生男生女查询以及万年历、农历查询等。
软件功能强大,使用简单、绿色、环保,只要你正确选择好出生的日期,即可自动转换为农历、属相、星座等然后软件将依此进行命运推算、姓名推算等等。
软件运算参考数十种古代命理、算命、运程、吉凶书籍,有根有据。
软件绿色、环保、小巧、功能强大、可完全卸载,放心使用。
【破解分析】首先用PEiD0.92查壳,得知此软件为Borland Delphi编写,无壳!打开W32DASM载入程序,在“串是式数据参考”找到“经典语句!”
* Possible StringData Ref from Code Obj ->"注册码错误,请重新输入!"
==============================================
:004F2764 B970284F00 mov ecx, 004F2870
:004F2769 E88624F1FF call 00404BF4
:004F276E 8B45D0 mov eax, dword ptr [ebp-30]
:004F2771 BA02000000 mov edx, 00000002
:004F2776 E8816FF1FF call 004096FC
:004F277B EB17 jmp 004F2794

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004F26E9(C)=============程序从这里跳过来的,找到它!
|

* Possible StringData Ref from Code Obj ->"注册码错误,请重新输入!"=========》向上看!
|
:004F277D B8AC284F00 mov eax, 004F28AC
:004F2782 E8C962F4FF call 00438A50
:004F2787 33D2 xor edx, edx
:004F2789 8B8300030000 mov eax, dword ptr [ebx+00000300]
:004F278F E878CFF4FF call 0043F70C
=========================================================================================
:004F26D3 8D45F0 lea eax, dword ptr [ebp-10]
:004F26D6 BA03000000 mov edx, 00000003
:004F26DB E88825F1FF call 00404C68
:004F26E0 8B55F0 mov edx, dword ptr [ebp-10]
:004F26E3 58 pop eax 这几句是不是很面熟哪?~_~
:004F26E4 E80326F1FF call 00404CEC 在TRW中下:D EDX能看到正确注册码哦
:004F26E9 0F858E000000 jne 004F277D 就是从此跳过去的! (爆破则改为JE)
==========================================================================================
下面写注册机
2、注册机:
中断地址:4F26E4
中断次数:1
第一字节:E8
指令长度:5
内存方式-寄存器-edx
===========================================================================================
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

破解教学第十三课

【破文标题】超级电脑助手 V2004 build 08.15破解分析
【破文作者】飘云[DFCG][CZG]
【破解平台】win98th
【作者邮箱】piaoyun04@163.com
【软件名称】超级电脑助手 V2004 Bulid 0.85
【软件大小】1.04MB
【下载地址】http://laofuzi.3322.net/index.htm
【破解工具】PE-SCAN3.31中文版、W32Dasm10.0汉化版、TRW2000、keymake1.73
【保护方式】序列号
【软件限制】部分功能限制
【破解难度】简单,适合初学者。
【破解目的】学习破解。
【破解声明】我乃小菜鸟一只,偶得一点心得,愿与大家分享:)
【软件介绍】超级电脑助手”软件是一个小巧、实用的电脑辅助软件。
软件从多方面帮助你更好地运用你的电脑。软件启动后缩成图标并位于任务栏上,可以安全地增强你的电脑功能。软件使用简单,傻瓜式操作。
本软件主要提供下列功能:桌面时钟,闹钟提醒,网络计时,快捷输入,快捷启动,MP3播放,彩票号码随机选取,系统各类实用信息检测,个性化设置电脑桌面,即时更换桌布,清理垃圾,整理内存,优化IE浏览器,提取图标,抓取图像,万年历等等各种实用个性功能。内容丰富并对注册用户不断添加新的功能。
----------------------------------------------------------------------
【破解分析】首先用PE-SCAN查壳,爽!无壳!打开W32DASM载入程序,在“串是式数据参考”找到“友好提示!”
* Possible StringData Ref from Code Obj ->"谢谢注册,注册成功!"
|
:0055D8E8 B8C0D95500 mov eax, 0055D9C0
:0055D8ED E8926AEEFF call 00444384
:0055D8F2 EB17 jmp 0055D90B

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0055D851(C) ===============>程序从这里跳过来的,找到它(快捷方法:双击鼠标右键)
|

* Possible StringData Ref from Code Obj ->"注册码错误,请重新输入!"
|
:0055D8F4 B8E0D95500 mov eax, 0055D9E0
:0055D8F9 E8866AEEFF call 00444384
:0055D8FE 33D2 xor edx, edx
:0055D900 8B8344030000 mov eax, dword ptr [ebx+00000344]
:0055D906 E8F9D2EEFF call 0044AC04
======================================================================
我们来到下面:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0055D7C2(C)
|
:0055D7D3 8D55F0 lea edx, dword ptr [ebp-10]
:0055D7D6 8B8344030000 mov eax, dword ptr [ebx+00000344]
:0055D7DC E8F3D3EEFF call 0044ABD4
:0055D7E1 8B45F0 mov eax, dword ptr [ebp-10]
:0055D7E4 50 push eax
:0055D7E5 8D55E8 lea edx, dword ptr [ebp-18]
:0055D7E8 8B8348030000 mov eax, dword ptr [ebx+00000348]
:0055D7EE E8E1D3EEFF call 0044ABD4
:0055D7F3 8B45E8 mov eax, dword ptr [ebp-18]
:0055D7F6 E85DBEEAFF call 00409658
:0055D7FB B954DB0400 mov ecx, 0004DB54
:0055D800 99 cdq
:0055D801 F7F9 idiv ecx
:0055D803 8BC2 mov eax, edx
:0055D805 8D55EC lea edx, dword ptr [ebp-14]
:0055D808 E8A7BDEAFF call 004095B4
:0055D80D 8D45EC lea eax, dword ptr [ebp-14]
:0055D810 50 push eax
:0055D811 8D55DC lea edx, dword ptr [ebp-24]
:0055D814 8B8348030000 mov eax, dword ptr [ebx+00000348]
:0055D81A E8B5D3EEFF call 0044ABD4
:0055D81F 8B45DC mov eax, dword ptr [ebp-24]
:0055D822 E831BEEAFF call 00409658
:0055D827 8D55E0 lea edx, dword ptr [ebp-20]
:0055D82A E85DFBFFFF call 0055D38C
:0055D82F 8B45E0 mov eax, dword ptr [ebp-20]
:0055D832 E821BEEAFF call 00409658
:0055D837 8D55E4 lea edx, dword ptr [ebp-1C]
:0055D83A E82DFCFFFF call 0055D46C
:0055D83F 8B55E4 mov edx, dword ptr [ebp-1C]
:0055D842 58 pop eax
:0055D843 E8CC74EAFF call 00404D14
:0055D848 8B55EC mov edx, dword ptr [ebp-14]
:0055D84B 58 pop eax
:0055D84C E8FF75EAFF call 00404E50 ========>这里是关键CALL!进入!
:0055D851 0F859D000000 jne 0055D8F4 ========>这里跳则 GAME OVER! 爆破则改为 JE
:0055D857 B201 mov dl, 01
================================================================================================
进入关键CALL:E8FF75EAFF call 00404E50
------------------------------------------------------------------------------------------------
:00404E50 53 push ebx
:00404E51 56 push esi
:00404E52 57 push edi
:00404E53 89C6 mov esi, eax ========>假码送给EAX
:00404E55 89D7 mov edi, edx ========>真码送给EDX
:00404E57 39D0 cmp eax, edx //真假码对比
:00404E59 0F848F000000 je 00404EEE //相等则跳! ~_~ 绝对经典的比较哦!
:00404E5F 85F6 test esi, esi
:00404E61 7468 je 00404ECB
:00404E63 85FF test edi, edi
:00404E65 746B je 00404ED2
:00404E67 8B46FC mov eax, dword ptr [esi-04]
:00404E6A 8B57FC mov edx, dword ptr [edi-04]
:00404E6D 29D0 sub eax, edx
:00404E6F 7702 ja 00404E73
:00404E71 01C2 add edx, eax
================================================================================================
总结:
其实不用进入:0055D84C E8FF75EAFF call 00404E50 也能得到注册码(在TRW2000中设断后,D EDX即可看到真码),我把关键CALL帖出来是让大家看看里面的对比过程,毕竟对初学者有用嘛!
1、爆破法:将:0055D851 0F859D000000 jne 0055D8F4处的“jne” 改为“je”
2、注册机:
中断地址:0055D84C
中断次数:1
第一字节:E8
指令长度:5
内存方式-寄存器-edx
================================================================================================
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!



破解教学第十四课

【破文标题】互联网点歌台3.8破解分析
【破文作者】飘云[DFCG][CZG]
【破解平台】win98th
【作者邮箱】piaoyun04@163.com
【软件名称】互联网点歌台3.8
【软件大小】1.04MB
【下载地址】http://mpt.512j.com/newmpt/download/MusicPointV3.8_Setup.exe
【破解工具】PE-SCAN3.31中文版、W32Dasm10.0汉化版、TRW2000、keymake1.73
【保护方式】序列号
【破解目的】学习破解。熟练应用各种工具。
【破解声明】我乃小菜鸟一只,偶得一点心得,愿与大家分享:)
【破解步骤】先用PE-SCAN3.31查壳,无壳!太好了;试着运行软件填入假信息,点击“注册”
后有错误窗口“注册失败”弹出。故决定先用W32Dasm10.0反汇编一下!找到了刚才弹出的信息:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:005185F2(C) ★============>这里!程序从这里跳过来的!跟踪到005185F2 GO!!
|

* Possible StringData Ref from Code Obj ->"注册失败"
|
:00518620 B8B4865100 mov eax, 005186B4
:00518625 E8DED4F1FF call 00435B08
:0051862A A13C315200 mov eax, dword ptr [0052313C]
:0051862F E83C17F6FF call 00479D70

我们再来看看是从哪里跳过来的,向上看:
===========================================

* Possible StringData Ref from Code Obj ->"请生成机器码"
|
:005185CA B864865100 mov eax, 00518664
:005185CF E834D5F1FF call 00435B08
:005185D4 EB5E jmp 00518634

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:005185C8(U)
|
:005185D6 8D55F8 lea edx, dword ptr [ebp-08]
:005185D9 8B83FC020000 mov eax, dword ptr [ebx+000002FC]
:005185DF E8B44DF4FF call 0045D398
:005185E4 8B45F8 mov eax, dword ptr [ebp-08]
:005185E7 8B1540315200 mov edx, dword ptr [00523140]
:005185ED E85ECAEEFF call 00405050 ★关键CALL!
:005185F2 752C jne 00518620 从这里跳过去的!
上面的CALL肯定有问题
=====================================================================================
运行TRW2000
输入:
注册码:78787878
用bpx 5185ed下断,F8跟入:
:00405050 53 push ebx
:00405051 56 push esi
:00405052 57 push edi
:00405053 89C6 mov esi, eax
:00405055 89D7 mov edi, edx
:00405057 39D0 cmp eax, edx //下D EAX 可看到78787878
D EDX可看到真码8QUNRNUO
:00405059 0F848F000000 je 004050EE
:0040505F 85F6 test esi, esi
:00405061 7468 je 004050CB
:00405063 85FF test edi, edi
:00405065 746B je 004050D2
:00405067 8B46FC mov eax, dword ptr [esi-04]
:0040506A 8B57FC mov edx, dword ptr [edi-04]
:0040506D 29D0 sub eax, edx
:0040506F 7702 ja 00405073
:00405071 01C2 add edx, eax
======================================================================================
其实在:005185ED E85ECAEEFF call 00405050处d edx就能得到注册码,因为上面是个经典比较~_~
我只是是想跟进去看看算法而已
★★★★★
下面做注册机(在经典对比处):
中断地址 5185ed
中断次数 1
第一字节 e8
指令长度 5

内存方式-寄存器-EDX

附:
注册信息保存在:
HKEY_LOCAL_MACHINE\Software\CLASSES\mpl_auto_file\shell\regcode,删除又变成未注册版本

【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

破解教学第十五课

【破文标题】联众升级记牌器 V2.71 破解分析
【破文作者】飘云[DFCG][CZG]
【破解平台】winXP
【作者邮箱】piaoyun04@163.com
【软件名称】联众升级记牌器 V2.71
【软件大小】644 KB
【下载地址】http://www3.skycn.com/soft/14301.html
【软件简介】可用于联众升级的一、二、三副牌游戏,具有自动记录已出牌、剩余牌和剩余分数的功能,界面美观,使用方便。
加入时间: 2005-01-23 15:22:02
【保护方式】壳+NAG+序列号
【破解工具】PEiD0.92中文版、pe-scan331中文版、W32Dasm10.0汉化版、二哥版OD
【破解目的】学习破解。熟练应用各种工具。
【破解声明】我乃小菜鸟一只,偶得一点心得,愿与大家分享:)
【破解步骤】先用PEiD0.92侦测一下,ASPack 2.12 -> Alexey Solodovnikov,先脱壳——用pe-scan331中文版对付!保存为123.exe
接下来运行试试!晕!NAG出来了!我的机器码是:3FEC0B12 填入假码:188968999 点击“注册” 居然没有反映!应该是从注册表或者文件中比较!
不管它了,我们拿出屠龙刀——W32DASM,到“串式参考”中看看,找到了“软件已注册”提示!双击,发现有两处调用:
=================================================================================================
* Possible StringData Ref from Data Obj ->"RegCode"
|
:0045B9CF B864BA4500 mov eax, 0045BA64
:0045B9D4 E81BB5FFFF call 00456EF4
:0045B9D9 8B55F8 mov edx, dword ptr [ebp-08]
:0045B9DC 8B8304030000 mov eax, dword ptr [ebx+00000304]
:0045B9E2 E8358DFDFF call 0043471C
:0045B9E7 8D55F4 lea edx, dword ptr [ebp-0C]
:0045B9EA 8B8304030000 mov eax, dword ptr [ebx+00000304]
:0045B9F0 E8F78CFDFF call 004346EC
:0045B9F5 8B45F4 mov eax, dword ptr [ebp-0C]
:0045B9F8 BA01000000 mov edx, 00000001
:0045B9FD E8B2B6FFFF call 004570B4
:0045BA02 84C0 test al, al
:0045BA04 7426 je 0045BA2C
:0045BA06 33D2 xor edx, edx
:0045BA08 8B8304030000 mov eax, dword ptr [ebx+00000304]
:0045BA0E 8B08 mov ecx, dword ptr [eax]
:0045BA10 FF5164 call [ecx+64]
:0045BA13 33D2 xor edx, edx
:0045BA15 8B8300030000 mov eax, dword ptr [ebx+00000300]
:0045BA1B 8B08 mov ecx, dword ptr [eax]
:0045BA1D FF5164 call [ecx+64]

* Possible StringData Ref from Data Obj ->"软件已注册" ===》第一处
|
:0045BA20 BA74BA4500 mov edx, 0045BA74 双击一次后停在这里
:0045BA25 8BC3 mov eax, ebx
:0045BA27 E8F08CFDFF call 0043471C

=================================================================================================
:0045C467 8BC6 mov eax, esi
:0045C469 E89EFBFFFF call 0045C00C
:0045C46E A1B4E04500 mov eax, dword ptr [0045E0B4]
:0045C473 8B00 mov eax, dword ptr [eax]
:0045C475 8B8004030000 mov eax, dword ptr [eax+00000304]
:0045C47B 33D2 xor edx, edx
:0045C47D 8B08 mov ecx, dword ptr [eax]
:0045C47F FF5164 call [ecx+64]
:0045C482 A1B4E04500 mov eax, dword ptr [0045E0B4]
:0045C487 8B00 mov eax, dword ptr [eax]
:0045C489 8B8000030000 mov eax, dword ptr [eax+00000300]
:0045C48F 33D2 xor edx, edx
:0045C491 8B08 mov ecx, dword ptr [eax]
:0045C493 FF5164 call [ecx+64]
:0045C496 A1B4E04500 mov eax, dword ptr [0045E0B4]
:0045C49B 8B00 mov eax, dword ptr [eax]

* Possible StringData Ref from Data Obj ->"软件已注册" ===》第二处
|
:0045C49D BA1CC54500 mov edx, 0045C51C 双击二次后停在这里
:0045C4A2 E87582FDFF call 0043471C
:0045C4A7 A1B4E04500 mov eax, dword ptr [0045E0B4]
:0045C4AC 8B00 mov eax, dword ptr [eax]
:0045C4AE E85144FFFF call 00450904

接下来分析该在何处下断点:因为程序是在启动是读取信息的,而第一处"软件已注册"上面发现"RegCode"这么熟悉的东西,你回想到什么?再有就是 0045BA20 比 0045C49D 小,所以我们在0045B9CF处用OD下断:
0045B9CF |. B8 64BA4500 mov eax,123.0045BA64 ; ASCII "RegCode" 断在这里
0045B9D4 |. E8 1BB5FFFF call 123.00456EF4
0045B9D9 |. 8B55 F8 mov edx,dword ptr ss:[ebp-8]
0045B9DC |. 8B83 04030000 mov eax,dword ptr ds:[ebx+304]
0045B9E2 |. E8 358DFDFF call 123.0043471C
0045B9E7 |. 8D55 F4 lea edx,dword ptr ss:[ebp-C]
0045B9EA |. 8B83 04030000 mov eax,dword ptr ds:[ebx+304]
0045B9F0 |. E8 F78CFDFF call 123.004346EC
0045B9F5 |. 8B45 F4 mov eax,dword ptr ss:[ebp-C]
0045B9F8 |. BA 01000000 mov edx,1
0045B9FD |. E8 B2B6FFFF call 123.004570B4 《=======跟进去
0045BA02 |. 84C0 test al,al
0045BA04 |. 74 26 je short 123.0045BA2C 注意这个跳转
0045BA06 |. 33D2 xor edx,edx
0045BA08 |. 8B83 04030000 mov eax,dword ptr ds:[ebx+304]
0045BA0E |. 8B08 mov ecx,dword ptr ds:[eax]
0045BA10 |. FF51 64 call dword ptr ds:[ecx+64]
0045BA13 |. 33D2 xor edx,edx
0045BA15 |. 8B83 00030000 mov eax,dword ptr ds:[ebx+300]

*******
call 123.004570B4:
004570B4 $ 55 push ebp
004570B5 . 8BEC mov ebp,esp
004570B7 . 83C4 E0 add esp,-20
004570BA . 53 push ebx
004570BB . 33C9 xor ecx,ecx
004570BD . 894D E0 mov dword ptr ss:[ebp-20],ecx
004570C0 . 894D E4 mov dword ptr ss:[ebp-1C],ecx
004570C3 . 894D F0 mov dword ptr ss:[ebp-10],ecx
004570C6 . 8BDA mov ebx,edx
004570C8 . 8945 FC mov dword ptr ss:[ebp-4],eax
004570CB . 8B45 FC mov eax,dword ptr ss:[ebp-4]
004570CE . E8 79D7FAFF call 123.0040484C
004570D3 . 33C0 xor eax,eax
004570D5 . 55 push ebp
004570D6 . 68 95714500 push 123.00457195
004570DB . 64:FF30 push dword ptr fs:[eax]
004570DE . 64:8920 mov dword ptr fs:[eax],esp
004570E1 . C645 FB 00 mov byte ptr ss:[ebp-5],0
004570E5 . 837D FC 00 cmp dword ptr ss:[ebp-4],0
004570E9 . 74 7F je short 123.0045716A
004570EB . 8D45 F0 lea eax,dword ptr ss:[ebp-10]
004570EE . 50 push eax
004570EF . 8D45 E4 lea eax,dword ptr ss:[ebp-1C]
004570F2 . E8 BDFDFFFF call 123.00456EB4
004570F7 . 8B45 E4 mov eax,dword ptr ss:[ebp-1C]
004570FA . 8D4D EC lea ecx,dword ptr ss:[ebp-14]
004570FD . 8D55 E8 lea edx,dword ptr ss:[ebp-18]
00457100 . 2BCA sub ecx,edx
00457102 . 49 dec ecx
00457103 . 8BD3 mov edx,ebx
00457105 . E8 B2D7FAFF call 123.004048BC
0045710A . 33C9 xor ecx,ecx
0045710C . B2 01 mov dl,1
0045710E . A1 2C694500 mov eax,dword ptr ds:[45692C]
00457113 . E8 AC46FCFF call 123.0041B7C4
00457118 . 8945 F4 mov dword ptr ss:[ebp-C],eax
0045711B . 33C0 xor eax,eax
0045711D . 55 push ebp
0045711E . 68 63714500 push 123.00457163
00457123 . 64:FF30 push dword ptr fs:[eax]
00457126 . 64:8920 mov dword ptr fs:[eax],esp
00457129 . 8D45 E0 lea eax,dword ptr ss:[ebp-20]
0045712C . 50 push eax
0045712D . B1 06 mov cl,6
0045712F . 8B55 F0 mov edx,dword ptr ss:[ebp-10]
00457132 . 8B45 F4 mov eax,dword ptr ss:[ebp-C]
00457135 . E8 CEFBFFFF call 123.00456D08
0045713A . 8B45 E0 mov eax,dword ptr ss:[ebp-20]
0045713D . 8B55 FC mov edx,dword ptr ss:[ebp-4]
00457140 . E8 5BD8FAFF call 123.004049A0 一路F8 直到这里 在右边的积存器中看到了什么:

EAX 00C07FEC ASCII "22602051"
ECX 00000001
EDX 00C07F84 ASCII "188968999"
EBX 00000001
ESP 0012FDB8
EBP 0012FDF4
ESI 00C013C8
EDI 0045B6D0 123.0045B6D0
EIP 00457140 123.00457140
=================================================================================================
总结:
机器码:3FEC0B12
注册码:22602051
=================================================================================================
附:
注册信息保存:HKEY_LOCAL_MACHINE\SOFTWARE\LZHelp\RegCode,删除后又可继续研究。

【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

破解教学第十六课

【破文标题】 全国电话通 V1.20破解分析
【破文作者】 飘云[DFCG][CZG]
【作者邮箱】 piaoyun04@163.com
【使用工具】 PE-SCAN,w32dasm,upxshell,keymake
【破解平台】 Win98
【软件名称】 全国电话通 V1.20
【下载地址】 http://www.skycn.com/soft/14452.html
【软件简介】 1.上海电话号码归属地查询(特色功能)2.全国电话号码归属地查询(特色功能)3.全国手机号码归属地查询4.全国身份证号码查询5.全国邮政编码查询。软件特色:我们的数据库截止2003年12月1日,已经超过了32万。我们的数据库在不断的增加中(在线反馈,邮件反馈,工作人员反馈)。我们的数据库采用内嵌式,不需要任何数据库驱动引擎,真正的绿色软件。界面采用XP风格,简单上手。更新速度快,包括主程序和数据库。
【软件大小】 1401 KB
【破解目的】 喜欢该软件的界面,学习破解。
【破解声明】 我乃小菜鸟一只,偶得一点心得,愿与大家分享:)
----------------------------------------------------------------------
【破解内容】
用PE-SCAN查壳,为UPX 0.80 - 1.23,用UPXshell对付。
本软件注册方式是一机一码式,先判断程序是将注册信息写入注册表还是ini文件,输入 飘云,188968999 后,还要点获得机器码,然后确定,提示重启动软件完成注册。关闭软件后发现同一目录中生成user.ini配置文件,打开它,内容如下:
[user]
username=飘云
usercode=188968999

用w32dasm反汇编,找到"本软件授权于:<未注册>"字符串

* Referenced by a CALL at Address:
|:0048DA5E ============== 程序从这里跳过来的,追踪到0048DA5E
|
:0048D3A0 53 push ebx
:0048D3A1 56 push esi
:0048D3A2 BB083C4900 mov ebx, 00493C08
:0048D3A7 6A40 push 00000040

* Possible StringData Ref from Code Obj ->"欢迎使用<全国电话通>"
|
:0048D3A9 B9FCD44800 mov ecx, 0048D4FC

* Possible StringData Ref from Code Obj ->"欢迎您试用<全国电话通>,如果您需要更全面的功能"
->"及最新数据库,请注册!"
|
:0048D3AE BA14D54800 mov edx, 0048D514
:0048D3B3 A1C82D4900 mov eax, dword ptr [00492DC8]
:0048D3B8 8B00 mov eax, dword ptr [eax]
:0048D3BA E8C59AFEFF call 00476E84
:0048D3BF 8B03 mov eax, dword ptr [ebx]
:0048D3C1 8B800C030000 mov eax, dword ptr [eax+0000030C]
:0048D3C7 33D2 xor edx, edx
:0048D3C9 8B08 mov ecx, dword ptr [eax]
:0048D3CB FF5164 call [ecx+64]
:0048D3CE 8B03 mov eax, dword ptr [ebx]
:0048D3D0 8B80A0030000 mov eax, dword ptr [eax+000003A0]
:0048D3D6 33D2 xor edx, edx
:0048D3D8 8B08 mov ecx, dword ptr [eax]
:0048D3DA FF5164 call [ecx+64]
:0048D3DD 8B03 mov eax, dword ptr [ebx]
:0048D3DF 8B80A4030000 mov eax, dword ptr [eax+000003A4]
:0048D3E5 33D2 xor edx, edx
:0048D3E7 8B08 mov ecx, dword ptr [eax]
:0048D3E9 FF5164 call [ecx+64]
:0048D3EC 8B03 mov eax, dword ptr [ebx]
:0048D3EE 8B80B4040000 mov eax, dword ptr [eax+000004B4]
:0048D3F4 33D2 xor edx, edx
:0048D3F6 8B08 mov ecx, dword ptr [eax]
:0048D3F8 FF5164 call [ecx+64]
:0048D3FB 8B03 mov eax, dword ptr [ebx]
:0048D3FD 8B80CC030000 mov eax, dword ptr [eax+000003CC]
:0048D403 B201 mov dl, 01
:0048D405 E8DEBBFDFF call 00468FE8
:0048D40A 8B03 mov eax, dword ptr [ebx]
:0048D40C 8B8068040000 mov eax, dword ptr [eax+00000468]
:0048D412 B201 mov dl, 01
:0048D414 E89799FCFF call 00456DB0
:0048D419 8B03 mov eax, dword ptr [ebx]
:0048D41B 8B80B8040000 mov eax, dword ptr [eax+000004B8]
:0048D421 33D2 xor edx, edx
:0048D423 8B08 mov ecx, dword ptr [eax]
:0048D425 FF5164 call [ecx+64]

* Possible StringData Ref from Code Obj ->"全国电话通 1.20 <未注册>"
|
:0048D428 BA64D54800 mov edx, 0048D564
:0048D42D 8B03 mov eax, dword ptr [ebx]
:0048D42F E88C9AFCFF call 00456EC0
:0048D434 8B03 mov eax, dword ptr [ebx]
:0048D436 8B8034030000 mov eax, dword ptr [eax+00000334]

* Possible StringData Ref from Code Obj ->"本软件授权于:<未注册>"
|
:0048D43C BA88D54800 mov edx, 0048D588
:0048D441 E87A9AFCFF call 00456EC0
:0048D446 8B03 mov eax, dword ptr [ebx]
:0048D448 8B80F8020000 mov eax, dword ptr [eax+000002F8]
:0048D44E 8B8008020000 mov eax, dword ptr [eax+00000208]
:0048D454 BA01000000 mov edx, 00000001
:0048D459 E82EA9FAFF call 00437D8C

* Possible StringData Ref from Code Obj ->"授权使用:<未注册>" =============就是这里了,向上看。
|
:0048D45E BAA8D54800 mov edx, 0048D5A8
:0048D463 E880A8FAFF call 00437CE8
:0048D468 8B03 mov eax, dword ptr [ebx]
:0048D46A 8B8068040000 mov eax, dword ptr [eax+00000468]
:0048D470 B201 mov dl, 01
:0048D472 E83999FCFF call 00456DB0
:0048D477 8B03 mov eax, dword ptr [ebx]
:0048D479 8B80D8040000 mov eax, dword ptr [eax+000004D8]
:0048D47F 8B806C020000 mov eax, dword ptr [eax+0000026C]
------------------------------------------------------------------------------------------------
向上看哪个地方调用了这里
分析知:程序从0048DA5E处跳来,故追踪到那里,let&#39;s go!!

* Possible StringData Ref from Code Obj ->"授权使用:"
|
:0048D9B1 BA10DE4800 mov edx, 0048DE10
:0048D9B6 E8CD69F7FF call 00404388
:0048D9BB 8B95B8FCFFFF mov edx, dword ptr [ebp+FFFFFCB8]
:0048D9C1 58 pop eax
:0048D9C2 E821A3FAFF call 00437CE8
:0048D9C7 8D85ACFCFFFF lea eax, dword ptr [ebp+FFFFFCAC]
:0048D9CD 8B55FC mov edx, dword ptr [ebp-04]
:0048D9D0 81C258050000 add edx, 00000558
:0048D9D6 E80569F7FF call 004042E0
:0048D9DB 8B8DACFCFFFF mov ecx, dword ptr [ebp+FFFFFCAC]
:0048D9E1 8D85B0FCFFFF lea eax, dword ptr [ebp+FFFFFCB0]

* Possible StringData Ref from Code Obj ->"本软件授权于:"
|
:0048D9E7 BA24DE4800 mov edx, 0048DE24
:0048D9EC E89769F7FF call 00404388
:0048D9F1 8B95B0FCFFFF mov edx, dword ptr [ebp+FFFFFCB0]
:0048D9F7 8B45FC mov eax, dword ptr [ebp-04]
:0048D9FA 8B8034030000 mov eax, dword ptr [eax+00000334]
:0048DA00 E8BB94FCFF call 00456EC0
:0048DA05 8D85A4FCFFFF lea eax, dword ptr [ebp+FFFFFCA4]
:0048DA0B 8B55FC mov edx, dword ptr [ebp-04]
:0048DA0E 81C258060000 add edx, 00000658
:0048DA14 E8C768F7FF call 004042E0
:0048DA19 8B85A4FCFFFF mov eax, dword ptr [ebp+FFFFFCA4]
:0048DA1F 8D95A8FCFFFF lea edx, dword ptr [ebp+FFFFFCA8]
:0048DA25 E8B2EBFFFF call 0048C5DC
:0048DA2A 8B85A8FCFFFF mov eax, dword ptr [ebp+FFFFFCA8]
:0048DA30 50 push eax
:0048DA31 8D959CFCFFFF lea edx, dword ptr [ebp+FFFFFC9C]
:0048DA37 8B45F8 mov eax, dword ptr [ebp-08]
:0048DA3A E829A7F7FF call 00408168
:0048DA3F 8B859CFCFFFF mov eax, dword ptr [ebp+FFFFFC9C]
:0048DA45 8D95A0FCFFFF lea edx, dword ptr [ebp+FFFFFCA0]
:0048DA4B E88CEBFFFF call 0048C5DC
:0048DA50 8B95A0FCFFFF mov edx, dword ptr [ebp+FFFFFCA0] 此处为真码:858201
:0048DA56 58 pop eax 此处为假码:188968999
:0048DA57 E82C6AF7FF call 00404488 看到了吗?经典比较哦!~_~
:0048DA5C 7405 je 0048DA63 正确就跳走,否则执行下一句
:0048DA5E E83DF9FFFF call 0048D3A0 这里调用上面的子程式!即从此走向死亡!!

破解总结:

爆破就将:0048DA5C 7405 je 0048DA63 处的 je 该为 jne 即可!

下面做内存注册机。

中断地址 48DA50
中断次数 1
第一字节 8B
指令长度 6

内存方式-寄存器-EDX

附:注册信息保存在目录下的user.ini中,删除又变成未注册版本

【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

破解教学第十七课

【破文标题】天使联盟V4.0破解分析
【破文作者】飘云[DFCG][CZG]
【破解平台】win98th
【作者邮箱】piaoyun04@163.com
【软件名称】老板来啦--天使联盟 V4.0
【软件大小】694 KB
【下载地址】http://www.skycn.com/soft/20362.html
【软件介绍】在关键时刻看到同事就要栽了却没有机会提醒?在自己栽了之后抱怨同事警戒不力?在你忙里偷闲上网轻松一下又怕自己警惕性不高?现在你不用担心了.新版本增加了网络互助功能,包括[信息传递,紧急援助],拥有联盟成员列表,依靠网络实现网内用户相互协作,共同御敌.瞬间隐藏你打开的窗口,无须烦琐操作,捕捉窗口灵敏度为目前软件中最高,托盘区菜单控制,更加隐蔽,增加冻结功能,针对老板检查提供14个大项N个小项控制.老板键功能在WIN2K/WINXP下同样出色.更有功能扩展设置。轻轻松松实现更多功能。附赠5个扩展文件,另外可通过网络下载,随需随装,方便至极。
【保护方式】序列号
【破解工具】PEiD0.92中文版、W32Dasm10.0汉化版、TRW2000、keymake1.73
【破解目的】学习破解。熟练应用各种工具。
【破解声明】我乃小菜鸟一只,偶得一点心得,愿与大家分享:)
【破解步骤】先用PEiD0.92侦测一下,Borland Delphi 6.0 - 7.0编写,居然无壳!试着运行软件,发现该东东是“申请码”和“注册码”保护,且注册码要分两个框填入¥看似很复杂。填入假信息看看,有一个"注册码错误.(注意检查是否输错)"窗口弹出!^_^线索就在这!!
用W32Dasm10.0载入程序,找到如下地方:
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00473B36(C), :00473B8B(C) ▲▲注意这里了吗?有两个地方调用了出错的窗口!先到473B36看看
|
:00473D16 6A00 push 00000000
:00473D18 668B0DC03D4700 mov cx, word ptr [00473DC0]
:00473D1F B201 mov dl, 01

* Possible StringData Ref from Code Obj ->"注册码错误.(注意检查是否输错)"
|
:00473D21 B8403E4700 mov eax, 00473E40
=================================================================================================
:00473AF8 6A00 push 00000000
:00473AFA 6A00 push 00000000
:00473AFC 49 dec ecx
:00473AFD 75F9 jne 00473AF8
:00473AFF 51 push ecx
:00473B00 53 push ebx
:00473B01 56 push esi
:00473B02 57 push edi
:00473B03 8BD8 mov ebx, eax
:00473B05 33C0 xor eax, eax
:00473B07 55 push ebp
:00473B08 68B13D4700 push 00473DB1
:00473B0D 64FF30 push dword ptr fs:[eax]
:00473B10 648920 mov dword ptr fs:[eax], esp
:00473B13 8D55FC lea edx, dword ptr [ebp-04]
:00473B16 8B8310030000 mov eax, dword ptr [ebx+00000310]
:00473B1C E88F65FCFF call 0043A0B0
:00473B21 8B45FC mov eax, dword ptr [ebp-04]
:00473B24 50 push eax
:00473B25 8D45F8 lea eax, dword ptr [ebp-08]
:00473B28 E8B3F9FFFF call 004734E0
:00473B2D 8B55F8 mov edx, dword ptr [ebp-08]
:00473B30 58 pop eax
:00473B31 E8EE0CF9FF call 00404824
:00473B36 0F85DA010000 jne 00473D16 ★★ 就是这里跳过去的!据分析,这段代码判断你 是否输入了申请码!
:00473B3C 8D55F4 lea edx, dword ptr [ebp-0C]
:00473B3F 8B831C030000 mov eax, dword ptr [ebx+0000031C]
=================================================================================================
既然00473B36处是申请码验证部分,那么00473B8B就....... 好! LET&#39;S GO!
:00473B72 E83965FCFF call 0043A0B0
:00473B77 8B45E8 mov eax, dword ptr [ebp-18]
:00473B7A 8D55EC lea edx, dword ptr [ebp-14]
:00473B7D E836FCFFFF call 004737B8
:00473B82 8B55EC mov edx, dword ptr [ebp-14]
:00473B85 58 pop eax 这几句够经典吧!!
:00473B86 E8990CF9FF call 00404824 让我们用TRW2000清眼看看注册码吧!~_~
:00473B8B 0F8585010000 jne 00473D16 ★★哈哈!就是这里跳过去的!
:00473B91 6A00 push 00000000
=================================================================================================
运行TRW2000
输入:
注册码:78787-45645
用BPX 473B86下断 F8跟进:
:00404824 53 push ebx
:00404825 56 push esi
:00404826 57 push edi
:00404827 89C6 mov esi, eax
:00404829 89D7 mov edi, edx
:0040482B 39D0 cmp eax, edx 这里面熟吧!下d eax 和d edx 你看到了什么...
:0040482D 0F848F000000 je 004048C2 呵呵!眼见为实!
:00404833 85F6 test esi, esi
*************************************************************************************************
整理:
申请码:6969004
注册码:XT7OX-M0HCO

内存注册机:
中断地址:473B86
中断次数:1
第一字节:E8
指令长度:5
内存方式-寄存器-EDX
*************************************************************************************************
附:
注册信息保存在安装目录下的reg.ini中,删除后又可继续研究。

【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

破解教学第十八课

【破文标题】网络电视小精灵V3.3.1破解分析
【破文作者】飘云[DFCG][CZG]
【破解平台】win98th
【作者邮箱】piaoyun04@163.com
【软件名称】网络电视小精灵V3.3.1(国庆特别版)
【软件大小】1312KB
【下载地址】http://www.xiaotv.com
【软件说明】1、软件小巧精致,以实用为本,启动快速总位于窗口的最前面方便选台,占用系统资源极少
2、收看400多家国内、外电视台,收听100多家广播电台节目
3、提供丰富的国内、外电视节目表。直接点击即可收看节目
4、最注重节目质量的卫星电视软件版
5、采用智能链技术,内置多种加速引擎,智能分析网络状态追寻最佳速度,且软件自动升级为最新版本

【破解工具】PEiD 0.92中文版、W32Dasm10.0汉化版、TRW2000、keymake1.73
【保护方式】序列号
【破解目的】学习破解。熟练应用各种工具。
【破解声明】我乃小菜鸟一只,偶得一点心得,愿与大家分享:)
【破解步骤】先用PEiD 0.92侦测,发现为Borland Delphi 6.0 - 7.0编写,未加壳;试着运行软件填入假信息,在第一个框中填“1234”第二个框中填“12345678”然后点击“注册”后有错误窗口“您的注册码无效,请与......联系”弹出;用W32Dasm10.0反汇编一下!找到了刚才的提示
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00480A33(C) ★============>跟踪到00480A33
|

* Possible StringData Ref from Code Obj ->"您的注册码无效,请与作者联系xiaotv@163.com"
|
:00480B0B B8D40B4800 mov eax, 00480BD4

=================================================================================================
:004809EE 8BC0 mov eax, eax
:004809F0 55 push ebp
:004809F1 8BEC mov ebp, esp
:004809F3 6A00 push 00000000
:004809F5 6A00 push 00000000
:004809F7 6A00 push 00000000
:004809F9 53 push ebx
:004809FA 8BD8 mov ebx, eax
:004809FC 33C0 xor eax, eax
:004809FE 55 push ebp
:004809FF 68580B4800 push 00480B58
:00480A04 64FF30 push dword ptr fs:[eax]
:00480A07 648920 mov dword ptr fs:[eax], esp
:00480A0A 8D55F8 lea edx, dword ptr [ebp-08]
:00480A0D 8B8354030000 mov eax, dword ptr [ebx+00000354]
:00480A13 E8F0A9FBFF call 0043B408
:00480A18 8B45F8 mov eax, dword ptr [ebp-08]
:00480A1B 50 push eax
:00480A1C 8D55F4 lea edx, dword ptr [ebp-0C]
:00480A1F 8B830C030000 mov eax, dword ptr [ebx+0000030C]
:00480A25 E8DEA9FBFF call 0043B408
:00480A2A 8B55F4 mov edx, dword ptr [ebp-0C] 经典比较!
:00480A2D 58 pop eax
:00480A2E E8CD3AF8FF call 00404500 ★★关键CALL!
:00480A33 0F85D2000000 jne 00480B0B ★从这里跳向死亡! 爆破则该为 JE)
:00480A39 8BC3 mov eax, ebx
************************************************************************************************
运行TRW2000
输入:
注册码:1234-12345678
用bpx 480A2E下断,F8跟入
:00404500 53 push ebx
:00404501 56 push esi
:00404502 57 push edi
:00404503 89C6 mov esi, eax
:00404505 89D7 mov edi, edx
:00404507 39D0 cmp eax, edx 此处 d eax看到12345678;d edx看到真码76452
:00404509 0F848F000000 je 0040459E
:0040450F 85F6 test esi, esi
:00404511 7468 je 0040457B
:00404513 85FF test edi, edi
:00404515 746B je 00404582
:00404517 8B46FC mov eax, dword ptr [esi-04]
:0040451A 8B57FC mov edx, dword ptr [edi-04]
:0040451D 29D0 sub eax, edx
:0040451F 7702 ja 00404523
:00404521 01C2 add edx, eax
=================================================================================================
整理:
序列号:1031
注册码:1234-76452
************************************************************************************************注册机就不贴出来了。
附:注册信息保存在:
HKEY_USERS\.DEFAULT\Software\qianghua\soft\regcode
删除后变成未注册版!

【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

破解教学第十九课

【破文标题】微型个人理财软件 1.73 破解分析
【破文作者】飘云[DFCG][CZG]
【破解平台】winxp
【作者邮箱】piaoyun04@163.com
【软件名称】微型个人理财软件 1.73
【软件大小】451K
【下载地址】http://www.softreg.com.cn/downlo ... -8B67-56CB7304AF64/
【软件介绍】最小的、功能强大的个人理财软件
【保护方式】序列号+NAG
【破解工具】PEiD0.92中文版、二哥版OD
【破解目的】学习破解。熟练应用各种工具。
【破解声明】我乃小菜鸟一只,偶得一点心得,愿与大家分享:)
==========================================================================================
用PEID0.92查壳——VB编写的!
一、用OllyDbg载入微型个人理财软件.exe,按ALT+E,选择MSVBVM60.DLL并双击它。

二、CTRL+N找到__vbastrcomp,光标在这行点一下后,按F2设断点,

三、回到OL窗口,按一下F9,出现NAG窗口,不用管!点“确定”找到注册的地方,
我的机器码为:908837,注册码:188968999,点“注册”。程序被拦了不是,再看看右下角的窗口,要的就放在那里,在“188968999”下面的就是真注册码。我的是“480284”,你的呢?

四、整理一下:

  机器码:908837
  注册码:480284

五、高手请千万不要掷臭鸡蛋!我也是一只莱鸟啊!想继续看下文的就跟帖吧!!!
===================================================================================
附:
注册信息保存在:HKEY_USERS\S-1-5-21-1454471165-606747145-725345543-1004\Software\VB and VBA Program Settings\chenweiqun\c07171 删除后又可继续研究!

【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

破解教学第二十课

【破文标题】姓名八卦预测大师V3.00分析
【破文作者】飘云[PYG]
【破解平台】winXP
【作者邮箱】piaoyun04@163.com
【软件名称】姓名八卦预测大师V3.00
【软件大小】396KB
【下载地址】http://talltree.labsky.com/program/xmbg.exe
【软件说明】八卦姓名预测学渊源于我国诸先贤的哲学思想,是标准的国粹。后经多位易相大师(包括日本的熊崎健翁先生)的发展和完善,现已在命相学中独树一帜。本软件吸取了八卦姓名预测学之精华,又得到武当山紫金观明阳道长的悉心指点,因此本软件的预测结果极为准确。
【破解工具】PEiD 0.92中文版、W32Dasm10.0汉化版、OD
【保护方式】壳+序列号
【破解目的】学习破解。熟练应用各种工具。
【破解声明】我乃小菜鸟一只,偶得一点心得,愿与大家分享:)
【破解步骤】先用PEiD 0.92侦测,晕:ASPack 2.001 -> Alexey Solodovnikov壳;偶没有脱壳机,只好手动了,脱后再查为Borland Delphi 4.0 - 5.0
试着运行软件填入假信息,点“注册”后有错误窗口“密码错!请重新输入”弹出;用W32Dasm10.0反汇编一下!找到了刚才的提示(有两处调用,只找关键)

:0045739C B801000000 mov eax, 00000001

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004573EE(C)
|
:004573A1 8B4DFC mov ecx, dword ptr [ebp-04]
:004573A4 8A4C01FF mov cl, byte ptr [ecx+eax-01]
:004573A8 80F939 cmp cl, 39
:004573AB 7708 ja 004573B5
:004573AD 8B5DFC mov ebx, dword ptr [ebp-04]
:004573B0 80F930 cmp cl, 30
:004573B3 7337 jnb 004573EC

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004573AB(C)
|

* Possible StringData Ref from Code Obj ->"密码错,请重新输入!"
|
:004573B5 B89C754500 mov eax, 0045759C
:004573BA E82959FFFF call 0044CCE8
:004573BF 8B86D0020000 mov eax, dword ptr [esi+000002D0]


*******接下来用OD载入程序在这里下断分析:
0045739C |. B8 01000000 mov eax,1 EAX初值为1
004573A1 |> 8B4D FC /mov ecx,dword ptr ss:[ebp-4] ; 假序列号送到ECX
004573A4 |. 8A4C01 FF |mov cl,byte ptr ds:[ecx+eax-1] ; 取每一位的ASCII值送到CL
004573A8 |. 80F9 39 |cmp cl,39 ; 与39(即十进制9)比较
004573AB |. 77 08 |ja short dumped_.004573B5 ; 大于则跳
004573AD |. 8B5D FC |mov ebx,dword ptr ss:[ebp-4]
004573B0 |. 80F9 30 |cmp cl,30 ; 与30(即十进制0)比较
004573B3 |. 73 37 |jnb short dumped_.004573EC ; 不等于0则跳
004573B5 |> B8 9C754500 |mov eax,dumped_.0045759C
004573BA |. E8 2959FFFF |call dumped_.0044CCE8
004573BF |. 8B86 D0020000 |mov eax,dword ptr ds:[esi+2D0]
004573C5 |. 33D2 |xor edx,edx
004573C7 |. E8 D41FFDFF |call dumped_.004293A0
004573CC |. 8B86 E0020000 |mov eax,dword ptr ds:[esi+2E0]
004573D2 |. 33D2 |xor edx,edx
004573D4 |. E8 C71FFDFF |call dumped_.004293A0
004573D9 |. 8B86 D0020000 |mov eax,dword ptr ds:[esi+2D0]
004573DF |. 8B10 |mov edx,dword ptr ds:[eax]
004573E1 |. FF92 B0000000 |call dword ptr ds:[edx+B0]
004573E7 |. E9 5A010000 |jmp dumped_.00457546
004573EC |> 40 |inc eax
004573ED |. 4A |dec edx
004573EE |.^ 75 B1 \jnz short dumped_.004573A1
004573F0 |> 8D55 FC lea edx,dword ptr ss:[ebp-4]
004573F3 |. 8B86 D0020000 mov eax,dword ptr ds:[esi+2D0]
004573F9 |. E8 721FFDFF call dumped_.00429370
004573FE |. 8B45 FC mov eax,dword ptr ss:[ebp-4] ; EBP-4是用户名
00457401 |. E8 2AC9FAFF call dumped_.00403D30 ; 得到位数
00457406 |. 8BD0 mov edx,eax
00457408 |. 85D2 test edx,edx
0045740A |. 7E 17 jle short dumped_.00457423
0045740C |. B8 01000000 mov eax,1 ; EAX初值1
00457411 |> 8B4D FC /mov ecx,dword ptr ss:[ebp-4]
00457414 |. 0FB64C01 FF |movzx ecx,byte ptr ds:[ecx+eax-1] ; 取每一位用户名的ASCII码放到ECX
00457419 |. 8D0C89 |lea ecx,dword ptr ds:[ecx+ecx*4] ; ECX=5ECX=5*每一位用户名的ASCII码
0045741C |. 014D F4 |add dword ptr ss:[ebp-C],ecx ; 累加(我的[EBP-C]的初值为5E969359)
0045741F |. 40 |inc eax ; 计数器加1
00457420 |. 4A |dec edx ; 位数减1
00457421 |.^ 75 EE \jnz short dumped_.00457411 ; 循环
00457423 |> 8D95 1CFDFFFF lea edx,dword ptr ss:[ebp-2E4]
00457429 |. 8B86 E0020000 mov eax,dword ptr ds:[esi+2E0]
0045742F |. E8 3C1FFDFF call dumped_.00429370
00457434 |. 8B85 1CFDFFFF mov eax,dword ptr ss:[ebp-2E4]
0045743A |. E8 C514FBFF call dumped_.00408904 ; 经典比较
0045743F |. 3B45 F4 cmp eax,dword ptr ss:[ebp-C] ; [EBP-C]转换成10进制就是真正的注册码
00457442 74 37 je short dumped_.0045747B ; 跳则GAME OVER 爆破点
00457444 |. 8B86 D0020000 mov eax,dword ptr ds:[esi+2D0]
0045744A |. 33D2 xor edx,edx
0045744C |. E8 4F1FFDFF call dumped_.004293A0
00457451 |. 8B86 E0020000 mov eax,dword ptr ds:[esi+2E0]
00457457 |. 33D2 xor edx,edx
00457459 |. E8 421FFDFF call dumped_.004293A0
0045745E |. 8B86 D0020000 mov eax,dword ptr ds:[esi+2D0]
00457464 |. 8B10 mov edx,dword ptr ds:[eax]
00457466 |. FF92 B0000000 call dword ptr ds:[edx+B0]
0045746C |. B8 9C754500 mov eax,dumped_.0045759C
00457471 |. E8 7258FFFF call dumped_.0044CCE8

这个算法比较简单:
每位用户名的ASCII码*5再与[EBP-C]的值累加,然后转换成10进制
我的:
用户名:piaoyun
注册码:1586930290

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

香水 发表于 2008-6-9 20:27
学习!!1不过有很多地方不懂,要反复看
fttsh 发表于 2008-6-6 18:36
小李通讯 发表于 2008-6-11 13:42
2.jpg   这个软件到底应该怎样破呀,能教我么,先谢谢
小李通讯 发表于 2008-6-11 13:34
楼主你好,我是新手,我看了你破第一个软件半仙算命 V2004 10.05后、我自己也把这个软件下了下来,安装软件打开平台随便输入确认码和注册码、点确认注册没有提示,于是用PEiD查壳,发现是ASPack壳 未命名.jpg   ,你确说没有壳 到底是怎么回事啊,脱壳后用W32Dasm反汇编在串式参考中只有找到注册成功的字样 1.jpg ,根本就和你的说法相反,到底是怎么个原因啊 [upload=1]  请问这个软件到底该怎么破呀,能教我么、先谢谢



请 速 回
小李通讯 发表于 2008-6-11 16:48
我终于把它给破解了,哈哈,俺用OD打开后点查件、点查找字串 [upload=1]找到注册成功!的字符,然后左键双击来到了这里 [upload=2] 然后一直往上找看到了一个跳转 [upload=4]双击这个跳转把N去掉然后点汇编然后点可复制文件选复制所修改的、再点全部复制、再点右键保存,然后在去运行这个软件,随便乱输 破解成功[upload=5]   (俺写得很罗嗦,但对初学者很详细.........)
小李通讯 发表于 2008-6-11 17:02
2.jpg 3.jpg 未命名.jpg 5.jpg
tianxj 发表于 2008-6-12 13:03
是飘云老大很久以前的教程了,没有仔细看过
山中斑虎 发表于 2008-6-14 04:55
初学此道,多多向楼主学习
huoying 发表于 2008-6-18 16:40
今天又看了一遍,越看越有感觉,哪天自己亲自试下~ [s:40]
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-3-29 08:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表