看雪软件安全论坛



返回   看雪软件安全论坛 > 软件安全 > 『软件调试论坛』

『软件调试论坛』 本版讨论的主题包括:调试逆向、系统底层、漏洞分析、商业保护、病毒木马、虚拟机、.NET平台、安全新闻等

Expired Thread 该主题: "再谈Dll注入NetTransport 2.25.337【原创】" 因在一年内没有任何回复而自动关闭。
如果您还对该主题感兴趣或者想参与对此主题的讨论,请您重新发表一篇相关的新主题。

发表新主题 关闭主题
关注  
主题工具 显示模式
ljy3282393
级别:1 | 在线时长:6小时 | 升级还需:6小时

ljy3282393 的头像

普通会员
普通会员

资 料:
注册日期: Nov 2004
帖子: 426 ljy3282393 品行端正
精华: 1
现金: 200 Kx
1 旧 2006-11-27, 20:09:02 默认 再谈Dll注入NetTransport 2.25.337【原创】
ljy3282393 当前离线

【详细过程】
  写在前面:看了wynney大大的《Dll注入NetTransport 2.25.337 》一文,觉得深受启发!不过wynney在定位注册框的时候写得比较简略,只是说“F7配合F8很容易就找到掉用注册框的地方”。我问他能不能详细说说这个过程,wynney说这个是基本功!其实,OD有一个自动跟踪的功能,用这个功能在定位注册框、NAG等对话框时非常有用和简便。只是不知为什么,我见到现在很少有人提到这个功能,于是便有了本文,说得不对的地方还请各位指正!
  OD加载NetTransport 2.25.337后,CTRL+F8 ;让OD自动跟踪!
  7C935C93    5E              pop     esi
  7C935C94    F7FE            idiv    esi
  7C935C96    85D2            test    edx, edx     ;稍等一会后OD停在这里!
  7C935C98    75 32           jnz     short 7C935CCC
  7C935C9A    66:8B71 02      mov     si, [ecx+2]
  7C935C9E    53              push    ebx
  
  这时由于主程序(NetTransport)还没有运行起来,故继续CTRL+F8 第二次:
  00443EA7   .  6A 00         push    0                                         ; /Arg2 = 00000000
  00443EA9   .  50            push    eax                                       ; |Arg1
  00443EAA   .  8D8C24 A40000>lea     ecx, [esp+A4]                             ; |
  00443EB1   .  C68424 0C1000>mov     byte ptr [esp+100C], 0A                   ; |
  00443EB9   .  E8 4272FFFF   call    0043B100                           \NetTrans.0043B100
  00443EBE   .  8B4C24 18     mov     ecx, [esp+18]
  00443EC2   .  8B41 F8       mov     eax, [ecx-8]     ;[ecx-8]=[728776CC],记住他
  00443EC5   .  85C0          test    eax, eax
  00443EC7   .  75 78         jnz     short 00443F41    ;看看/跳过的话那不就不用注册了?
  00443EC9   .  6A 00         push    0
  00443ECB   .  8D8C24 500100>lea     ecx, [esp+150]
  00443ED2   .  E8 79860200   call    0046C550
  00443ED7   .  8D8C24 4C0100>lea     ecx, [esp+14C]
  00443EDE   .  C68424 041000>mov     byte ptr [esp+1004], 0B
  00443EE6   .  E8 F72C0800   call    <jmp.&MFC42u.#2506>     ; 稍等一会后OD停在这里!
  00443EEB   .  3D 55050000   cmp     eax, 555
  00443EF0   .  75 13         jnz     short 00443F05
  00443EF2   .  8D5424 18     lea     edx, [esp+18]
  
  这时留意到主程序已经运行了(注册对话框已经弹出了)!
  故00443EE6   .  E8 F72C0800   call    <jmp.&MFC42u.#2506> 这个call就是调用注册对话框的call!
  我们发现[ecx-8]=[728776CC]=1才可以跳过去这个CALL!在此之后,wynney是通过追踪关键Call的方法来找到对程序打补丁的地方的。我认为不用这样大费周折的,只要直接找到程序哪里对[728776CC]进行赋值的不就可以了!为了找到程序对[728776CC]进行赋值的地方,于是CTRL+F2重新加载程序,然后对内存地址[728776CC]下硬件字节写入断点!F9运行
  727A47E0    8B06            mov     eax, [esi]
  727A47E2    83C4 0C         add     esp, 0C
  727A47E5    8978 F8         mov     [eax-8], edi        ;这里对内存地址[728776CC]进行赋值!
  727A47E8    8B06            mov     eax, [esi]             ;OD即时中断在这里!                   
  727A47EA    66:832403 00    and     word ptr [ebx+eax], 0
  
  于是我们把727A47E5    8978 F8         mov     [eax-8], edi   改为  jmp 72843C71  ;跳向Patch位置
  
  72843C71    C640 F8 01      mov     byte ptr [728776CC], 1    ;对内存地址[728776CC]进行赋值1!
  72843C75    8B06            mov     eax, [esi]              ;原代码挪下
  72843C77  ^ E9 6E0BF6FF     jmp     727A47EA               ;跳回原代码执行流程
  
  复制修改--》覆盖本目录下的MFC42u.DLL
    
    再运行NetTransport看看,启动时的注册框没了,关于里面显示:注册给,因为注册表里没任何信息嘛,关于里的注册钮也变成灰色了
    经过测试[挂了几个小时],也没弹出那讨厌的注册框了:0  工作完成,谢谢观赏。(这句话是抄wynney的!)
  写在后面:本文旨在提供另一种破解思路,欢迎指正!

