好友
阅读权限40
听众
最后登录1970-1-1
|
【文章标题】: XXX下载软件破解
【文章作者】: lqiulu by [LCG]
【软件名称】: XXX下载软件
【软件大小】: 2.18M
【下载地址】: 自己搜索下载
【加壳方式】: 无壳
【保护方式】: 注册码
【编写语言】: VC++ 6.0
【使用工具】: OD PEID
【操作平台】: XP SP3
【软件介绍】: 网络传送带是一个高效稳定功能强大的下载工具,下载速度一流,CPU占用率低,尤其在宽带上特别明显;内建易于使用的文件管理器,轻松实现按类别存放下载的文件。而且只要站点支持,这些协议均支持多线程断点续传。MMS协议流每秒的字节数差不多是固定的,这就决定了MMS流本身不能充分利用用户的带宽资源,所以多线程技术能有效地缩短MMS流下载的时间。RTSP同样支持多线程,另外选中“流/最大速度”能明显提速,效果立竿见影。影音传送带支持HTTPS(加密套接字协议层),并且支持经过HTTP、SOCKS4&5等代理下载;FTP同样支持SSL,可以有效地保护传输的数据安全。可以说,影音传送带支持的协议之多,功能之全是世上少见,可谓极品。
Net Transport 2.71 (2008.10.29)
增强MMS,使得过滤掉广告后也能下载剪辑。
修改MMS合并方式,使得合并时影像更完美。
支持下载Helix服务器的MP4文件。目前视频仅支持 H.264、MP4V;音频仅支持 AAC-hbr、AAC-lbr、AMR。
--------------------------------------------------------------------------------------------------
我们可以用多种方法进行处理:
⑴F12暂停法:
试运行发现,有提示注册的NAG,好了我们就先从这入手。用F12暂停法,首先运行程序,到NAG出现后F12暂停。ALT+K到堆栈调用窗口,
Call stack of main thread
Address Stack Procedure / arguments Called from Frame
0012EF00 0046B2A6 ? <JMP.&MFC42u.#2506> NetTrans.0046B2A1
.....................
0012FF14 00527015 ? <JMP.&MFC42u.#1569> NetTrans.00527010
0012FF28 00526B35 ? NetTrans.00527000 NetTrans.<ModuleEntryPoint>+
有关程序的调用有三处,我们不知道哪一处是窗口的调用就三处都下断点,crtl+f2重新运行,这个程序对断点的检验还挺厉害的,程序直接退出了。断了两次,这两个明显不是窗口的调用,那么剩下的一定就是了。
来到这里:
[5F8CB6CC]这个就是关键的内存地址。
0046B274 . E8 7722FFFF CALL 0045D4F0 ; \关键call,进入。
0046B279 . 8B4424 28 MOV EAX,DWORD PTR SS:[ESP+28]
0046B27D . 8B48 F8 MOV ECX,DWORD PTR DS:[EAX-8] ; 关键地址
0046B280 . 85C9 TEST ECX,ECX
0046B282 . 75 79 JNZ SHORT 0046B2FD
0046B284 . 6A 00 PUSH 0
0046B286 . 8D8C24 48010000 LEA ECX,DWORD PTR SS:[ESP+148]
0046B28D . E8 0EEC0200 CALL 00499EA0
0046B292 . 8D8C24 44010000 LEA ECX,DWORD PTR SS:[ESP+144]
0046B299 . C68424 FC0F0000 0B MOV BYTE PTR SS:[ESP+FFC],0B
0046B2A1 . E8 1CA80B00 CALL <JMP.&MFC42u.#2506> ; 注册框的出现
-------------------------------------------------------------------------------------------
0045D4F0 /$ 6A FF PUSH -1 //多次调用。
0045D4F2 |. 68 78E25200 PUSH 0052E278 ; SE handler installation
0045D4F7 |. 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
0045D4FD |. 50 PUSH EAX
0045D4FE |. 64:8925 00000000 MOV DWORD PTR FS:[0],ESP
0045D505 |. 83EC 6C SUB ESP,6C
0045D508 |. 53 PUSH EBX
.....................................................................
0045D67A |. E8 E1F5FFFF CALL 0045CC60
0045D67F |. 8B16 MOV EDX,DWORD PTR DS:[ESI]
0045D681 |. 8B42 F8 MOV EAX,DWORD PTR DS:[EDX-8]
第一次读取,只改这一处后,别的就不用再改了,给关键位置赋值。
;//改为内存地址加1,即:inc DWORD PTR DS:[EDX-8]
0045D684 |. 85C0 TEST EAX,EAX
0045D686 |. 75 26 JNZ SHORT 0045D6AE//这里一定跳,改为jmp
0045D688 |. 57 PUSH EDI
0045D689 |. 55 PUSH EBP
0045D68A |. 53 PUSH EBX
0045D68B |. 8D4424 48 LEA EAX,DWORD PTR SS:[ESP+48]
改好了运行一下吧,OK了,也不显示未注册了。保存一下程序。
发现有自校验,程序一运行就退出。连名字都不能改,我们把保存的程序改为原来的名字,
下断点:BP CreateFileA 运行,断下后返回,一直返回到程序领空。
7C801A28 k> 8BFF MOV EDI,EDI //断在这里,alt+f9返回
7C801A2A 55 PUSH EBP
7C801A2B 8BEC MOV EBP,ESP
7C801A2D FF75 08 PUSH DWORD PTR SS:[EBP+8]
7C801A30 E8 CFC60000 CALL 7C80E104
----------------------------------------------------------------------------------
00E4A361 8BF0 MOV ESI,EAX //返回到这里,不是程序领空,crtl+f9
00E4A363 83FE FF CMP ESI,-1
00E4A366 0F84 83000000 JE 00E4A3EF
...................................
00E4A3EC 5E POP ESI
00E4A3ED 5B POP EBX
00E4A3EE C3 RETN //到这里单步。
-----------------------------------------------------------------------------------------
0045CC29 |. 83C4 14 ADD ESP,14 ; 返回程序领空,到这里,单步
0045CC2C |. 3C 01 CMP AL,1
0045CC2E |. BE 01000000 MOV ESI,1
0045CC33 |. 74 04 JE SHORT 0045CC39
0045CC35 |. 8B7424 60 MOV ESI,DWORD PTR SS:[ESP+60]
--------------------------------------------------------------------------------------------
0046B202 . 85C0 TEST EAX,EAX //单步一直返回到这里。
0046B204 75 4E JNZ SHORT 0046B254 ; 这里没有跳,修改jmp,OK。
0046B206 . 8D4C24 3C LEA ECX,DWORD PTR SS:[ESP+3C]
0046B20A . C68424 FC0F0000 06 MOV BYTE PTR SS:[ESP+FFC],6
0046B212 . E8 B918FFFF CALL 0045CAD0
0046B217 . 8D4C24 24 LEA ECX,DWORD PTR SS:[ESP+24]
0046B21B . C68424 FC0F0000 03 MOV BYTE PTR SS:[ESP+FFC],3
0046B223 . E8 C6A90B00 CALL <JMP.&MFC42u.#800>
0046B228 . 8D4C24 20 LEA ECX,DWORD PTR SS:[ESP+20]
0046B22C . C68424 FC0F0000 00 MOV BYTE PTR SS:[ESP+FFC],0
0046B234 . E8 B5A90B00 CALL <JMP.&MFC42u.#800>
0046B239 . 8D4C24 10 LEA ECX,DWORD PTR SS:[ESP+10]
0046B23D . C78424 FC0F0000 FFFFFFF>MOV DWORD PTR SS:[ESP+FFC],-1
0046B248 . E8 A1A90B00 CALL <JMP.&MFC42u.#800>
0046B24D . 33C0 XOR EAX,EAX
0046B24F . E9 780D0000 JMP 0046BFCC ; 这里将跳向over,上面46B202处必须跳。
==============================================================================================
②字符串查找法
注意到程序的“关于”里有“Unregistered Version”提示,我们还可以用字符串查找的方式找到关键点,用ASC和UNICODE两种方式都查一下。用UNICODE方式可以找到,找到的关键地址与前一种方法一样。
【版权声明】: 本文原创于“吾爱破解论坛”, 转载请注明作者并保持文章的完整, 谢谢!
2008年11月08日 13:04:07
视频动画:http://bbs.52pojie.cn/viewthread.php?tid=13282&extra=page%3D1
[ 本帖最后由 lqiulu 于 2008-11-10 08:32 编辑 ] |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|