suyajun 发表于 2007-4-22 22:04:30

咸菜馆超级网络电视3.5.3破解教程

【文章标题】: 咸菜馆超级网络电视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:,al
004048FC    48               dec eax
004048FD    0000               add byte ptr ds:,al
004048FF    0030               add byte ptr ds:,dh
00404901    0000               add byte ptr ds:,al
00404903    0040 00            add byte ptr ds:,al
00404906    0000               add byte ptr ds:,al
00404908    0000               add byte ptr ds:,al
0040490A    0000               add byte ptr ds:,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:
================================================================
逐步F8,跟到下面的代码时,发现两个跳转不一样
004D53E9   /0F85 91000000      jnz XCGTV.004D5480    ; 原版这个地方信息窗口提示:跳转没有实现
004D53EF   |833D 3C7E5300 00   cmp dword ptr ds:,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:,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:
1669C6D1    50               push eax
1669C6D2    64:8925 00000000   mov dword ptr fs:,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:,esp
1669C6E5    C745 F8 F0126916   mov dword ptr ss:,pcy.166912F0
1669C6EC    33DB               xor ebx,ebx
1669C6EE    895D FC            mov dword ptr ss:,ebx
1669C6F1    8B75 08            mov esi,dword ptr ss:
1669C6F4    56               push esi
1669C6F5    8B06               mov eax,dword ptr ds:
1669C6F7    FF50 04            call dword ptr ds:
1669C6FA    8B4E 44            mov ecx,dword ptr ds:
1669C6FD    895D E8            mov dword ptr ss:,ebx
1669C700    51               push ecx
1669C701    68 704E6916      push pcy.16694E70
1669C706    895D E4            mov dword ptr ss:,ebx
1669C709    895D E0            mov dword ptr ss:,ebx
1669C70C    895D DC            mov dword ptr ss:,ebx
1669C70F    895D D8            mov dword ptr ss:,ebx
1669C712    895D D4            mov dword ptr ss:,ebx
1669C715    895D C4            mov dword ptr ss:,ebx
1669C718    895D B4            mov dword ptr ss:,ebx
1669C71B    895D A4            mov dword ptr ss:,ebx
1669C71E    895D 94            mov dword ptr ss:,ebx
1669C721    895D 84            mov dword ptr ss:,ebx
1669C724    899D 74FFFFFF      mov dword ptr ss:,ebx
1669C72A    FF15 D0106916      call dword ptr ds:                   ; 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:
1669C740    8D45 DC            lea eax,dword ptr ss:
1669C743    50               push eax
1669C744    56               push esi
1669C745    FF92 EC070000      call dword ptr ds:
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:                   ; msvbvm60.__vbaHresultCheckObj
1669C761    8B4D DC            mov ecx,dword ptr ss:
1669C764    8B56 44            mov edx,dword ptr ds:
1669C767    51               push ecx
1669C768    52               push edx
1669C769    FF15 4C106916      call dword ptr ds:                   ; msvbvm60.__vbaStrCat
1669C76F    8B3D AC116916      mov edi,dword ptr ds:                ; msvbvm60.__vbaStrMove
1669C775    8BD0               mov edx,eax
1669C777    8D4D D8            lea ecx,dword ptr ss:
1669C77A    FFD7               call edi
1669C77C    8B06               mov eax,dword ptr ds:
1669C77E    8D4D D4            lea ecx,dword ptr ss:
1669C781    8D55 D8            lea edx,dword ptr ss:
1669C784    51               push ecx
1669C785    52               push edx
1669C786    56               push esi
1669C787    FF90 24080000      call dword ptr ds:
1669C78D    8B55 D4            mov edx,dword ptr ss:
1669C790    8D4D E4            lea ecx,dword ptr ss:   ;这里EDX出现真正
                                                                                           的注册码FF0261CE80B82A8FB04BC850661879EC850C3BE8
