首页
社区
课程
招聘
脱Armadillo DLL壳遇到的不解,望大侠们赐教!
发表于: 2007-1-24 23:47 3803

脱Armadillo DLL壳遇到的不解,望大侠们赐教!

2007-1-24 23:47
3803
查壳:Armadillo 2.51 - 3.xx DLL Stub -> Silicon Realms Toolworks

从OD菜单--->插件--->ODbgScript--->运行脚本--->Armadillo V4.0-V4.4.dll.osc。

10001000    55              push    ebp                              ; This is the OEP!  Found By: fly
10001001    8BEC            mov     ebp, esp
10001003    837D 0C 01      cmp     dword ptr [ebp+C], 1
10001007    75 09           jnz     short 10001012
10001009    B8 01000000     mov     eax, 1
1000100E    C9              leave

引用 machenglin 前辈的教程,
http://www.unpack.cn/viewthread.php?tid=6863&highlight=Armadillo

、用ArmInline修复

1、用ArmInline V0.96可以自动找到Enable Import Table Elimination,但需要手动定位IAT的起始、结束Size,否则不能

全部修复。

2、用ArmInline V0.96不能自动找到Enable Strategic Code Splicing,需要手动定位。

   Alt+M  到内存窗口,根据:

   大小=00010000~00020000之间,类型=Priv,访问=RWE,初始访问=RWE。

找到这里,这就是Enable Strategic Code Splicing区段。
===================================
内存映射,项目 38
地址=02020000
大小=0001D000 (118784.)
物主=02020000 (自身)
区段=
类型=Priv 00021040
访问=RWE
初始访问=RWE
===================================
3、在ArmInline V0.96填入相应的值,先Enable Strategic Code Splicing,后Enable Import Table Elimination,修复

之。


Alt+M  到内存窗口,我这里怎么找不到

大小=00010000~00020000之间,类型=Priv,访问=RWE,初始访问=RWE。


这样的类型,是什么原因,不解?

