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

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

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

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

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

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

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我想这问题对于常脱壳的来说应该不难

就没有肯为晚辈解惑的吗
2014-3-2 16:22
0
雪    币: 163
活跃值: (1623)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
看程序的启动代码
2014-3-3 11:07
0
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
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
2014-3-3 11:16
0
雪    币: 11
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
要是没理解错的话,全局变量初始化这个过程是在exe/DLL加载后到真正的main之间的vc编译器的stub代码做的,有个initterm函数,里面循环执行函数指针,这些函数指针对应全局变量的初始化函数。

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

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