- UID
- 994
注册时间2005-4-16
阅读权限10
最后登录1970-1-1
周游历练
该用户从未签到
|
【文章标题】: 咸菜馆超级网络电视3.5.3追码教程
【文章作者】: 风&行者
【作者邮箱】: 神秘工作室
【作者QQ号】: 5150033
【软件名称】: 咸菜馆超级网络电视3.5.3
【下载地址】:
【加壳方式】: ASPack 2.12 +自校验
【编写语言】: VB
【使用工具】: PEID,OD,ImportREC,LordPE
【操作平台】: XP
【作者声明】: 我是一只小菜鸟,没什么技术含量,还望高手制作出算法注册机!
--------------------------------------------------------------------------------
【详细过程】
一、脱壳
1、用ESP定律到达OEP,lordpe脱壳,IMC修复(OEP处填写48F0,RAV默认),此时OD不要关
004048F0 68 DC8E4100 push XCGTV.00418EDC ==>OEP处
004048F5 E8 F0FFFFFF call XCGTV.004048EA ; jmp to msvbvm60.ThunRTMain
004048FA 0000 add byte ptr ds:[eax],al
004048FC 48 dec eax
004048FD 0000 add byte ptr ds:[eax],al
004048FF 0030 add byte ptr ds:[eax],dh
00404901 0000 add byte ptr ds:[eax],al
00404903 0040 00 add byte ptr ds:[eax],al
00404906 0000 add byte ptr ds:[eax],al
00404908 0000 add byte ptr ds:[eax],al
0040490A 0000 add byte ptr ds:[eax],al
试运行脱壳并修复过的软件,一闪而过,初步断定有自校验。
2、去自校验:通用对比法(就是将已经触发自校检的程序与原来正常的程序进行关键跳转对比)
用另一个OD打开脱壳后的程序dumped_.EXE,下断BP CreateFileA,F9四次后出现出错。CTRL+F2重新载入
dumped_.EXE,下断BP reateFileA,F9三次。这时第一个OD命令中也下断BP CreateFileA,F9三次,这时两个OD
停在同一个地方,ALT+F9返回,然后在两个OD中逐步单步跟踪,碰到JE、JNE、JBE...之类的关键跳转要对比一下两者的区别。
7C801A24 > 8BFF mov edi,edi ;三次F9后断在这里,ALT+F9返回
7C801A26 55 push ebp
7C801A27 8BEC mov ebp,esp
7C801A29 FF75 08 push dword ptr ss:[ebp+8]
================================================================
逐步F8,跟到下面的代码时,发现两个跳转不一样
004D53E9 /0F85 91000000 jnz XCGTV.004D5480 ; 原版这个地方信息窗口提示:跳转没有实现
004D53EF |833D 3C7E5300 00 cmp dword ptr ds:[537E3C],0
004D53F6 |75 0F jnz short XCGTV.004D5407
004D53F8 |68 3C7E5300 push XCGTV.00537E3C
004D53FD |68 042D4200 push XCGTV.00422D04
004D5402 |E8 A3F2F2FF call XCGTV.004046AA
========================================================
004D53E9 /0F85 91000000 jnz dumped_.004D5480 ; 脱壳版这个地方信息窗口提示:跳转已经实现
004D53EF |833D 3C7E5300 00 cmp dword ptr ds:[537E3C],0
004D53F6 |75 0F jnz short dumped_.004D5407
004D53F8 |68 3C7E5300 push dumped_.00537E3C
004D53FD |68 042D4200 push dumped_.00422D04
004D5402 |E8 A3F2F2FF call <jmp.&msvbvm60.__vbaNew2>
这时将脱壳版004D53E9处代码NOP掉后另存为unpack.exe。
试着运行一下,如果正常完事,还不行的话继续跟踪下去。该例只改这一处。
二、破解
OD载入修复好的unpack.exe,F9运行,中间碰到几次异常,shift+F9过,直至弹出主界面,输入假的注册码1234567890
命令行下断点bp __vbaVarTstEq,点注册认证,程序断下,ALT+F9返回,注意观察,向上找到1669C6C0,下断
1669C6C0 55 push ebp ;重新运行程序,输入假的注册码,在这里下断,F8继续向下走,注意观察
1669C6C1 8BEC mov ebp,esp
1669C6C3 83EC 0C sub esp,0C
1669C6C6 68 06186916 push pcy.16691806 ; jmp to msvbvm60.__vbaExceptHandler
1669C6CB 64:A1 00000000 mov eax,dword ptr fs:[0]
1669C6D1 50 push eax
1669C6D2 64:8925 00000000 mov dword ptr fs:[0],esp
1669C6D9 81EC 88000000 sub esp,88
1669C6DF 53 push ebx
1669C6E0 56 push esi
1669C6E1 57 push edi
1669C6E2 8965 F4 mov dword ptr ss:[ebp-C],esp
1669C6E5 C745 F8 F0126916 mov dword ptr ss:[ebp-8],pcy.166912F0
1669C6EC 33DB xor ebx,ebx
1669C6EE 895D FC mov dword ptr ss:[ebp-4],ebx
1669C6F1 8B75 08 mov esi,dword ptr ss:[ebp+8]
1669C6F4 56 push esi
1669C6F5 8B06 mov eax,dword ptr ds:[esi]
1669C6F7 FF50 04 call dword ptr ds:[eax+4]
1669C6FA 8B4E 44 mov ecx,dword ptr ds:[esi+44]
1669C6FD 895D E8 mov dword ptr ss:[ebp-18],ebx
1669C700 51 push ecx
1669C701 68 704E6916 push pcy.16694E70
1669C706 895D E4 mov dword ptr ss:[ebp-1C],ebx
1669C709 895D E0 mov dword ptr ss:[ebp-20],ebx
1669C70C 895D DC mov dword ptr ss:[ebp-24],ebx
1669C70F 895D D8 mov dword ptr ss:[ebp-28],ebx
1669C712 895D D4 mov dword ptr ss:[ebp-2C],ebx
1669C715 895D C4 mov dword ptr ss:[ebp-3C],ebx
1669C718 895D B4 mov dword ptr ss:[ebp-4C],ebx
1669C71B 895D A4 mov dword ptr ss:[ebp-5C],ebx
1669C71E 895D 94 mov dword ptr ss:[ebp-6C],ebx
1669C721 895D 84 mov dword ptr ss:[ebp-7C],ebx
1669C724 899D 74FFFFFF mov dword ptr ss:[ebp-8C],ebx
1669C72A FF15 D0106916 call dword ptr ds:[166910D0] ; msvbvm60.__vbaStrCmp
1669C730 85C0 test eax,eax
1669C732 75 0A jnz short pcy.1669C73E
1669C734 E8 37530100 call pcy.166B1A70
1669C739 E9 95010000 jmp pcy.1669C8D3
1669C73E 8B16 mov edx,dword ptr ds:[esi]
1669C740 8D45 DC lea eax,dword ptr ss:[ebp-24]
1669C743 50 push eax
1669C744 56 push esi
1669C745 FF92 EC070000 call dword ptr ds:[edx+7EC]
1669C74B 3BC3 cmp eax,ebx
1669C74D 7D 12 jge short pcy.1669C761
1669C74F 68 EC070000 push 7EC
1669C754 68 084C6916 push pcy.16694C08
1669C759 56 push esi
1669C75A 50 push eax
1669C75B FF15 60106916 call dword ptr ds:[16691060] ; msvbvm60.__vbaHresultCheckObj
1669C761 8B4D DC mov ecx,dword ptr ss:[ebp-24]
1669C764 8B56 44 mov edx,dword ptr ds:[esi+44]
1669C767 51 push ecx
1669C768 52 push edx
1669C769 FF15 4C106916 call dword ptr ds:[1669104C] ; msvbvm60.__vbaStrCat
1669C76F 8B3D AC116916 mov edi,dword ptr ds:[166911AC] ; msvbvm60.__vbaStrMove
1669C775 8BD0 mov edx,eax
1669C777 8D4D D8 lea ecx,dword ptr ss:[ebp-28]
1669C77A FFD7 call edi
1669C77C 8B06 mov eax,dword ptr ds:[esi]
1669C77E 8D4D D4 lea ecx,dword ptr ss:[ebp-2C]
1669C781 8D55 D8 lea edx,dword ptr ss:[ebp-28]
1669C784 51 push ecx
1669C785 52 push edx
1669C786 56 push esi
1669C787 FF90 24080000 call dword ptr ds:[eax+824]
1669C78D 8B55 D4 mov edx,dword ptr ss:[ebp-2C]
1669C790 8D4D E4 lea ecx,dword ptr ss:[ebp-1C] ;这里EDX出现真正
的注册码FF0261CE80B82A8FB04BC850661879EC850C3BE8
1669C793 895D D4 mov dword ptr ss:[ebp-2C],ebx
1669C796 FFD7 call edi
1669C798 8D45 D8 lea eax,dword ptr ss:[ebp-28]
1669C79B 8D4D DC lea ecx,dword ptr ss:[ebp-24]
1669C79E 50 push eax
1669C79F 51 push ecx
1669C7A0 6A 02 push 2
1669C7A2 FF15 48116916 call dword ptr ds:[16691148] ; msvbvm60.__vbaFreeStrList
1669C7A8 B9 0A000000 mov ecx,0A
1669C7AD B8 04000280 mov eax,80020004
1669C7B2 51 push ecx
1669C7B3 894D 84 mov dword ptr ss:[ebp-7C],ecx
1669C7B6 8BD4 mov edx,esp
1669C7B8 8945 8C mov dword ptr ss:[ebp-74],eax
1669C7BB 68 2C516916 push pcy.1669512C ; UNICODE "LiberationKey"
1669C7C0 68 F8506916 push pcy.166950F8 ; UNICODE "ActiveLock"
1669C7C5 890A mov dword ptr ds:[edx],ecx
1669C7C7 8B4D 88 mov ecx,dword ptr ss:[ebp-78]
1669C7CA 894A 04 mov dword ptr ds:[edx+4],ecx
1669C7CD 8B4E 44 mov ecx,dword ptr ds:[esi+44]
1669C7D0 51 push ecx
1669C7D1 8942 08 mov dword ptr ds:[edx+8],eax
1669C7D4 8B45 90 mov eax,dword ptr ss:[ebp-70]
1669C7D7 8942 0C mov dword ptr ds:[edx+C],eax
1669C7DA FF15 70116916 call dword ptr ds:[16691170] ; msvbvm60.rtcGetSetting
1669C7E0 8BD0 mov edx,eax
1669C7E2 8D4D E0 lea ecx,dword ptr ss:[ebp-20]
1669C7E5 FFD7 call edi
1669C7E7 0FBF46 48 movsx eax,word ptr ds:[esi+48]
1669C7EB 8D55 E4 lea edx,dword ptr ss:[ebp-1C]
1669C7EE 8D4D 84 lea ecx,dword ptr ss:[ebp-7C]
1669C7F1 8955 8C mov dword ptr ss:[ebp-74],edx
1669C7F4 50 push eax
1669C7F5 8D55 C4 lea edx,dword ptr ss:[ebp-3C]
1669C7F8 51 push ecx
1669C7F9 52 push edx
1669C7FA C745 84 08400000 mov dword ptr ss:[ebp-7C],4008
1669C801 FF15 A0116916 call dword ptr ds:[166911A0] ; msvbvm60.rtcLeftCharVar
1669C807 8B3D CC106916 mov edi,dword ptr ds:[166910CC] ; msvbvm60.rtcUpperCaseVar
1669C80D 8D45 C4 lea eax,dword ptr ss:[ebp-3C]
1669C810 8D4D B4 lea ecx,dword ptr ss:[ebp-4C]
1669C813 50 push eax
1669C814 51 push ecx
1669C815 FFD7 call edi
1669C817 8D85 74FFFFFF lea eax,dword ptr ss:[ebp-8C]
1669C81D 8D4D A4 lea ecx,dword ptr ss:[ebp-5C]
1669C820 8D55 E0 lea edx,dword ptr ss:[ebp-20]
1669C823 50 push eax
1669C824 51 push ecx
1669C825 8995 7CFFFFFF mov dword ptr ss:[ebp-84],edx
1669C82B C785 74FFFFFF 0840>mov dword ptr ss:[ebp-8C],4008
1669C835 FFD7 call edi
1669C837 8D55 B4 lea edx,dword ptr ss:[ebp-4C]
1669C83A 8D45 A4 lea eax,dword ptr ss:[ebp-5C]
1669C83D 52 push edx
1669C83E 50 push eax
1669C83F FF15 D4106916 call dword ptr ds:[166910D4] ; msvbvm60.__vbaVarTstEq
1669C845 8D4D A4 lea ecx,dword ptr ss:[ebp-5C]
1669C848 8D55 B4 lea edx,dword ptr ss:[ebp-4C]
1669C84B 66:8BF8 mov di,ax
1669C84E 51 push ecx
1669C84F 52 push edx
1669C850 8D45 C4 lea eax,dword ptr ss:[ebp-3C]
1669C853 50 push eax
1669C854 6A 03 push 3
1669C856 FF15 2C106916 call dword ptr ds:[1669102C] ; msvbvm60.__vbaFreeVarList
1669C85C 83C4 10 add esp,10
1669C85F 66:3BFB cmp di,bx
我的机器码741FF7
注册码FF0261CE80B82A8FB04BC850661879EC850C3BE8
另外,软件作者防了一招,作出的内存注册机会被软件检测到,以前的版本也是这样,呵呵,真是用心良苦啊:)
如果像3.5.2一样的方法爆破,虽然软件能显示[全功能版]和注册用户,但VIP电影还是不能选.这是新版本的特别之处!
--------------------------------------------------------------------------------
【版权声明】: 本文原创于PYG论坛, 转载请注明作者并保持文章的完整, 谢谢!
[ 本帖最后由 suyajun 于 2007-4-22 22:29 编辑 ] |
评分
-
查看全部评分
|