Memory map
地址       大小     (十进制)      属主                       区段       包含                 类型                访问         初始访问      已映射为
00010000   00001000 (4096.)                00010000 (自身)                                     Priv 00021004       RW           RW
00020000   00001000 (4096.)                00020000 (自身)                                     Priv 00021004       RW           RW
00060000   00001000 (4096.)                00030000                                          Priv 00021104       RW  保护       RW
00070000   00003000 (12288.)               00070000 (自身)                                     Map  00041002       R            R
00080000   00014000 (81920.)               00080000 (自身)                                     Priv 00021004       RW           RW
00180000   00006000 (24576.)               00180000 (自身)                                     Priv 00021004       RW           RW
00190000   00003000 (12288.)               00190000 (自身)                                     Map  00041004       RW           RW
001A0000   00016000 (90112.)               001A0000 (自身)                                     Map  00041002       R            R             \Device\HarddiskVolume1\WINDOWS\system32\unicode.nls
001C0000   0003D000 (249856.)              001C0000 (自身)                                     Map  00041002       R            R             \Device\HarddiskVolume1\WINDOWS\system32\locale.nls
00200000   00041000 (266240.)              00200000 (自身)                                     Map  00041002       R            R             \Device\HarddiskVolume1\WINDOWS\system32\sortkey.nls
00250000   00006000 (24576.)               00250000 (自身)                                     Map  00041002       R            R             \Device\HarddiskVolume1\WINDOWS\system32\sorttbls.nls
00260000   00041000 (266240.)              00260000 (自身)                                     Map  00041002       R            R
002B0000   00006000 (24576.)               002B0000 (自身)                                     Map  00041020       R E          R E
00370000   00002000 (8192.)                002B0000                                          Map  00041020       R E          R E
00380000   00010000 (65536.)               00380000 (自身)                                     Priv 00021004       RW           RW
00390000   00003000 (12288.)               00390000 (自身)                                     Map  00041002       R            R             \Device\HarddiskVolume1\WINDOWS\system32\ctype.nls
003A0000   00008000 (32768.)               003A0000 (自身)                                     Priv 00021004       RW           RW
003B0000   00001000 (4096.)                003B0000 (自身)                                     Priv 00021004       RW           RW
003C0000   00001000 (4096.)                003C0000 (自身)                                     Priv 00021004       RW           RW
003D0000   00001000 (4096.)                003D0000 (自身)                                     Map  00041004       RW           RW
003E0000   0000E000 (57344.)               003E0000 (自身)                                     Map  00041004       RW           RW
003F0000   00004000 (16384.)               003F0000 (自身)                                     Priv 00021004       RW           RW
00460000   00103000 (1060864.)             00460000 (自身)                                     Map  00041002       R            R
00570000   000A5000 (675840.)              00570000 (自身)                                     Map  00041020       R E          R E
00870000   00050000 (327680.)              00870000 (自身)                                     Map  00041002       R            R
008C0000   00010000 (65536.)               008C0000 (自身)                                     Map  00041004       RW           RW
00900000   00001000 (4096.)                00900000 (自身)                                     Priv 00021004       RW           RW
00980000   00011000 (69632.)               00980000 (自身)                                     Map  00041002       R            R             \Device\HarddiskVolume1\WINDOWS\system32\c_1252.nls
009A0000   0001B000 (110592.)              009A0000 (自身)                                     Priv 00021004       RW           RW
009C1000   000BE000 (778240.)              009A0000                                          Priv 00021004       RW           RW
00A85000   00001000 (4096.)                009A0000                                          Priv 00021004       RW           RW
00AA0000   00064000 (409600.)              00AA0000 (自身)                                     Priv 00021004       RW           RW
00B10000   00002000 (8192.)                00B10000 (自身)                                     Map  00041002       R            R
00B20000   0000C000 (49152.)               00B20000 (自身)                                     Priv 00021004       RW           RW
00B30000   00002000 (8192.)                00B30000 (自身)                                     Map  00041002       R            R
00B40000   00006000 (24576.)               00B40000 (自身)                                     Priv 00021004       RW           RW
00B50000   00001000 (4096.)                00B50000 (自身)                                     Map  00041004       RW           RW
00B60000   00001000 (4096.)                00B60000 (自身)                                     Map  00041004       RW           RW
00B70000   00001000 (4096.)                00B70000 (自身)                                     Priv 00021004       RW           RW
00B80000   00001000 (4096.)                00B80000 (自身)                                     Priv 00021004       RW           RW
00BB0000   00002000 (8192.)                00BB0000 (自身)                                     Map  00041002       R            R
00BC0000   00028000 (163840.)              00BC0000 (自身)                                     Priv 00021004       RW           RW
10000000   00001000 (4096.)       复件_复?10000000 (自身)                                         Imag 01001002       R            RWE
7F6F0000   00007000 (28672.)               7F6F0000 (自身)                                     Map  00041020       R E          R E
7FFA0000   00033000 (208896.)              7FFA0000 (自身)                                     Map  00041002       R            R
7FFD6000   00001000 (4096.)                7FFD6000 (自身)                                     Priv 00021004       RW           RW
7FFE0000   00001000 (4096.)                7FFE0000 (自身)                                     Priv 00021002       R            R
00061000   0000F000 (61440.)               00030000                     堆栈 于 主线程             Priv 00021104       RW  保护       RW
7FFDF000   00001000 (4096.)                7FFDF000 (自身)                数据块 于 主线程            Priv 00021004       RW           RW

后面都是IMAG类型,但是这里没有所说的 [类型=Priv,访问=RWE,初始访问=RWE]类型,不太明白,我也是头次接触DLL,不懂,希望大侠们赐教!

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
主页工具里有脱壳机的,用dilloDIE 1.6脱壳,然后手工校正重定位表的长度
2007-1-25 01:03
0
游客
登录 | 注册 方可回帖
返回
//