好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 a408115319 于 2011-7-1 17:58 编辑
【文章标题】: 宽带客户端插件(Dr.com)DLL脱壳
【文章作者】: a408115319
【作者邮箱】: xing.suifeng@gmail.com
【作者主页】: www.ccc5.cc/suifeng
【软件名称】: Dr.com插件
【下载地址】: 自己搜索下载
【加壳方式】: UPX
【编写语言】: VC++
【使用工具】: OD+LordPR+ImportREC
【操作平台】: WIN7
【软件介绍】: 这东西很邪恶 用校园网的童鞋都晓得
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【版权声明】:
2011年07月01日 12:56:02
+大牛们飘过吧······
好久没有饭蔷 今天开上XX门 (你懂的) 准备去外头逛逛··· 丫的 居然弹出 本机不能使用代理啥的 .....悲催 估计是校园网的宽带插件搞的鬼
于是OD载入插件的EXE主程序 UPX的壳 很容易找字符串 翻了半天没看到关于代理的字符串 难道是在dll里面?
这东西完全陌生啊 只能硬着头皮上阵了
查壳 依旧是UPX(谢天谢地 不是VMP啥的)
虽然窃喜 但据说DLL脱壳重定位是个麻烦事 于是参阅了一下《加密与解密第三版》的第十三章 勉强脱掉了壳
下面的东西对许多人来说也许简单 我写出来也只是供新人参考 不喜欢的勿喷 欢迎指正错误
首先OD载入 drcomdll.dll
入口代码
1001765F 0080 7C240801 add byte ptr ds:[eax+0x108247C],al
10017665 0F85 C2010000 jnz drcomdll.1001782D
1001766B 60 pushad
1001766C BE 00300110 mov esi,drcomdll.10013000
10017671 8DBE 00E0FEFF lea edi,dword ptr ds:[esi-0x12000]
10017677 57 push edi
10017678 83CD FF or ebp,-0x1
1001767B EB 0D jmp short drcomdll.1001768A
1001767D 90 nop
1001767E 90 nop
1001767F 90 nop
10017680 8A06 mov al,byte ptr ds:[esi]
10017682 46 inc esi
接下来就一路F8单步 注意F4打断回跳的指令
直到跑到
100177A7 55 push ebp
100177A8 FF96 64B20100 call dword ptr ds:[esi+0x1B264]
100177AE 09C0 or eax,eax
100177B0 74 07 je short drcomdll.100177B9
100177B2 8903 mov dword ptr ds:[ebx],eax
100177B4 83C3 04 add ebx,0x4
100177B7 ^ EB D8 jmp short drcomdll.10017791 ; 这里打住 直接到下面去
100177B9 61 popad
100177BA 31C0 xor eax,eax
100177BC C2 0C00 retn 0xC
100177BF 83C7 04 add edi,0x4 ; 直接F4到这里来吧
100177C2 8D5E FC lea ebx,dword ptr ds:[esi-0x4]
100177C5 31C0 xor eax,eax
100177C7 8A07 mov al,byte ptr ds:[edi] ; 跑到这里 记下寄存器中的EDI值 我这里100177B7
100177C9 47 inc edi
100177CA 09C0 or eax,eax
100177CC 74 22 je short drcomdll.100177F0
100177CE 3C EF cmp al,0xEF
100177D0 77 11 ja short drcomdll.100177E3
然后再继续F7下去10017819 50 push eax
1001781A 53 push ebx
1001781B 57 push edi
1001781C FFD5 call ebp
1001781E 58 pop eax
1001781F 61 popad
10017820 8D4424 80 lea eax,dword ptr ss:[esp-0x80]
10017824 6A 00 push 0x0
10017826 39C4 cmp esp,eax
10017828 ^ 75 FA jnz short drcomdll.10017824
1001782A 83EC 80 sub esp,-0x80
1001782D - E9 48F8FEFF jmp drcomdll.1000707A ; 大步走向OEP吧
10017832 0000 add byte ptr ds:[eax],al
10017834 0000 add byte ptr ds:[eax],al
10017836 0000 add byte ptr ds:[eax],al
OEP处代码
1000707A 55 push ebp ; OEP了 计算下 1000707A-1000000=707A
1000707B 8BEC mov ebp,esp
1000707D 53 push ebx
1000707E 8B5D 08 mov ebx,dword ptr ss:[ebp+0x8]
10007081 56 push esi
10007082 8B75 0C mov esi,dword ptr ss:[ebp+0xC]
10007085 57 push edi
10007086 8B7D 10 mov edi,dword ptr ss:[ebp+0x10]
10007089 85F6 test esi,esi
接下来LordPE该登场了
如图 Dump下来
接下来打开LordPE的 PE编辑器 打开我们Dump下来的文件 点目录 打开目录表
在图中标示的 重定位的RVA栏填入我们记下的EDI的值减去基址 100177B7-1000000=177b7 即填入000177B2 然后先点保存 再点确定 继续点保存 再确定
然后用ImportREC修复输入表
这里要注意 使用它之前 先点选项设置一下
然后附加活动进程为你的OD 选取dll文件为drcomdll.dll
确定之后 修改OEP为 1000707A-1000000=707A
自动查找IAT-----获取输入表 如果没无效指针的话 就可以转存文件了
这是我脱壳后的
哈哈 衣服已经脱完了······各位淫民 邪恶吧
好心的管理大大 把我那违规去掉吧 虽然没什么影响 但看着总不舒服
练习的下载吧
drcomdll.rar
(29.6 KB, 下载次数: 84)
Unpack_.rar
(32.81 KB, 下载次数: 71)
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|