能力值:
( LV9,RANK:150 )
|
-
-
26 楼
if_816554
而大多数.exe都没有重定位表,怎么去实现这个加载器?
等于我补发一下,sorry,我代码中有判断是否含重定位的,我这个程序是自己练习写的,适用性不高,主要是为了理解PE文件加载的过程,加载的程序用VS编写不去掉随机基址是带重定位表的
|
能力值:
( LV2,RANK:10 )
|
-
-
27 楼
Iceshara
看雪已经成为了科锐和51PB的作业论坛了..... 文章质量下滑严重 [em_38]
|
能力值:
( LV2,RANK:10 )
|
-
-
28 楼
抱歉,语气有点差,想了十几天没想出来是哪里有问题头疼...后来查资料找到编译出重定位表的exe程序,实现了你说的效果
|
能力值:
( LV2,RANK:10 )
|
-
-
29 楼
搜了下论坛里帖子,用这个帖子也能实现 {想把exe作为dll 一样载入,然后调用里面的代码。 用loadlibrary 显示载入的时候,目标exe的baseimage被占用了,所以被加载到了别的位置,所以代码段和数据段都需要手工重定位,在想有没办法能把目标exe 加载到目标exe的baseimage上,如0x400000,这样可以免去重定位。
还尝试把目标exe 加到主程序IAT上面,想法是在主程序启动的时候就先去加载目标exe,这样就能启动的时候先去占位置了,不过改了之后程序启动不了了,有没有人成功过?? }
{其实不复杂,说两个要点: 1.要调用的exe没有重定位表没关系,比如默认基址都是0x400000,你自己的程序在编译的时候可以改到其它基址,比如0x20000000,这样load别的exe的时候就可以加载到它的默认基址了,不需要重定位 2.对一些api要做特殊处理,比如GetModuleHandle,当exe调用它的时候,你得返回它实际加载的位置,不然就变成你exe加载的位置了,一般是用hook处理,当然需要处理的还有其它一些函数
这样的话,大部分不是太复杂的程序应该没问题了}
|
能力值:
( LV2,RANK:10 )
|
-
-
30 楼
这个练习代码哪里有问题,查错都困难,吐血...
|
能力值:
( LV1,RANK:0 )
|
-
-
31 楼
好他吗牛逼
|
能力值:
( LV6,RANK:80 )
|
-
-
32 楼
mark
|
能力值:
( LV3,RANK:30 )
|
-
-
33 楼
mark。学习原理事半功倍
|
能力值:
( LV3,RANK:20 )
|
-
-
34 楼
0x0003121E 处(位于 我的妈呀.exe 中)引发的异常: 0xC0000005: 读取位置 0x00402018 时发生访问冲突。为什么在跳转入口点的时候不成功,exe,没有重定位,我用od做exe试的,od有重定位也不行
|
能力值:
( LV2,RANK:10 )
|
-
-
35 楼
如果exe里有重定位的可以成功,例如vs19编译的控制台程序 没有重定位不行的,易语言编译出的exe就没重定位表,加载到内存里baseaddress不是0x400000 里面调用api的时候就出错
|
能力值:
( LV3,RANK:20 )
|
-
-
36 楼
资源表怎么处理?
|
能力值:
( LV2,RANK:10 )
|
-
-
37 楼
谢谢 已学习
|
能力值:
( LV6,RANK:80 )
|
-
-
38 楼
支持
|
能力值:
( LV2,RANK:10 )
|
-
-
39 楼
杰克王
0x0003121E 处(位于 我的妈呀.exe 中)引发的异常: 0xC0000005: 读取位置 0x00402018 时发生访问冲突。为什么在跳转入口点的时候不成功,exe,没有重定位,我用od ...
exe要有重定位表才行,vs我编译的exe没问题,易语言的没重定位不行
|
能力值:
( LV2,RANK:10 )
|
-
-
40 楼
qj111111
搜了下论坛里帖子,用这个帖子也能实现
{想把exe作为dll 一样载入,然后调用里面的代码。 用loadlibrary 显示载入的时候,目标exe的baseimage被占用了,所以被加载到了别的位 ...
感觉这种方法局限性很大啊,让目标程序加载在默认基址处,虽然可以正常调用目标程序的内部函数,但是如果目标程序调用了其他的库函数,不一样要凉凉?
|
能力值:
( LV3,RANK:22 )
|
-
-
41 楼
谢谢分享,很好得学习资料
|
能力值:
( LV1,RANK:0 )
|
-
-
42 楼
谢谢分享...
|
能力值:
( LV1,RANK:0 )
|
-
-
43 楼
请问为什么要用Ulong32?能具体解释下马,最近看PE加载器看到ULONG64和ULONG32,础差,希望得到大佬的解释
|
能力值:
( LV3,RANK:20 )
|
-
-
44 楼
pe文件加载后在内核有对应的section,file数据结构,可没简单
|
|
|