首页
社区
课程
招聘
[求助]请教关于OD载入文件
2014-3-2 13:56 4066

[求助]请教关于OD载入文件

2014-3-2 13:56
4066
请问OD载入文件的原理是什么呢

小弟用OD载入个程序看到EIP停留在<ModuleEntryPoint> 此时程序的全局变量已经被初始化了

用VC编写个程序LoadLibraryA这个exe 全局却没有被初始化 这是为什么?

可能是OD载入文件EIP停留在ModuleEntryPoint之前还执行了一些代码 这些代码怎么找呢 纠结..求前辈解惑

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
点赞0
打赏
分享
最新回复 (5)
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
伏特加 2014-3-2 16:22
2
0
我想这问题对于常脱壳的来说应该不难

就没有肯为晚辈解惑的吗
雪    币: 163
活跃值: (1303)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
学编程 1 2014-3-3 11:07
3
0
看程序的启动代码
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
whnet 2014-3-3 11:16
4
0
OD载入文件是打开啊。 怎么可能是loadlibrary...  
.
CreateProcess

DEBUG_PROCESS If this flag is set, the calling process is treated as a debugger, and the new process is a process being debugged. Child processes of the new process are also debugged.
The system notifies the debugger of all debug events that occur in the process being debugged.

If you create a process with this flag set, only the calling thread (the thread that called CreateProcess) can call the WaitForDebugEvent function
雪    币: 11
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
fqzhao 2014-3-5 17:03
5
0
要是没理解错的话,全局变量初始化这个过程是在exe/DLL加载后到真正的main之间的vc编译器的stub代码做的,有个initterm函数,里面循环执行函数指针,这些函数指针对应全局变量的初始化函数。

vc编辑器编出来的东西做全局变量初始化都是这么干的。

对于EXE,OD 有的(2.0或一些插件)能识别编译器,自动跳过stub code定位到main上面。DLL的话好像没见过能直接定位到真正的dllmain的。我是这么理解的。要不然全局变量初始化成什么OD怎么能知道。
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
伏特加 2014-3-7 16:17
6
0
谢谢 !
游客
登录 | 注册 方可回帖
返回