Smoke 发表于 2011-3-22 14:37

Molebox V4.1290脱壳

本帖最后由 Smoke 于 2011-3-22 16:22 编辑

【文章标题】: molebox V4.1290脱壳
【文章作者】: Smoke
【作者邮箱】: 97463448@qq.com
【作者主页】: www.smoke08.com
【作者QQ号】: 97463448
【软件名称】: molebox.exe
【软件大小】: 1.26 MB
【下载地址】: 附件内有
【加壳方式】: molebox
【保护方式】: molebox
【编写语言】: Microsoft Visual C++ 7.0
【使用工具】: OD,LordPE,
【操作平台】: Windows Xp Sp3
【软件介绍】: 一款不错的捆绑壳.
【作者声明】: 只是感兴趣,没有其他目的.失误之处敬请各位多多指教!
--------------------------------------------------------------------------------
附件下载:
附上原版和脱壳后的molebox
--------------------------------------------------------------------------------
【详细过程】
molebox 是一款不错的捆绑壳
就用molebox V4.1290主程序来进行演示吧
有不到位的地方还请各位多多指出.
程序为Microsoft Visual C++ 7.0编写
就用xp自带的notepad.exe对比吧
OD载入notepad.exe
记录:
010073B4 . 66:8138 4D5A cmp word ptr , 5A4D
010073B9 . 75 1F jnz short 010073DA ; 010073DA
010073BB . 8B48 3C mov ecx, dword ptr
010073BE . 03C8 add ecx, eax
010073C0 . 8139 50450000 cmp dword ptr , 4550
二进制为:
66 81 38 4D 5A 75 1F 8B 48 3C 03 C8 81 39 50 45 00 00
载入molebox.exe
F9运行
Alt+M
查找二进制 66 81 38 4D 5A 75 1F 8B 48 3C 03 C8 81 39 50 45 00 00
复制 004F189266   f
来到CPU窗口 跟随表达式 004F1892
Ctrl+L 来到
004F18E0 6A 74 push 74
004F18E2 68 D0E55600 push 56E5D0
004F18E7 E8 A4030000 call 004F1C90 ; 004F1C90
004F18EC 33DB xor ebx, ebx
004F18EE 895D E0 mov dword ptr , ebx
004F18F1 53 push ebx
004F18F2 8B3D 90C25100 mov edi, dword ptr ; kernel32.GetModuleHandleA
004F18F8 FFD7 call edi
004F18FA 66:8138 4D5A cmp word ptr , 5A4D
004F18FF 75 1F jnz short 004F1920 ; 004F1920
004F1901 8B48 3C mov ecx, dword ptr
004F1904 03C8 add ecx, eax
004F1906 8139 50450000 cmp dword ptr , 4550

在 004F18E0 6A 74 push 74 //下硬件执行断点OD重载F9运行 看IAT 似乎没加密

但是前人提到了IAT除了以下几个,全部有效:
004F1652 - FF25 90CC5100 jmp dword ptr ds:
004F1658 - FF25 A0CC5100 jmp dword ptr ds:
004F165E - FF25 94CC5100 jmp dword ptr ds:
004F1664 - FF25 98CC5100 jmp dword ptr ds:
004F166A - FF25 9CCC5100 jmp dword ptr ds:跟随表达式到 004F1652

数据窗口来到00E35010 往上拉 来到 00E30000发现是一个PE文件 应该是捆绑的dll文件

现在还不能dump出来.因为文件已经被初始化了... 记录 DLL基址:00E30000


重载程序,下 bp VirtualAlloc 末尾下断

观察寄存器窗口的EAX

见到申请00E30000后,下内存写入断点,F9运行
00AF70F5 8807 mov byte ptr , al
00AF70F7 46 inc esi
00AF70F8 47 inc edi
00AF70F9 49 dec ecx
00AF70FA ^ 75 F7 jnz short 00AF70F3

删除内存写入断点

发现是循环填充 在 00AF70FC 59 pop ecx //F4过来

F8单步走 00B03477 56 push esi //F4这个时候提取这个数据 为 molebox1.dll

由于是按照区段来进行解码,所以用 LordPE 来修改区段信息

把文件块对齐修改为 00001000文件头大小修改为 00001000保存

区段表

.text   虚拟地址 00001000   虚拟大小 00010000原始偏移 00001000原始大小00010000
.expo   虚拟地址 00011000   虚拟大小 00001000原始偏移 00011000原始大小00001000
.reloc虚拟地址 00012000   虚拟大小 00001000原始偏移 00012000原始大小00001000

导出表

文件名为 masterli.dll把molebox1.dll重命名为masterli.dll

重载程序 Shift+F9 来到oep

手工写代码载入masterli.dll

撤销所写入的代码 还原EIP


来到 004F1652

004F1652- FF25 90CC5100      jmp   dword ptr

调用的还是原来的地址 修改为载入的地址
004F1652
偏移00E35010
改成10005010

