首页
社区
课程
招聘
[求助]MoleBox主程序脱壳,捆绑文件DUMP问题
发表于: 2008-11-8 22:41 11031

[求助]MoleBox主程序脱壳,捆绑文件DUMP问题

2008-11-8 22:41
11031
我看过了fly的

《MoleBox捆绑文件的解包方法——MoleBox Pro V2.3.3主程序脱壳+破解》

一文,而我现在拿到的是2.3054。

已经找到貌似是oep的地方,现在在修复IAT。

对外部DLL的导入表加密已经跳过了。但是有一个被捆绑的DLL文件遇到了麻烦。

这是导入表:

0042F000  D7 EA DA 77 E4 E9 DA 77 80 42 DB 77 17 6C DA 77    钻趙溟趙€B踳l趙
0042F010  42 78 DA 77 AB 7A DA 77 00 00 00 00 88 40 18 77    Bx趙珃趙....園w
0042F020  00 00 00 00 6B 23 80 7C D7 9B 80 7C 5E 20 83 7C    ....k#€|讻€|^ 億
0042F030  1E 0C 81 7C 89 59 83 7C 6F 17 80 7C 46 BE 80 7C    .亅塝億o€|F線|
0042F040  12 18 80 7C 95 B9 80 7C EE 94 80 7C 07 0B 81 7C    €|暪€|顢€| 亅
0042F050  28 1A 80 7C A7 A0 80 7C 31 B7 80 7C CC 15 81 7C    (€|€|1穩|?亅
0042F060  AD 23 86 7C 3B AB 81 7C C9 4E 83 7C 69 38 81 7C    ?唡;珌|蒒億i8亅
0042F070  67 EE 80 7C 5F B5 80 7C 8C 39 81 7C FA CA 81 7C    g顎|_祤|?亅亅
0042F080  2E 93 80 7C 82 4B 81 7C F2 1E 80 7C 30 25 80 7C    .搥|侹亅?€|0%€|
0042F090  9D 08 83 7C 17 0E 81 7C C9 2F 81 7C 6E AC 80 7C    ?億亅?亅n瑎|
0042F0A0  7B 1D 80 7C 30 AE 80 7C 04 BA 80 7C 00 00 00 00    {€|0畝|簚|....
0042F0B0  1C 17 E8 00 94 1E E8 00 16 2D E8 00 1E 81 E8 00    ???-?佽.
0042F0C0  04 81 E8 00 15 75 E8 00 09 2D E8 00 27 74 E8 00    佽.u?.-?'t?
0042F0D0  05 75 E8 00 A7 CF E9 00 1B D1 E9 00 EE 24 E8 00    u??验.??
0042F0E0  6D 75 E8 00 50 75 E8 00 5E 2D E8 00 00 00 00 00    mu?Pu?^-?....
0042F0F0  D8 23 C3 77 A4 F1 BE 77 DB F1 BE 77 7C 53 C0 77    ?脀ゑ緒垴緒|S纖
0042F100  94 5C C0 77 E7 FF C0 77 B0 DE BE 77 60 08 C2 77    擻纖?纖稗緒`聎
0042F110  D2 03 C2 77 4E C2 BE 77 22 C2 BE 77 D6 BB BE 77    ?聎N戮w"戮w只緒
0042F120  8A FF C0 77 7A D4 BE 77 4F EE C1 77 4E 62 C1 77    ?纖z跃wO盍wNb羨
0042F130  2F 80 C1 77 CC 7F C1 77 B1 0B C1 77 63 BC BE 77    /€羨?羨?羨c季w
0042F140  B0 6E C1 77 B0 72 C1 77 76 FA C0 77 95 D6 C1 77    皀羨皉羨vw曋羨
0042F150  13 0E C1 77 30 77 C1 77 F0 75 C1 77 A0 78 C1 77    羨0w羨饀羨爔羨
0042F160  80 FC C2 77 BA 15 C1 77 B3 6B C0 77 72 1B C1 77    €w?羨砶纖r羨
0042F170  30 FA C1 77 E0 7B C1 77 10 F0 C0 77 9C 13 C1 77    0w鄘羨鹄w?羨
0042F180  74 15 C1 77 3B 17 C1 77 70 6F C1 77 D3 71 C0 77    t羨;羨po羨觪纖
0042F190  F6 EE C0 77 B1 0A C1 77 F6 26 BF 77 BF 64 C1 77    鲱纖?羨?縲縟羨
0042F1A0  FA 27 BF 77 FB 11 C1 77 FA 71 C0 77 E7 14 BF 77    ?縲?羨鷔纖?縲
0042F1B0  CF AE C1 77 31 F9 C0 77 60 76 C1 77 30 60 C1 77    袭羨1w`v羨0`羨
0042F1C0  02 6D C0 77 1D AA C1 77 51 4E C0 77 F8 4D C0 77    m纖wQN纖鳰纖
0042F1D0  68 18 BF 77 9A 9E C0 77 AE 2D C0 77 7E 9E C0 77    h縲殲纖?纖~灷w
0042F1E0  AC 17 C3 77 EB EE BE 77 6E A2 C0 77 67 9D C0 77    ?脀腩緒n⒗wg澙w
0042F1F0  00 00 00 00 4E 5A B0 00 7F 9F B0 00 8E 59 B0 00    ....NZ?煱.嶻?
0042F200  A2 10 B0 00 86 39 B0 00 8A 42 B0 00 81 43 B0 00    ????夿?丆?
0042F210  10 60 B0 00 A4 5D B0 00 28 9E B0 00 9A 9D B0 00    `??(灠.殱?
0042F220  D2 8F B0 00 0A 30 B0 00 0E 96 B0 00 CE 59 B0 00    覐?.0?柊.蝁?
0042F230  66 3A B2 00 2B 28 B1 00 82 2B B0 00 D2 7A B0 00    f:?+(???襷?
0042F240  DD 5E B0 00 E5 78 B0 00 17 57 B0 00 2D 11 B0 00    較?鍃?W?-?
0042F250  DD 2D B0 00 5E 2F B0 00 C3 63 B0 00 88 58 B0 00    ??^/?胏?圶?
0042F260  13 59 B0 00 4F 5E B0 00 27 56 B0 00 FB 56 B0 00    Y?O^?'V?鸙?
0042F270  B2 2E B0 00 FD 2D B0 00 41 1A B1 00 B0 1E B0 00    ????A???
0042F280  D9 27 B1 00 32 54 B0 00 38 A2 B1 00 00 77 B0 00    ??2T?8⒈..w?
0042F290  12 76 B0 00 14 70 B0 00 FE 6F B0 00 25 78 B0 00    v?p??%x?
0042F2A0  C0 1F B0 00 49 6F B0 00 58 36 B0 00 82 35 B0 00    ??Io?X6???
0042F2B0  5A 5F B0 00 00 00 00 00 16 78 0F 77 80 48 0F 77    Z_?....xw€Hw
0042F2C0  00 00 00 00 A9 B1 5F 7D 29 7C 64 7D 18 7C 64 7D    ....┍_})|d}|d}
0042F2D0  00 00 00 00 9C 8F D1 77 3F AE D1 77 FD AA D2 77    ....湉褀?w襴
0042F2E0  0F 91 D2 77 B4 90 D2 77 A0 97 D2 77 F3 99 D2 77    懸w磹襴牀襴髾襴
0042F2F0  7B 1F D3 77 C2 F3 D2 77 F6 E8 D2 77 6B F5 D2 77    {觲麦襴鲨襴k跻w
0042F300  08 7C D2 77 71 FE D2 77 ED 42 D2 77 EA 07 D5 77    |襴qw鞡襴?誻
0042F310  6E 43 D2 77 49 98 D2 77 72 C9 D3 77 12 B1 D2 77    nC襴I樢wr捎w币w
0042F320  4E 4A D2 77 56 AF D2 77 44 B1 D3 77 00 00 00 00    NJ襴VwD庇w....

看到有一部分函数地址位于 00b0xxxx和00e8xxxx内存区域。

看过了后,发现是被手动映射过的dll映像。

是的,是手动映射的,没有使用GetProcAddress,而是自己查找导出表得到函数地址的。

但是因为内存不连续,我没有办法将其dump出来。

用LordPE将00af0000-00af5000的一段dump出来,在lordpe中可以看到这是个pe文件,正是MSkinCore.dll,导出了128个函数,但dump出的映像是不完整的,更不能加载。

以下几个内存区域就是怀疑是mskincore.dll的映射区域。



请问一下,有什么办法可以把这个内存映像成功dump成一个磁盘文件。

壳的高手帮忙。先谢谢了。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
  • 1.JPG (38.72kb,318次下载)
收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
2
MSkinCore.dll应该是导出121个函数,不是128.
2008-11-10 10:10
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个太难了。看不明白。
2008-11-10 13:06
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
4
这个我没仔细研究。

现在我发现,00af0000-00af1000这一段内存区域只含有一个PE的头和函数名字的字符串,

而00af1000-001f6000这段可能是一个完整的PE文件,但文件头是坏的,原程序似乎是解析从00af0000这一段中的PE头,然后将函数指针定位到00af1000这个内存区域上的代码的。

但0xaf1000开始的内存区域中PE头部是故意损坏的,现在我想把它DUMP出来,再把0Xaf0000上的PE头粘贴到它的前面。

结果还是不行,得到的文件仍然不是有效的PE格式,无法使用。

你说的121个函数,是不是已经DUMP出来了?

可以请教一下方法和思路吗?

谢谢。

fly那篇文章中的那个版本,程序是将捆绑的dll文件释放到临时目录,然后LoadLibrary(),GetProcAddress()来加载的。

而现在这个版本,捆绑的文件根本就不释放出来,直接在内存中解压,然后自行进行重定位,所以必须手动把它DUMP出来。之后才能想办法修复IAT。
2008-11-10 13:51
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
5
好久没玩壳了
有看了一下. 好像跟网上的文章不一样.
你这样贴应该不行, 他各section是乱排的.
2008-11-10 13:55
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
6
脱神附体

主EXE你自己搞定(MoleboxPro Build v2.3054)
上传的附件:
2008-11-10 14:22
0
雪    币: 189
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
还是看不懂
2008-11-10 15:37
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
8
脱衣DIY同学,请再看看你DUMP出的MSkinCore.dll,其中有3个导出函数无效。

如图,LordPE窗口不能放大,截图只显示2个,另外一个函数是

序号6C,RAV 23A66,名称是 ?Nil@@3V?$ref_ptr@U__REF_PTR_NULL__@@@@B



我用你的MSkinCore.dll,又找来个msvcp60.dll,已经DUMP出来一个主程序了

加载时出错,错误报告位于MSkinCore.dll,看图。



请尽快想办法修复那个mskincore.dll,然后我来试试我dump出的主程序还有没有错误。现在先不敢发上来,呵呵。
上传的附件:
2008-11-10 17:30
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
9
啊,是我搞错了。

那三个导出的名称不是函数,是变量。

原来是因为我修复时,不小心把入口点地址真错了。现在已经能运行了。

但是我试了一下,虽然能运行,但还没有DUMP完整,可能是把某些资源给丢了。

我用它随便给一个程序加壳,提示

-- ERROR, process aborted --
Can't open bootup stub

应该是把这用来给捆绑的程序解码的那部分资源给丢了。哪位大侠帮忙修复一下。

压缩包里是我DUMP出来的主程序,如果缺少文件请找上面sessiondiy的贴子。

原程序到这里下http://bbs.pediy.com/showthread.php?t=71284
上传的附件:
2008-11-10 18:27
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
10
你不用考试了?
2008-11-10 19:28
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
11
终成正果。

完整DUMP出程序执行所需要的mbox2_bootupLt文件。

现在已经可以完美运行了。

经测试,资源可编辑,DUMP成功。

庆祝。

感谢 脱衣DIY 帮忙DUMP出至关重要的MSkinCore.dll文件,以及同样重要的mbox2_blacklist.txt文件。

附件中是程序运行所需要文件打包,此4个文件便构成软件的全部功能。包括主程序dump_.exe(自己改名吧),MSkinCore.dll,mbox2_bootupLt,以及mbox2_blacklist.txt

(注1:主程序dump_.exe和捆绑程序用的头mbox2_bootupLt由本人dump。MSkinCore.dll由sessiondiy提供。我是在他工作的基础上才得以完成。)

(注2:sessiondiy同学提供的register.dll并未看到它有什么用。可能是旧版本遗留的东西。所以没有上传。)

(注3:它非常迷惑人的blacklist文件并不是什么黑名单,其实是授权文件。由sessiondiy提供。本人不知道它的授权来自哪里)

MoleBoxPro.rar

PS.我搞这个是看到了自由自在同学想要汉化它的帖子。现在你可以进行你的工作了。原贴在这里:

http://bbs.pediy.com/showthread.php?t=76304

回sessiondiy:

考试就在眼前。

我就是想把这个弄完,要不心里总惦记着,复习不踏实。
上传的附件:
2008-11-10 19:30
0
雪    币: 189
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
感谢书呆彭的热心相助 ,但是发现现在的这个只要真正压缩程序就会提示注册,而且使用注册码不能完成注册。还有就是这个主程序在不压缩的情况下应该可以优化到180KB左右。
2008-11-11 11:15
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
13
装完不是就有这个?

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\MoleStudio\License\MoleBox2]
@="Azzabi Mourad
asfd
4CFTRYAB-D4REQS8C-44DFF988-AB9EY8BR
"