1669C793    895D D4            mov dword ptr ss:,ebx
1669C796    FFD7               call edi
1669C798    8D45 D8            lea eax,dword ptr ss:
1669C79B    8D4D DC            lea ecx,dword ptr ss:
1669C79E    50               push eax
1669C79F    51               push ecx
1669C7A0    6A 02            push 2
1669C7A2    FF15 48116916      call dword ptr ds:                   ; 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:,ecx
1669C7B6    8BD4               mov edx,esp
1669C7B8    8945 8C            mov dword ptr ss:,eax
1669C7BB    68 2C516916      push pcy.1669512C                              ; UNICODE "LiberationKey"
1669C7C0    68 F8506916      push pcy.166950F8                              ; UNICODE "ActiveLock"
1669C7C5    890A               mov dword ptr ds:,ecx
1669C7C7    8B4D 88            mov ecx,dword ptr ss:
1669C7CA    894A 04            mov dword ptr ds:,ecx
1669C7CD    8B4E 44            mov ecx,dword ptr ds:
1669C7D0    51               push ecx
1669C7D1    8942 08            mov dword ptr ds:,eax
1669C7D4    8B45 90            mov eax,dword ptr ss:
1669C7D7    8942 0C            mov dword ptr ds:,eax
1669C7DA    FF15 70116916      call dword ptr ds:                   ; msvbvm60.rtcGetSetting
1669C7E0    8BD0               mov edx,eax
1669C7E2    8D4D E0            lea ecx,dword ptr ss:
1669C7E5    FFD7               call edi
1669C7E7    0FBF46 48          movsx eax,word ptr ds:
1669C7EB    8D55 E4            lea edx,dword ptr ss:
1669C7EE    8D4D 84            lea ecx,dword ptr ss:
1669C7F1    8955 8C            mov dword ptr ss:,edx
1669C7F4    50               push eax
1669C7F5    8D55 C4            lea edx,dword ptr ss:
1669C7F8    51               push ecx
1669C7F9    52               push edx
1669C7FA    C745 84 08400000   mov dword ptr ss:,4008
1669C801    FF15 A0116916      call dword ptr ds:                   ; msvbvm60.rtcLeftCharVar
1669C807    8B3D CC106916      mov edi,dword ptr ds:                ; msvbvm60.rtcUpperCaseVar
1669C80D    8D45 C4            lea eax,dword ptr ss:
1669C810    8D4D B4            lea ecx,dword ptr ss:
1669C813    50               push eax
1669C814    51               push ecx
1669C815    FFD7               call edi
1669C817    8D85 74FFFFFF      lea eax,dword ptr ss:
1669C81D    8D4D A4            lea ecx,dword ptr ss:
1669C820    8D55 E0            lea edx,dword ptr ss:
1669C823    50               push eax
1669C824    51               push ecx
1669C825    8995 7CFFFFFF      mov dword ptr ss:,edx
1669C82B    C785 74FFFFFF 0840>mov dword ptr ss:,4008
1669C835    FFD7               call edi
1669C837    8D55 B4            lea edx,dword ptr ss:
1669C83A    8D45 A4            lea eax,dword ptr ss:
1669C83D    52               push edx
1669C83E    50               push eax
1669C83F    FF15 D4106916      call dword ptr ds:                   ; msvbvm60.__vbaVarTstEq
1669C845    8D4D A4            lea ecx,dword ptr ss:
1669C848    8D55 B4            lea edx,dword ptr ss:
1669C84B    66:8BF8            mov di,ax
1669C84E    51               push ecx
1669C84F    52               push edx
1669C850    8D45 C4            lea eax,dword ptr ss:
1669C853    50               push eax
1669C854    6A 03            push 3
1669C856    FF15 2C106916      call dword ptr ds:                   ; 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 编辑 ]

lhl8730 发表于 2007-4-22 22:39:06

高,学习~~

菜儿 发表于 2007-4-22 22:47:32

牛..严重学习.....
脱壳后...去除...效验好简单...

网游难民 发表于 2007-4-22 22:53:49

学习中`~
牛人,支持~

qq500com 发表于 2007-4-22 23:05:09

/:12 有点看不懂,支持一下/:12

qq500com 发表于 2007-4-22 23:06:46

我想问一下楼主,为什么我刚才下的是3.5.2版本?

ljfu 发表于 2007-4-23 00:32:14

高,不到一天就破掉了,厉害!!

suyajun 发表于 2007-4-23 06:31:06

回复 #6 qq500com 的帖子

你直接点它主页面上方的那个大的图片,那里有个超链接,指向的就是3.5.3版本

yunfeng 发表于 2007-4-23 06:52:28

厉害,牛人。

allcam 发表于 2007-4-23 07:00:23

真厉害,学习打印出来漫漫对比着看
页: [1] 2 3
查看完整版本: 咸菜馆超级网络电视3.5.3破解教程