004F1658
偏移00E37BC0
改成10007BC0

004F165E
偏移00E37A20
改成10007A20

004F1664
偏移00E37110
改成10007110

004F166A
偏移00E36020
改成10006020来到oep

LordPE 修正映像大小完全脱壳

ImportREC 修正转储

保存完之后 运行程序 发现字符串都是 notfound

那是因为缺少data文件夹下的 .messages   about.htm   activate.htmultra.png

我就提下 about.htmultra.png 这两个文件的提取吧

在目录下新建一个data文件夹建一个 about.htm

OD运行原版 molebox.exe

点击上方 Help   About

看到有个图片 搜索 图片文件 .png

00BBC041 00 3C 43 45 4E 54 45 52 3E 0D <CENTER>.
00BBC051 0A 3C 69 6D 67 20 73 72 63 3D 22 75 6C 74 72 61 .<img src="ultra
00BBC061 2E 70 6E 67 22 20 62 6F 72 64 65 72 3D 30 3E 3C .png" border=0><
00BBC071 62 72 3E 0D 0A 3C 66 6F 6E 74 20 73 69 7A 65 3D br>..<font size=
00BBC081 2B 31 3E 3C 62 3E 54 65 67 67 6F 20 4D 6F 6C 65 +1><b>Teggo Mole
00BBC091 42 6F 78 3C 2F 62 3E 20 3C 53 55 50 3E 3C 69 3E Box</b> <SUP><i>
00BBC0A1 55 4C 54 52 41 3C 2F 69 3E 3C 2F 53 55 50 3E 3C ULTRA</i></SUP><
00BBC0B1 2F 66 6F 6E 74 3E 3C 62 72 3E 0D 0A 43 6F 70 79 /font><br>..Copy
00BBC0C1 72 69 67 68 74 20 28 43 29 20 32 30 30 32 2D 32 right (C) 2002-2
00BBC0D1 30 30 39 2C 20 54 65 67 67 6F 20 53 6F 66 74 77 009, Teggo Softw
00BBC0E1 61 72 65 20 4C 74 64 2E 3C 62 72 3E 0D 0A 3C 66 are Ltd.<br>..<f
00BBC0F1 6F 6E 74 20 73 69 7A 65 3D 2D 31 3E 56 65 72 73 ont size=-1>Vers
00BBC101 69 6F 6E 20 25 50 52 4F 47 52 41 4D 56 45 52 53 ion %PROGRAMVERS
00BBC111 49 4F 4E 25 3C 2F 66 6F 6E 74 3E 3C 62 72 3E 0D ION%</font><br>.
00BBC121 0A 3C 62 72 3E 0D 0A 25 50 52 4F 47 52 41 4D 4C .<br>..%PROGRAML
00BBC131 49 43 45 4E 53 45 25 0D 0A 3C 62 72 3E 0D 0A 3C ICENSE%..<br>..<
00BBC141 2F 43 45 4E 54 45 52 3E /CENTER>




<CENTER>
<img src="ultra.png" border=0><br>
<font size=+1><b>Teggo MoleBox</b> <SUP><i>ULTRA</i></SUP></font><br>
Copyright (C) 2002-2009, Teggo Software Ltd.<br>
<font size=-1>Version %PROGRAMVERSION%</font><br>
<br>
%PROGRAMLICENSE%
<br>
</CENTER>png文件特征码:89 50 4E 47

00BC8054   00BC98DC

新建 ultra.png 将代码粘贴 保存即可


OEP地址:004F18E0

DLL名称:masterli.dll

DLL基址:00E30000

新DLL基址:10000000

就到这里吧.眼睛看花了.o(∩_∩)o


--------------------------------------------------------------------------------
【版权声明】: 本文由Smoke所写.感谢前人留下的知识...(*^__^*)
                                                       2011年03月22日






雪丽美 发表于 2011-3-22 16:21

好好学习,这么好的东西,{:1_921:}

ZeNiX 发表于 2011-3-22 16:11

眼睛都花了,
附上图片会更好。

找 OEP 的思维也不错。
至少找到了。

cxkboy 发表于 2011-3-22 16:24

看看有没有什么东西可以发现

Smoke 发表于 2011-3-22 16:25

回复 ZeNiX 的帖子

没用过论坛的代码框。。。自己也感觉太丑了 嘿嘿 见谅~

mopoo 发表于 2011-3-22 16:30

下载了!手下

yjd333 发表于 2011-3-22 18:08

这个要学习感谢提供

yjd333 发表于 2011-3-23 12:47

{:301_1008:}
发现论坛有个怪现象,好文章没人问津。
到是一讨论破解挂就很火

早尹 发表于 2011-3-23 13:22

看看有什么好用的东西可要.呵呵.

chesion001 发表于 2011-3-23 16:21

精品文章。。。
页: [1] 2 3 4
查看完整版本: Molebox V4.1290脱壳