pe文件
拿节
绳锯木断,水滴石穿,贵在坚持
展开
-
EXE文件的重定位表起作用
=====重定位表的使用方法为(我自己的理解):文件的实际装入地址-文件的建议装入地址=修正值实际装入地址+VirtualAddress+重定位项中的地址=需要重定位的代码在内存中的位置修正值+需要重定位的代码=正确的代码(只需要把地址加上修正值)只需要定位到需要重定位的代码在内存中的位置把该处的代码修改成正确的代码即可。注:上面说的代码应该是用于立即寻址的地址。=转载 2008-09-26 15:42:00 · 1585 阅读 · 0 评论 -
一段linux下分析dll文件格式的程序
/*下文的代码既可在linux亦可在windows下运行。为什么要保留这段代码呢?1.包含了最近一段时间对pe文件格式的分析;以后如果再需要用pe格式只要看看这段代码就行了,容易上手。2.pe文件中rva到文件偏移量的转换比较头大;这段代码中有较好的函数实现。此程序的功能是判断一个文件是否为.cpl文件。cpl文件其实就是dll,但是包含了一个特殊接口。*/#i转载 2013-01-05 21:08:42 · 1100 阅读 · 0 评论 -
一步一步走进Linux HOOK API(一)
文章转载自:http://blog.csdn.net/yyttiao/article/details/7346287主要是拷贝到自己博客,做个备份最近我查阅很多参考资料.发现对于讲述Linux HOOK API的资料是很少,让我们这些新人难以去走进Linux HOOK大门.在这里我将全面的讲述Linux HOOK API的全部实现过程,这个过程中我也遇到很多转载 2013-01-05 21:34:24 · 1570 阅读 · 0 评论 -
一步一步走进Linux HOOK API(二)
从上一篇的ELF Head之后,想必很多读者已经对ELF文件开始感觉不是遥不可及了,今天这一节,主要是讲程序头(Program Headers),程序头主要是从加载执行的角度来看的,很多人想那里面到底是什么东西呢,其实程序头就是一个结构数组,每一个头保存着对应的不同的数据,有的数据是告诉系统把我放入内存,有的数据时告诉系统我是变量.等等...在系统加载程序的时候就要通过该程序头来加载不同的段.转载 2013-01-05 21:35:23 · 839 阅读 · 0 评论 -
一步一步走进Linux HOOK API(三)
经过前两篇的教程,我很郁闷,CSDN的博客发布出来之后,跟我的排版完全不一样了,等这一系列的内容全部完成完成之后,我会发布该系列的全部doc文件,如果觉得本系列还不错的话,欢迎大家下载收藏..谢谢支持~~~下面进入正题,今天主要讲述的是ELF 文件的另一个大块叫节头(Section Headers),那么什么叫节头呢.节头里面分散着不同的段,有.bss .text .init .data转载 2013-01-05 21:36:12 · 877 阅读 · 0 评论 -
一步一步走进Linux HOOK API(四)
这一节主要是讲述的是符号节.要怎么才能找到符号节呢,其实只要在上一期讲的遍历节头的时候,判断每一个节类型是不是SHT_SYMTAB或SHT_DYNSYM,那么相应的节就是一个符号节了,符号节存放的是一张符号表,符号表也是一个连续存储的结构数组.那什么叫符号呢?编程过程中用到的变量和函数都可以称之为符号,一个ELF文件中并不只有一个符号节,通常是两个,一个叫动态节,打印名称为".dynsym转载 2013-01-05 21:36:54 · 950 阅读 · 0 评论 -
一步一步走进Linux HOOK API(五)
这一讲中,我们不在继续进入研究动态符号表的获取了,今天咱们来点实战的话题,对于前面我们研究的那么多知识,做一次总结.来看看这些节表之间是怎么联系起来的.最后我们将经过一个简单的拦截printf函数,修改它的参数,来输出我指定的字符串,这样就达到简单的hook api的目的.好了废话不多说.先看看main.c里面的代码.[cpp] view plaincopy转载 2013-01-05 21:39:11 · 1223 阅读 · 0 评论 -
一步一步走进Linux HOOK API(六)
上一节,我们讲了如何手动通过GDB来拦截printf的参数,其实ELF远远不止我们介绍的那点东西,在经过一轮实战之后,我们得继续回到ELF文件格式的探索之旅了.今天我们这里就要讲什么的,好了,今天我们轻松一点,看一下动态节,动态节的类型是SHT_DYNAMIC,先看一下动态节的定义:[cpp] view plaincopyty转载 2013-01-05 21:40:20 · 2393 阅读 · 0 评论 -
一步一步走进Linux HOOK API(七)
http://blog.csdn.net/zhejiang9/article/details/8470891我又来啦,今天是本系列介绍ELF文件的最后一篇教程.跟随大家一起了解了ELF文件的大致结构.整个结构其实是很明朗的,根据ELF头,程序头,节头.从节头里提取不同的类型,到不同的节表内去获取不同的信息,今天这里主要介绍重定位表.也是常用的节表之一.有了符号名和动态库转载 2013-01-05 21:41:35 · 1150 阅读 · 2 评论