------------------------------------------------------------
Name  : Azzabi Mourad
Serial: 4CFTRYAB-D4REQS8C-44DFF988-AB9EY8BR
2008-11-11 12:24
0
雪    币: 189
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
[QUOTE=sessiondiy;533620]装完不是就有这个?

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\MoleStudio\License\MoleBox2]
@="Azzabi Mourad
asfd
4CFTRYAB-D4REQS8...[/QUOTE]

您试过了嘛?我这里不行
2008-11-11 23:04
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
15
Y e s .
2008-11-12 07:29
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
16
我没有分析它的注册过程,因为我拿到的程序是注册好的。

而且可以正常运行,压缩。

我随便压一个文件,日志如下,并没有错误的:

target executable D:\Documents and Settings\PZC\桌面\Temp\gncrk.exe.exe

Relink 4 sections of executable
SECTION  0(    UPX0):
+  compressed 167936 -> 92401 bytes
+  encrypting 94208 bytes
+  adding 94208 bytes
SECTION  1(    UPX1):
!  contains TLS directory
+  adding 122880 bytes
SECTION  2(   .rsrc):
+  adding 4096 bytes
SECTION  3( .snaker):
+  compressed 8192 -> 2483 bytes
+  encrypting 4096 bytes
+  adding 4096 bytes

integrate bootstub
SECTION  4: 73728 bytes
SECTION  5:  8192 bytes
SECTION  6: 32768 bytes
bootstub compressed to 65536 bytes
set target executable size to 294912 bytes (96% of 307200)

STATISTICS

size of program     -     229376 bytes
size of bootstub    -      65536 bytes
size of box         -          0 bytes
        total size  -     294912 bytes

exe packing         -          enabled
exe CRC check       -         disabled
bootstub            -          release
SUCCESS
2008-11-15 21:03
0
游客
登录 | 注册 方可回帖
返回
//