此帖于 2006-11-27 20:11:13 被 ljy3282393 最后编辑
回复时引用此帖 返回顶端
笨笨雄
级别:32 | 在线时长:1208小时 | 升级还需:13小时级别:32 | 在线时长:1208小时 | 升级还需:13小时

『初学者园地』区版主
『初学者园地』区版主

资 料:
注册日期: Sep 2006
帖子: 3,468 笨笨雄 品行端正
精华: 13
现金: 569 Kx
2 旧 2006-11-27, 20:49:53 默认
笨笨雄 当前离线

不会用CTRL+F8
PATCH DLL还是PATCH EXE比较好?
这是一个问题

回复时引用此帖 返回顶端
hrbx
级别:9 | 在线时长:126小时 | 升级还需:14小时级别:9 | 在线时长:126小时 | 升级还需:14小时级别:9 | 在线时长:126小时 | 升级还需:14小时

普通会员
普通会员

资 料:
注册日期: Jul 2005
帖子: 193 hrbx 品行端正
精华: 8
现金: 201 Kx
3 旧 2006-11-27, 21:29:26 默认
hrbx 当前离线

学习,支持一下!

回复时引用此帖 返回顶端
wynney
级别:16 | 在线时长:354小时 | 升级还需:3小时

wynney 的头像

高级会员
高级会员

资 料:
注册日期: Oct 2004
帖子: 1,060 wynney 品行端正
精华: 25
现金: 22 Kx
4 旧 2006-11-27, 21:44:58 默认
wynney 当前离线

引用:
最初由 笨笨雄 发布
不会用CTRL+F8
PATCH DLL还是PATCH EXE比较好?
这是一个问题 
支持楼主
 
你这个方法以前有朋友说过,不过还是稍微麻烦了点,有个更简单的法子:)

PS:个人认为Patch DLL比较好点

回复时引用此帖 返回顶端
ggosgg
级别:3 | 在线时长:24小时 | 升级还需:8小时级别:3 | 在线时长:24小时 | 升级还需:8小时级别:3 | 在线时长:24小时 | 升级还需:8小时

ggosgg 的头像

初级会员
初级会员

资 料:
注册日期: Oct 2005
帖子: 82 ggosgg 品行端正
精华: 0
现金: 200 Kx
5 旧 2006-11-28, 13:55:03 默认
ggosgg 当前离线

不错...一会回去试试此方法.

回复时引用此帖 返回顶端
icefall
级别:13 | 在线时长:221小时 | 升级还需:31小时级别:13 | 在线时长:221小时 | 升级还需:31小时级别:13 | 在线时长:221小时 | 升级还需:31小时级别:13 | 在线时长:221小时 | 升级还需:31小时

icefall 的头像

普通会员
普通会员

资 料:
注册日期: Jun 2006
帖子: 146 icefall 品行端正
精华: 1
现金: 110 Kx
6 旧 2006-11-28, 17:05:40 默认
icefall 当前离线

不错,顶一个 学到了ctrl+F8

回复时引用此帖 返回顶端
ljy3282393
级别:1 | 在线时长:6小时 | 升级还需:6小时

ljy3282393 的头像

普通会员
普通会员

资 料:
注册日期: Nov 2004
帖子: 426 ljy3282393 品行端正
精华: 1
现金: 200 Kx
7 旧 2006-11-28, 19:33:50 默认
ljy3282393 当前离线

引用:
最初由 笨笨雄 发布

PATCH DLL还是PATCH EXE比较好?
 
不管白猫还是?猫,只要捉到老鼠就是好猫!

回复时引用此帖 返回顶端
ljy3282393
级别:1 | 在线时长:6小时 | 升级还需:6小时

ljy3282393 的头像

普通会员
普通会员

资 料:
注册日期: Nov 2004
帖子: 426 ljy3282393 品行端正
精华: 1
现金: 200 Kx
8 旧 2006-11-28, 19:36:38 默认
ljy3282393 当前离线

引用:
最初由 wynney 发布

 
你这个方法以前有朋友说过,不过还是稍微麻烦了点,有个更简单的法子:)

 
有什么更简单的法子不妨说出来,让大家学习一下!

回复时引用此帖 返回顶端
发表新主题 关闭主题

书签
Expired Thread 该主题: "再谈Dll注入NetTransport 2.25.337【原创】" 因在一年内没有任何回复而自动关闭。
如果您还对该主题感兴趣或者想参与对此主题的讨论,请您重新发表一篇相关的新主题。


主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子
论坛启用 BB 代码
论坛启用 表情符号
论坛跳转


所有时间均为北京时间。现在的时间是 22:03:02


©2000-2010 PEdiy.com All rights reserved.By PEDIY
Powered by vBulletin ®Jelsoft Enterprises Ltd. 增强包制作PHP源动力.界面支持standme Studio.