typedef struct _IMAGE_BASE_RELOCATION { DWORD VirtualAddress; DWORD SizeOfBlock;// WORD TypeOffset[1];} IMAGE_BASE_RELOCATION;typedef IM...
分类:
其他好文 时间:
2015-09-21 15:19:58
阅读次数:
398
(1) .dll .obj .lib使用在windows平台下。 .dll:动态链接库,作为共享函数库的可执行文件。 .obj:目标文件,相当于源代码对应的二进制文件,未经重定位。 .lib:可理解为多个obj的集合,本质与.obj相同。(2) .so .o .a使用在linux平...
分类:
其他好文 时间:
2015-09-21 14:01:11
阅读次数:
208
ldd命令编程开发ldd命令用于打印程序或者库文件所依赖的共享库列表。语法ldd(选项)(参数)选项--version:打印指令版本号;
-v:详细信息模式,打印所有相关信息;
-u:打印未使用的直接依赖;
-d:执行重定位和报告任何丢失的对象;
-r:执行数据对象和函数的重定位,并且报告..
分类:
其他好文 时间:
2015-08-19 17:34:26
阅读次数:
163
【0】GCC将源代码转化成可执行代码的流程
(1)C预处理器cpp扩展源代码,插入所有用#include命令指定的文件,并扩展声明的宏;
(2)编译器ccl产生两个源代码的汇编代码:*.s;
(3)汇编器as将汇编代码转化为二进制目标代码 :*.o ; (目标代码是机器代码的一种形式,它包含所有指令的二进制表示,但没有填入地址的全局值)
(4)链接器ld将目标代码与实现库函数的代码合并,最终产生可...
分类:
其他好文 时间:
2015-08-08 21:28:25
阅读次数:
189
一、Implicit Linking(隐式连接)Implicit Linking(隐式连接),又叫静态载入,所谓静态载入是指程序在连接时期即与dlls所对应的import libraries作静态连接,于是可执行文件中便对所有的dll函数都有一份重定位表格(relocation table)和待修正...
分类:
其他好文 时间:
2015-07-19 23:23:16
阅读次数:
163
PE文件结构(五岁以下儿童)參考书:《加密与解密》视频:小甲鱼 解密系列 视频基址重定位 链接器生成一个PE文件时,它会如果程序被装入时使用的默认ImageBase基地址(VC默认exe基地址00400000h。dll基地址10000000h),而且会把代码中全部指令中用到的地址都使用默认的基地址(...
分类:
其他好文 时间:
2015-07-17 11:51:50
阅读次数:
101
无论是可执行文件还是 so,只要它依赖于其他 so(.dynsym 动态符号表中有导入符号存在),那么在编译链接阶段,这些符号的地址未知,所以只能在动态链接阶段对其进行地址重定位。
分类:
其他好文 时间:
2015-07-13 00:33:44
阅读次数:
291
链接器把一些独立的 object files 和库文件链接起来,形成可执行文件。在这个过程中,链接器需要解决一些符号的引用以及指令的重定位。除此之外,还有一个动态链接的过程。比如有些符号是定义在某个 so 文件中的,需要由动态链接器在装载的过程中进行一些符号查找和地址重定位的工作。要完成此工作,动态...
分类:
其他好文 时间:
2015-06-27 22:44:41
阅读次数:
362
shellcode出处:史上最小无需重定位的"格盘"ShellCode - 半斤八两http://bbs.pediy.com/showthread.php?t=194664shellcode源码:char g_szFromShellCode[] = "PYIIIIIIIIIIIIIIII7QZjAX...
分类:
系统相关 时间:
2015-06-14 08:09:45
阅读次数:
583
一、需要重定位的原因 http://blog.sohu.com/s/NDg4ODAyODQ/179103126.html 二、需要重定位的指令 但凡涉及到直接寻址的指令都需要进行重定位处理 http://blog.sohu.com/s/NDg4ODAyODQ/179103126.html 三、参考 ...
分类:
其他好文 时间:
2015-06-13 15:40:09
阅读次数:
142