【文章标题】: 菜菜鸟破解入门。。高手勿进。。
【文章作者】: 。。。
【作者邮箱】: 。。
【作者主页】: 。。
【作者QQ号】: 00
【软件名称】: xiaoTV
【软件大小】: 376k
【下载地址】: http://www.xiaotv.com/
【加壳方式】: ASPack 2.12
【保护方式】: 简单的压缩壳
【编写语言】: Delphi
【使用工具】: OD
【操作平台】: XP SP2
【软件介绍】: P2P特别版,在线收看网络电视节目
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
只适合还没入门准备入门的菜菜菜菜。。鸟。。论坛上此类的例子多如牛毛,汗啊。。。希望能给菜菜鸟增加1点点学习的信心。。
1。查壳脱壳
使用PEiD查看是ASPack 2.12 的压缩壳;直接使用WASPACK脱壳,简单啊。。
2。OD载入运行。。
找注册随便输入1个注册码。。什么???键盘1按注册框就没了??
算了,重新载入吧。。。这次不要再按键盘了,直接点注册按纽,看到了。。您的注册码无效。弹出来了。。
那就好办了,跟上吧。。
按ALT+M查找内存,输入“您的注册码无效”查找。。看到了。。
0049A390 C4 FA B5 C4 D7 A2 B2 E1 C2 EB CE DE D0 A7 2C C7 您的注册码无效
0049A3A0 EB D3 EB D7 F7 D5 DF C1 AA CF B5 78 69 61 6F 74 胗胱髡吡?
0049A3B0 76 40 31 36 33 2E 63 6F 6D 00 00 00 E8 F3 FE FB v@163.com.
0049A3C0 FF C3 8B C0 53 8B D8 6A 01 6A 00 6A 00 68 E4 A3 ??S?j
地址在49A390记住了。。到OD里去看499A390,很明显不是程序,是数据啊,怎么办?
查找是谁调用了49A390的数据;
按右键查找常量49A390,找到了。。。就1个地方49A2C3。。汗。。鼠标点1下这句,哈,跳转的红线出来了。。
连接到 0049A1EB 0F85 D2000000 jnz 0049A2C3;
我们就在它上面1句设断点。。运行,点注册,停。。。。很明显了,不想偷懒就跟进吧。。不想跟进就喀嚓了吧。。
把 jnz 0049A2C3;鼠标双击直接改为 jz 0049A2C3;运行下去。。一切OK。。
3。注册表修改破解
接着看下面的程序,去注册表注册,直接在USER\Software\下建立qianghua\xiaotv项,下新建1个字符串regcode,
键值78466324;运行。。。。。。。。。。汗。。。。。。。
0049A1A8 . 55 push ebp
0049A1A9 . 8BEC mov ebp, esp
0049A1AB . 6A 00 push 0
0049A1AD . 6A 00 push 0
0049A1AF . 6A 00 push 0
0049A1B1 . 53 push ebx
0049A1B2 . 8BD8 mov ebx, eax
0049A1B4 . 33C0 xor eax, eax
0049A1B6 . 55 push ebp
0049A1B7 . 68 10A34900 push 0049A310
0049A1BC . 64:FF30 push dword ptr fs:[eax]
0049A1BF . 64:8920 mov dword ptr fs:[eax], esp
0049A1C2 . 8D55 F8 lea edx, dword ptr [ebp-8]
0049A1C5 . 8B83 34030000 mov eax, dword ptr [ebx+334]
0049A1CB . E8 843FFAFF call 0043E154
0049A1D0 . 8B45 F8 mov eax, dword ptr [ebp-8]
0049A1D3 . 50 push eax
0049A1D4 . 8D55 F4 lea edx, dword ptr [ebp-C]
0049A1D7 . 8B83 0C030000 mov eax, dword ptr [ebx+30C]
0049A1DD . E8 723FFAFF call 0043E154
0049A1E2 . 8B55 F4 mov edx, dword ptr [ebp-C]
0049A1E5 . 58 pop eax
0049A1E6 . E8 81A3F6FF call 0040456C ;不想偷懒就跟进吧。。我懒。。。
0049A1EB 0F85 D2000000 jnz 0049A2C3 ;这里跳转到49A2C3。1跳就死。。。
0049A1F1 . 8BC3 mov eax, ebx ;以下是去注册表里注册。。
0049A1F3 . E8 BC00FCFF call 0045A2B4
0049A1F8 . B2 01 mov dl, 1
0049A1FA . A1 3C0C4300 mov eax, dword ptr [430C3C]
0049A1FF . E8 386BF9FF call 00430D3C
0049A204 . 8945 FC mov dword ptr [ebp-4], eax
0049A207 . 33C0 xor eax, eax
0049A209 . 55 push ebp
0049A20A . 68 A4A24900 push 0049A2A4
0049A20F . 64:FF30 push dword ptr fs:[eax]
0049A212 . 64:8920 mov dword ptr fs:[eax], esp
0049A215 . BA 01000080 mov edx, 80000001
0049A21A . 8B45 FC mov eax, dword ptr [ebp-4]
0049A21D . E8 BA6BF9FF call 00430DDC
0049A222 . 33C9 xor ecx, ecx
0049A224 . BA 24A34900 mov edx, 0049A324 ; ASCII "\Software\qianghua\xiaotv"
0049A229 . 8B45 FC mov eax, dword ptr [ebp-4]
0049A22C . E8 EB6CF9FF call 00430F1C
0049A231 . 84C0 test al, al
0049A233 . 75 30 jnz short 0049A265
0049A235 . BA 24A34900 mov edx, 0049A324 ; ASCII "\Software\qianghua\xiaotv"
0049A23A . 8B45 FC mov eax, dword ptr [ebp-4]
0049A23D . E8 FE6BF9FF call 00430E40
0049A242 . B1 01 mov cl, 1
0049A244 . BA 24A34900 mov edx, 0049A324 ; ASCII "\Software\qianghua\xiaotv"
0049A249 . 8B45 FC mov eax, dword ptr [ebp-4]
0049A24C . E8 CB6CF9FF call 00430F1C
0049A251 . B9 48A34900 mov ecx, 0049A348 ; ASCII "78466324"
0049A256 . BA 5CA34900 mov edx, 0049A35C ; ASCII "regcode"
0049A25B . 8B45 FC mov eax, dword ptr [ebp-4]
0049A25E . E8 856FF9FF call 004311E8
0049A263 . EB 0F jmp short 0049A274
0049A265 > B1 01 mov cl, 1
0049A267 . BA 24A34900 mov edx, 0049A324 ; ASCII "\Software\qianghua\xiaotv"
0049A26C . 8B45 FC mov eax, dword ptr [ebp-4]
0049A26F . E8 A86CF9FF call 00430F1C
0049A274 > B9 48A34900 mov ecx, 0049A348 ; ASCII "78466324"
0049A279 . BA 5CA34900 mov edx, 0049A35C ; ASCII "regcode"
0049A27E . 8B45 FC mov eax, dword ptr [ebp-4]
0049A281 . E8 626FF9FF call 004311E8
0049A286 . 33C0 xor eax, eax
0049A288 . 5A pop edx
0049A289 . 59 pop ecx
0049A28A . 59 pop ecx
0049A28B . 64:8910 mov dword ptr fs:[eax], edx
0049A28E . 68 ABA24900 push 0049A2AB
0049A293 > 8B45 FC mov eax, dword ptr [ebp-4]
0049A296 . E8 116BF9FF call 00430DAC
0049A29B . 8B45 FC mov eax, dword ptr [ebp-4]
0049A29E . E8 E990F6FF call 0040338C
0049A2A3 . C3 retn
0049A2A4 .^ E9 3798F6FF jmp 00403AE0
0049A2A9 .^ EB E8 jmp short 0049A293
0049A2AB . B8 6CA34900 mov eax, 0049A36C
0049A2B0 . E8 C738F9FF call 0042DB7C
0049A2B5 . A1 74794D00 mov eax, dword ptr [4D7974]
0049A2BA . 8B00 mov eax, dword ptr [eax]
0049A2BC . E8 F3FFFBFF call 0045A2B4
0049A2C1 . EB 32 jmp short 0049A2F5 ;这里跳走了。。。
0049A2C3 > B8 90A34900 mov eax, 0049A390 ;这里调用了49A390。。。
0049A2C8 . E8 AF38F9FF call 0042DB7C
0049A2CD . 8B83 2C030000 mov eax, dword ptr [ebx+32C]
0049A2D3 . 33D2 xor edx, edx
0049A2D5 . E8 AA3EFAFF call 0043E184
0049A2DA . 8B83 34030000 mov eax, dword ptr [ebx+334]
0049A2E0 . 33D2 xor edx, edx
0049A2E2 . E8 9D3EFAFF call 0043E184
0049A2E7 . 8B83 2C030000 mov eax, dword ptr [ebx+32C]
0049A2ED . 8B10 mov edx, dword ptr [eax]
0049A2EF . FF92 C4000000 call dword ptr [edx+C4]
0049A2F5 > 33C0 xor eax, eax
0049A2F7 . 5A pop edx
0049A2F8 . 59 pop ecx
0049A2F9 . 59 pop ecx
0049A2FA . 64:8910 mov dword ptr fs:[eax], edx
0049A2FD . 68 17A34900 push 0049A317
0049A302 > 8D45 F4 lea eax, dword ptr [ebp-C]
0049A305 . BA 02000000 mov edx, 2
0049A30A . E8 759EF6FF call 00404184
0049A30F . C3 retn
0049A310 .^ E9 CB97F6FF jmp 00403AE0
0049A315 .^ EB EB jmp short 0049A302
0049A317 . 5B pop ebx
0049A318 . 8BE5 mov esp, ebp
0049A31A . 5D pop ebp
0049A31B . C3 retn
0049A31C . FFFFFFFF dd FFFFFFFF
0049A320 . 19000000 dd 00000019
0049A324 . 5C 53 6F 66 7>ascii "\Software\qiangh"
0049A334 . 75 61 5C 78 6>ascii "ua\xiaotv",0
0049A33E 00 db 00
0049A33F 00 db 00
0049A340 . FFFFFFFF dd FFFFFFFF
0049A344 . 08000000 dd 00000008
0049A348 . 37 38 34 36 3>ascii "78466324",0
0049A351 00 db 00
0049A352 00 db 00
0049A353 00 db 00
0049A354 . FFFFFFFF dd FFFFFFFF
0049A358 . 07000000 dd 00000007
0049A35C . 72 65 67 63 6>ascii "regcode",0
0049A364 FF db FF
0049A365 FF db FF
0049A366 FF db FF
0049A367 FF db FF
。。。。。。。。。。。。。。 ;省略。。
0049A38A FF db FF
0049A38B FF db FF
0049A38C 29 db 29 ; CHAR ')'
0049A38D 00 db 00
0049A38E 00 db 00
0049A38F 00 db 00
0049A390 C4 db C4 ;数据以下是“您的注册码无效。。
0049A391 FA db FA
0049A392 B5 db B5
0049A393 C4 db C4
0049A394 D7 db D7
0049A395 A2 db A2
0049A396 B2 db B2
0049A397 E1 db E1
0049A398 . C2 EBCE retn 0CEEB
0049A39B DE db DE
0049A39C D0 db D0
0049A39D A7 db A7
0049A39E 2C db 2C ; CHAR ','
0049A39F C7 db C7
0049A3A0 EB db EB
0049A3A1 D3 db D3
0049A3A2 EB db EB
0049A3A3 D7 db D7
0049A3A4 F7 db F7
0049A3A5 . D5 DF C1 AA C>ascii "者联系xiaotv@163"
0049A3B5 . 2E 63 6F 6D 0>ascii ".com",0
0049A3BA 00 db 00
0049A3BB 00 db 00
--------------------------------------------------------------------------------
【经验总结】
太菜了我都不好意思写了,终于出了1身的汗。。算法有兴趣自己跟进吧,不过还是。。,汗。。。。。。。
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
2006年10月25日 11:44:43
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!