首页
社区
课程
招聘
新手脱壳遇到的问题,请问是不是e语言
发表于: 2007-4-10 18:26 4916

新手脱壳遇到的问题,请问是不是e语言

2007-4-10 18:26
4916
首先用peid查看程序,发现是Vc++5.0[overlay]。查找OEP时用到了很多的办法,以下都是用ollyice载入程序,包括:
1、ESP定律

2、准备用硬件中断,拦截LoadLibrary或GetProcAddress时,在弹出式菜单中“查找―全部模块中的命令”中根本找不到GetProcAddress这个函数,更不可能设硬件中断了。

3、关于一步到达OEP的popad也不存在

4、对于内存跟踪方法,忽略掉所有异常,重载程序并打开内存镜象,在第一个.rsrc下断点。而后运行至断点(如下),接着再打开内存镜象找到了刚才的.rsrc,但却无法找到code,郁闷。。。
   中断停在了
7C93280A    8A5D D3         mov     bl, byte ptr [ebp-2D]
7C93280D    66:8B50 0C      mov     dx, word ptr [eax+C]   -----》中断停在了这里
7C932811    66:8955 B0      mov     word ptr [ebp-50], dx
7C932815    8D70 10         lea     esi, dword ptr [eax+10]
7C932818    8975 90         mov     dword ptr [ebp-70], esi
7C93281B    8B55 0C         mov     edx, dword ptr [ebp+C]
7C93281E    66:F742 02 FFFF test    word ptr [edx+2], 0FFFF
7C932824    75 11           jnz     short 7C932837

5、本想对WaitForDebugEvent进行下断,但很遗憾又失败了。

6、对于我来说,最后一个办法了。忽略所有异常,重载程序准备用记下按SHIFT+F9的次数的办法找查入口点,但不幸的是,在第一次按下SHIFT+F9程序就自动运行了!

在查看代码时发现了PEsPinr的花指令,已通过插件进行了修复填充。尝试了DUMP,修改偏移后也无法显示图标!!!

我想问的是我这个程序究竟是用E语言编写的还是加了壳的,应该如何再次着手?
求教各位看雪老大,感激不尽中。。。


部分代码:
10001159  |.  5F            pop     edi
1000115A  |.  5B            pop     ebx
1000115B  \.  C3            retn
1000115C      CC            int3
1000115D      CC            int3
1000115E      CC            int3
1000115F      CC            int3
10001160 > $  55            push    ebp   ---->载入程序后,停在此处
10001161   .  8BEC          mov     ebp, esp
10001163   .  6A FF         push    -1
10001165   .  68 00300010   push    10003000
1000116A   .  68 78210010   push    10002178                         ;  SE 处理程序安装
1000116F   .  64:A1 0000000>mov     eax, dword ptr fs:[0]
10001175   .  50            push    eax
10001176   .  64:8925 00000>mov     dword ptr fs:[0], esp
1000117D   .  83C4 A8       add     esp, -58
10001180   .  53            push    ebx
10001181   .  56            push    esi
10001182   .  57            push    edi
10001183   .  8965 E8       mov     dword ptr [ebp-18], esp
10001186   .  FF15 D4700010 call    dword ptr [<&KERNEL32.GetVersion>;  kernel32.GetVersion

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 58782
活跃值: (21915)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
你这个程序没加壳,是不是e语言,你查看一区块,看看有没有.ecode这个区块名。
2007-4-10 19:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢坛主老大,我查过了没有.ecode,既然没有加壳,那为什么dump不会出现图标,在修改API后还是不能运行。。。另问,如果没有加壳也没有.ecode,那为什么用PEID查看程序后会有覆盖数据[overlay]的出现呢?
请坛主老大再帮帮忙噻!!!
2007-4-10 20:58
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
再问一下。。。如果程序没有加壳的话,文件的入口点和文件偏移的值是不是应该相同啊?此程序中文件入口点是00001160,但文件偏移却是00000560
此外付上区段信息,请大侠们多多指教,谢谢!
            voffset   vsize      roffset      rsize       标志
.text      00001000   00001E46   00000400    00000200    60000020
.rdata     00003000   00000337   00002400    00000400    40000040
.data      00004000   00002894   00002800    00002600    C0000040
.idata     00007000   00000366   00004E00    00000400    C0000040
.rsrc      00008000   00000000   00005200    00001600    40000040
2007-4-11 00:07
0
雪    币: 58782
活跃值: (21915)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
5
文件的入口点和文件偏移的值是两个概念,你找份PE文档看看。
2007-4-11 09:25
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
好,谢谢看雪老大,哈
2007-4-11 09:36
0
游客
登录 | 注册 方可回帖
返回