exe取消动态基址

Posted dirwang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了exe取消动态基址相关的知识,希望对你有一定的参考价值。

动态基址开启后,在动态调试是想要和ida静态分析中的地址对应还要进行一步计算,取消动态基址便可以剩下很多时间。

只要修改pe文件头中的Characteristics低位置1

1 typedef struct _IMAGE_FILE_HEADER 
2   WORD  Machine;                    **        机器号     相对该结构的偏移0x00**
3   WORD  NumberOfSections;           **        节区数量   相对该结构的偏移0x02**
4   DWORD TimeDateStamp;              **        时间戳     相对该结构的偏移0x04**
5   DWORD PointerToSymbolTable;       **        符号表偏移  相对该结构的偏移0x08**
6   DWORD NumberOfSymbols;            **        符号表数量  相对该结构的偏移0x0C**
7   WORD  SizeOfOptionalHeader;       **        可选头大小  相对该结构的偏移0x10**
8   WORD  Characteristics;            **        PE文件属性  相对该结构的偏移0x12**
9  IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;

Characteristics可以是下面一个或者多个值的和

宏定义数值描述
IMAGE_FILE_RELOCS_STRIPPED 0x0001 从文件中删除了重定位信息
IMAGE_FILE_EXECUTABLE_IMAGE 0x0002 该文件是可执行的
IMAGE_FILE_LINE_NUMS_STRIPPED 0x0004 COFF行号从文件中删除
IMAGE_FILE_LOCAL_SYMS_STRIPPED 0x0008 COFF符号表条目从文件中删除
IMAGE_FILE_AGGRESIVE_WS_TRIM 0x0010 废弃
IMAGE_FILE_LARGE_ADDRESS_AWARE 0x0020 该应用程序可以处理大于2GB的地址
IMAGE_FILE_BYTES_REVERSED_LO 0x0080 废弃
IMAGE_FILE_32BIT_MACHINE 0x0100 32位机器
IMAGE_FILE_DEBUG_STRIPPED 0x0200 调试信息已删除并单独存储在另一个文件中
IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP 0x0400 如果在移动介质中,拷到交换文件中运行
IMAGE_FILE_NET_RUN_FROM_SWAP 0x0800 如果在网络中,拷到交换文件中运行
IMAGE_FILE_SYSTEM 0x1000 该文件是一个系统文件
IMAGE_FILE_DLL 0x2000 该文件是一个文件是一个动态链接库
IMAGE_FILE_UP_SYSTEM_ONLY 0x4000 该文件应仅在单处理器计算机上运行
IMAGE_FILE_BYTES_REVERSED_HI 0x8000 废弃

pe修改的工具很多,我用的peid

技术图片

 

以上是关于exe取消动态基址的主要内容,如果未能解决你的问题,请参考以下文章

Windows 逆向使用 CE 工具挖掘关键数据内存真实地址 ( 数据查找技巧 | 地址访问调试 | 指令选择技巧 | MOV 汇编指令含义 | 基址值搜索 ) ★

《PE总结 》– 重定位表

《PE总结 》– 重定位表

CE修改器使用教程 [提高篇]

学习逆向知识之用于游戏外挂的实现.第三讲,通过游戏外挂.分析红色警戒金钱基址.以及确定基址小技巧.

关闭程序基地址改变