首页
论坛
课程
招聘
雪    币: 211
活跃值: 活跃值 (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝

[原创]关于MoleBox打包文件的一点研究

2010-6-15 03:01 4156

[原创]关于MoleBox打包文件的一点研究

2010-6-15 03:01
4156
经过我的一点很粗浅的研究,MoleBox将多个文件打包在一起,
主要是通加密文件操作相关的IAT..只是替换..
因此我的方法是.脱壳后,或是找到OEP后..
就可以看到一个
00547AF8    FF15 1CC25500   CALL NEAR DWORD PTR [55C21C]             ; kernel32.GetCommandLineA
00547AFE    A3 C0796804     MOV DWORD PTR [46879C0],EAX

数据窗口查看55c21c地址上下范围长地址查看.那都 是IAT表了..
没有表示出winapi名字就是被替换了...
方法一
在替换的地方可以下硬改写断点...重新调试,F9三次就可以看到原来的,再一次,就改了..在改成最新的地方下断点如我的是.
04692666    FF15 40E86904   CALL NEAR DWORD PTR [469E840]            ; kernel32.VirtualProtect
0469266C    85C0            TEST EAX,EAX
0469266E    75 0A           JNZ SHORT 永恒Onli.0469267A
04692670    B9 0B0000EF     MOV ECX,EF00000B
04692675    E8 9D2F0000     CALL 永恒Onli.04695617
0469267A    8B4D 08         MOV ECX,DWORD PTR [EBP+8]
0469267D    8B55 F8         MOV EDX,DWORD PTR [EBP-8]
04692680    8B02            MOV EAX,DWORD PTR [EDX]
04692682    8901            MOV DWORD PTR [ECX],EAX  ;这个地方改了IAT....一会NOP掉就可以了
04692684    8D4D F4         LEA ECX,DWORD PTR [EBP-C]
04692687    51              PUSH ECX
04692688    8B55 F0         MOV EDX,DWORD PTR [EBP-10]
0469268B    52              PUSH EDX
0469268C    6A 04           PUSH 4
0469268E    8B45 08         MOV EAX,DWORD PTR [EBP+8]
04692691    50              PUSH EAX
04692692    FF15 40E86904   CALL NEAR DWORD PTR [469E840]            ; kernel32.VirtualProtect

要全恢复
在VirtualProtect下断点.F9二次,一开始这些地方没有解出来,执行二次刚好解好.这时就可以到刚才改IAT为新的地主04692682 NOP掉...
去断点,执行.原来的IAT就全出来了...

现在就可很方便的看readFile.在那个地方了....

HWS计划·2020安全精英夏令营来了!我们在华为松山湖欧洲小镇等你

最新回复 (2)
雪    币: 1481
活跃值: 活跃值 (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
logkiller 活跃值 2010-6-15 09:11
2
0
楼 上 高 才!
雪    币: 170
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yzjsdn 活跃值 2010-6-15 10:39
3
0
我是开打酱油的,貌似常规的寻找IAT加解密的方法都是乳吃.
游客
登录 | 注册 方可回帖
返回