首页
社区
课程
招聘
[旧帖] [求助]CCDebuger大侠的“脱MoleBox加壳的EdrLib示例 ”不解之问? 0.00雪花
发表于: 2008-3-18 11:27 4187

[旧帖] [求助]CCDebuger大侠的“脱MoleBox加壳的EdrLib示例 ”不解之问? 0.00雪花

2008-3-18 11:27
4187
原贴地址:
http://bbs.pediy.com/showthread.php?t=44400

//////////////////////////以下为原文////////////////////////////////////////////////////////////////
主程序脱壳:
  
  1、BP VirtualProtect 中断两次后ALT+F9返回:
  

引用:
  0040EC6D    FF15 10B84100   CALL DWORD PTR DS:[41B810]               ; kernel32.VirtualProtect
  0040EC73    8B15 E8B64100   MOV EDX,DWORD PTR DS:[41B6E8]            ; 返回到这。[0041B6E8]=003E1F00,数据窗口中看003E1F00的内容,就是OEP:004011C6
  0040EC79    8B45 E8         MOV EAX,DWORD PTR SS:[EBP-18]
  0040EC7C    0342 08         ADD EAX,DWORD PTR DS:[EDX+8]             ; [EDX+8]=0000444C,0000444C就是输入表的RVA。这里就可以dump主程序了
  0040EC7F    8945 F4         MOV DWORD PTR SS:[EBP-C],EAX
  0040EC82    C705 74B94100 0>MOV DWORD PTR DS:[41B974],0
  0040EC8C    6A 00           PUSH 0
  0040EC8E    68 B4AC4100     PUSH Packed.0041ACB4                     ; ASCII "EXECUTABLE"
  0040EC93    8B0D 70B94100   MOV ECX,DWORD PTR DS:[41B970]            ; Packed.004000D8
  0040EC99    51              PUSH ECX
  0040EC9A    8B55 E8         MOV EDX,DWORD PTR SS:[EBP-18]
  0040EC9D    52              PUSH EDX
  0040EC9E    8B45 F4         MOV EAX,DWORD PTR SS:[EBP-C]
  0040ECA1    50              PUSH EAX
  0040ECA2    E8 E9FAFFFF     CALL Packed.0040E790
  0040ECA7    83C4 14         ADD ESP,14
  0040ECAA    E8 B30F0000     CALL Packed.0040FC62
  0040ECAF    25 FF000000     AND EAX,0FF
  0040ECB4    85C0            TEST EAX,EAX
  0040ECB6    74 15           JE SHORT Packed.0040ECCD
  0040ECB8    E8 B60F0000     CALL Packed.0040FC73
  0040ECBD    25 FF000000     AND EAX,0FF
  0040ECC2    85C0            TEST EAX,EAX
  0040ECC4    74 02           JE SHORT Packed.0040ECC8
  0040ECC6  ^ EB F0           JMP SHORT Packed.0040ECB8
  0040ECC8    E8 950F0000     CALL Packed.0040FC62
  0040ECCD    68 14AD4100     PUSH Packed.0041AD14                     ; ASCII "imm32.dll"
  0040ECD2    FF15 7CB74100   CALL DWORD PTR DS:[41B77C]               ; kernel32.GetModuleHandleA
  
  堆栈中可以看到这样的内容:
  

引用:
  0012FE44   00400220  Packed.00400220
  0012FE48   00000001
  0012FE4C   00000000
  0012FE50   00000004
  0012FE54   00407784  ASCII ".data"
  0012FE58   7C93056D  返回到 ntdll.7C93056D 来自 ntdll.7C92EE02
  0012FE5C   00400000  Packed.00400000
  
  2、在 0012FE54   00407784  ASCII ".data" 这句上右键“数据窗口中跟随”,可以看到未加壳前原程序各个区段的名称及属性。
  
  3、到上面所说的位置后不要关OD,保持原样,直接dump主程序按找到的内容参考修复。
///////////////////////////////////////////////////////////////////////////////////////////////////

捆邦文件能解了,反而主程序不能脱。
问题是这样的:方法1。按上面的   这里就可以dump主程序了 dump了后,按上面的OEP和RVA填入
Import REC的相应中,Import REC的IAT信息SIZE按默认的1000,改小了也不行,然而获取指针全是无效指针,把SIZE改成很小也不行,
方法2。查看--内存,在004011C6相应代码按F2设断,F9,停在入口位置,Dump程序,按上面的OEP和RVA填入Import REC的相应中,先自动查IAT,能查到,再获取,但还是有部分指针无效,删除后修复转储后主程序还是不能运行。。。

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

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你说的太高深了,俺看不懂啊,只能给你顶顶

我也努力学习
2008-3-18 21:58
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
顶也要谢谢!!
2008-3-18 22:01
0
雪    币: 191
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我也给你顶顶  你能帮我脱壳吗?
2008-3-21 22:30
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
可以呀
2008-7-18 20:34
0
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
最后解决了么?我也不知道这个RVA怎么会这样,size怎么定。。
2008-12-1 03:07
0
雪    币: 590
活跃值: (177)
能力值: ( LV9,RANK:680 )
在线值:
发帖
回帖
粉丝
7
先下ESP断点,方便到达OEP
然后bp VirtualProtect,F9第三次后取消此断点,Alt+F9返回,找到
mov dword ptr ds:[ecx],eax(十六进制8901)这一句,是IAT加密的,将其NOP掉,到达OEP后dump修复即可
2008-12-1 10:00
0
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
有理,Molebox看来还是难在解包
2008-12-1 22:13
0
雪    币: 2506
活跃值: (1025)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
9
按我说的方法 dump 出来的主程序是不需要再用 ImportREC 修复输入表的,那些 OEP、输入表的 RVA 是让你用 PE 编辑工具如 LordPE、PETools 来在 dump 的程序中填的。其实 dump 出来的程序就和原版未加壳的基本一样了,你要做的就是在 PE 编辑工具中把各个区段的值填正确,OEP 及输入表 RVA 大小填正确。而上面所说的 OEP 是虚拟地址VA,要转成实际的 RVA,如 OEP 是 004011C6,基址是 00400000 的话,RVA 应该就是 11C6。
2008-12-2 00:02
0
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
这样dump出来程序大多可以用, 但很多导入函数看不到,
还是在IAT加密的地方处理掉, oep处dump并修复好些
2008-12-23 02:12
0
游客
登录 | 注册 方可回帖
返回
//