首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
Windows Pe 第三章 PE头文件-EX-相关编程-2(RVA_FOA转换)
】的更多相关文章
Windows Pe 第三章 PE头文件-EX-相关编程-2(RVA_FOA转换)
RVA-FOA之间转换 1.首先PE头加载到内存之后是和文件头内容一样的,就算是偏移不同,一个是磁盘扇区大小(400H)另一个是内存页大小(1000H),但是因为两个都是开头位置,所以相同. 2.看下IMAGE_SECTION_HEADER定义 也就是这样: 然后就可以算了(RVA->FOA) (1) RVA20 < RVA < RVA30 可以知道在第二节 (2) 然后 off = RVA - RVA20 ,得出距离第二节的偏移off (3) FOA = FOA 20 + off 求出…
Windows Pe 第三章 PE头文件(上)
第三章 PE头文件 本章是全书重点,所以要好好理解,概念比较多,但是非常重要. PE头文件记录了PE文件中所有的数据的组织方式,它类似于一本书的目录,通过目录我们可以快速定位到某个具体的章节:通过PE文件头部分对某些数据结构的描述,我们也可以定位到那些不在头文件部的信息,比如导入表数据.导出表数据.资源表数据等. 3.1 PE的数据组织方式 这一节说了很多,举了两个例子,分别是图书馆存书1和图书馆存书2,细节我不介绍了,是基本的数据结构应用,没有难点.最后说PE数据组织方式类似于存书2的例子…
Windows Pe 第三章 PE头文件(下)
3.5 数据结构字段详解 3.5.1 PE头IMAGE_NT_HEADER的字段 1.IMAGE_NT_HEADER.Signature +0000h,双字.PE文件标识,被定义为00004550h.也就是"P""E"加上两个0,这也是PE这个称呼的由来.如果更改其中任何一个字节,操作系统就无法把该文件识别为正确的PE文件.通过修改这个字段,会导致PE文件在32位系统中加载失败,但由于这个文件的其他部分(特别是DOS头)还没有被破坏,系统还是可以识别出其为DOS…
Windows Pe 第三章 PE头文件(中)
这一章的上半部分大体介绍了下PE文件头,下半部分是详细介绍里面的内容,这一章一定要多读几遍,好好记记基础概念和知识,方便之后的学习. 简单回忆一下: 3.4 PE文件头部解析 3.4.1 DOS MZ头 IMAGE_DOS_HEADER DOS MZ头的下面是DOSS Stub.整个DOSS Stub是一个字节块,其内容随着链接时使用的连接器不同而不同,PE中没有与之对应的相关结构. 3.4.2 PE头标识Signature 紧跟在DOS Stub后面的是PE头标识Signature.与大部分…
Windows Pe 第三章 PE头文件-EX-相关编程-1(PE头内容获取)
获取pE头相关的内容,就是类似如下内容 原理:比较简单,直接读取PE到内存,然后直接强转就行了. #include <windows.h> #include <stdio.h> #include <tchar.h> #pragma warning(disable:4996) void viewImageFileCharacteristics(WORD); int _tmain(int argc, TCHAR *argv[]) { PIMAGE_DOS_HEADER pI…
Android JNI入门第三篇——jni头文件分析
一. 首先写了java文件: public class HeaderFile { private native void doVoid(); native int doShort(); native void doArray(Object[] o ); native int doInt(int i); //byte ,short ,int,long,float,double ,boolean,char native int doInt(double d); //byte ,sh…
conan使用(三)--打包只有头文件的库
参考:https://docs.conan.io/en/latest/howtos/header_only.html?highlight=header%20only 对于只含头文件的库打包非常简单,以rapidjson为例. 执行创建命令: conan new rapidjson/1.1.0 然后修改生成的conanfile.py: # -*- coding: UTF-8 -*- import os from conans import ConanFile, tools class Rapidj…
Windows PE 第十三章 PE补丁技术
PE补丁技术 这章很多东西之前都见过,也单独总结过,比如动态补丁里说的远程代码注入,还有hijack什么的.之前整理过的这里就不细说了,大体说下思路.这里总结一些之前没总结过的东西. 资料中把补丁分为两类,静态补丁和动态补丁.然后有总结了下补丁的基本要素:进程通讯能力.良好的读写其他进程地址能力.正确识别要补丁目标进程.在其他进程地址空间执行代码的能力. 进程通信: 管道通信(有名管道和匿名管道).邮件槽.剪切板.共享内存.消息机制.socket等等具体细节概念请自行百度. (1)动态补丁 读写…
Python开发【第三章】:文件操作
一.文件操作模式概述 1.打开文件的模式: r, 只读模式[默认] w,只写模式[不可读:不存在则创建:存在则删除内容:] a, 追加模式[不可读:不存在则创建:存在则只追加内容:] 2."+" 同时读写某个文件: r+,可读写文件.[可读:可写:可追加] w+,写读 a+,追加读 3."U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用) rU r+U 4."b"表示处理二进制文件(如:FTP发送上传…
【PE结构】由浅入深PE基础学习-菜鸟手动查询导出表、相对虚拟地址(RVA)与文件偏移地址转换(FOA)
0 前言 此篇文章想写如何通过工具手查导出表.PE文件代码编程过程中的原理.文笔不是很好,内容也是查阅了很多的资料后整合出来的.希望借此加深对PE文件格式的理解,也希望可以对看雪论坛有所贡献.因为了解PE文件格式知识点对于逆向破解还是病毒分析都是很重要的,且基于对PE文件格式的深入理解还可以延伸出更多非常有意思的攻防思维. 1 导出表查询工具 1 ) dumpbin VS自带的工具,有很多的功能.但用来查询程序的导出表也非常方便,使用例子如下: dumpbin.exe /EXPORTS D:\P…