首页
社区
课程
招聘
[求助]程序被OD载入之前执行了什么
发表于: 2009-12-30 09:06 5807

[求助]程序被OD载入之前执行了什么

2009-12-30 09:06
5807
我们知道有一些壳有Anti的功能,当OD载入之后如果他检测到OD,马上就退出了。但是这个应用程序不是还没开始执行吗,OD载入后第一条语句是程序的入口点语句啊,所以我很不明白这些壳是什么原理,按道理来讲这个应用程序的代码还没有开始执行,如何检测OD? 迷惑中。。。。希望大家给点通俗易懂的解释,能讲的让我知道如何写壳最好,讲不好的也希望把原理讲清楚,非常感谢,分不多全给!

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

收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
路过,期望高手现身
2009-12-30 09:09
0
雪    币: 235
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
搜搜论坛的 TLS
2009-12-30 09:17
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
1、导出库上做手脚,本来导出库为空,但数量上设置为1
2、线程本地存储上做手脚,它是程序开始运行前的几个预先运行的函数
2009-12-30 09:17
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
麻烦楼主记得给我加分
2009-12-30 17:40
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
6
能给个例子么?
2009-12-30 17:56
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
路过
学习学习
2009-12-30 19:07
0
雪    币: 105
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
路过,学习中。。。。
2009-12-31 09:27
0
雪    币: 126
活跃值: (37)
能力值: ( LV2,RANK:140 )
在线值:
发帖
回帖
粉丝
9
关注中...
2009-12-31 14:45
0
雪    币: 270
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
一般od载入时默认断在winmain上,但程序的TLS是在程序入口点之前执行的,这里面可以做检测。另外od自身也有bug,像Themida等壳会针对OllyDBG v1.10原版处理浮点的一个BUG,使OD崩溃,OD目录下有个dbghelp.dll,这个文件也存在一个溢出漏洞。
2009-12-31 14:56
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
能讲的让我知道如何写壳最好
2009-12-31 18:28
0
雪    币: 555
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
关注mark
2009-12-31 18:32
0
雪    币: 444
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
晕,大家没看 《加密与解密 第三版》吗。第十章专门有一节讲了TLS本地回调函数。
如果我写壳实现楼主所说的功能,那么我肯定运用TLS技术。

没写过,身边没有书,只有一点了解,简单说下:
就是PE文件头中的映像文件头中 数据目录项 有个TLS表,前4个字节是RVA,后面4个字节是大小(好像都是固定的18h大小)。
让该TLS的RVA指向你的回调函数首地址的RVA。你的回调地址函数首地址向下执行下去 就是 你写的Anti_Debug功能函数(这个系列函数应该写在明文的壳代码中)。
2009-12-31 20:46
0
雪    币: 241
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
关注mark
2010-1-1 14:10
0
雪    币: 198
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
不懂. 纯属学习
2010-10-31 13:05
0
游客
登录 | 注册 方可回帖
返回
//