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取消动态基址的更多相关文章
- ABP框架 - 介绍 VS2017调试器无法附加到IIS进程(w3wp.exe) c# 动态实例化一个泛型类
ABP框架 - 介绍 在14,15年间带领几个不同的团队,交付了几个项目,在这个过程中,虽然几个项目的业务不一样,但是很多应用程序架构基础性的功能却是大同小异,例如认证.授权.请求验证.异常处理. ...
- 转:使用IDA动态调试WanaCrypt0r中的tasksche.exe
逆向分析——使用IDA动态调试WanaCrypt0r中的tasksche.exe 转:http://www.4hou.com/technology/4832.html 2017年5月19日发布 导语: ...
- 为什么0x00400000是可执行文件的默认基址?EXE base address start with 400000H,Why is 0x00400000 the default base address for an executable?
DLL的默认基址是0x10000000,但EXE的默认基址是0x00400000.为什么EXE特别值?4 兆字节有什么特别之处它与x86上单页目录条目映射的地址空间量和1987年的设计决策有关.对EX ...
- Unity3d发布成exe项目后的设置(全屏自适应屏幕大小)
原地址:http://blog.sina.com.cn/s/blog_697b1b8c0101gd46.html 1. 去除启动exe项目时出现的画面窗口 File ☞ Build Settings ...
- Oracle静态监听与动态监听概念全解析
基于11g,linux5.5做出的测试,单实例数据库做出的测试. 1.注册 Instance到监听器去注册自己的Instance_name与ORACLE_HOME,还可以选择添加global_dbna ...
- 几种 WebP 动态图制作方法
1.RealWorld Paint 目前唯一有图形用户界面的 动态 webp 编辑器, 利用最新版本 libwebp v1.0.0 生成的有损动态图是打不开.这个有两个版本, 推荐使用 2013.1, ...
- VC的小工具查询exe的依赖
查看程序或动态库所依赖的动态库 dumpbin /dependents abc.exe 查看动态库的输出函数 dumpbin /exports abc.dll
- vs查看动态库依赖
dumpbin是VS自带的工具,进入Visual Studio 的命令提示 查看程序或动态库所依赖的动态库 dumpbin /dependents abc.exe 查看动态库的输出函数 dumpbi ...
- C# .exe和.dll文件图标资源提取工具
Windows 可执行文件(.exe)和动态库文件(.dll)图标资源提取工具 GitHub 功能 图标资源预览 图标资源导出(仅支持导出 PNG 格式) 代码 获取图标资源使用了 Win32 API ...
随机推荐
- μC/OS-III---I笔记8---事件标志
当任务需要同步时可以使用信号量.A任务给B任务发送消息后B任务才能继续运行.如果需要A任务给任务B传递数据的时候就可以采用消息队列.但对于繁杂任务的同步,比如多个时间发生以后执行一个事件,或者是C任务 ...
- Redux Middleware All in One
Redux Middleware All in One https://redux.js.org/advanced/middleware https://redux.js.org/api/applym ...
- Java REPL & JShell
Java REPL & JShell Java 11 JShell Java Shell https://www.infoq.com/articles/jshell-java-repl/ Th ...
- qt 向窗口发送消息,键盘输入事件
#include <windows.h> #include <QtDebug> #include <locale> #include <tchar.h> ...
- 「NGK每日快讯」11.23日NGK公链第21期官方快讯!
- Python算法_两数之和(01)
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组中同一个元素不能使用两遍. ...
- 消息中间件选型分析:从 Kafka 与 RabbitMQ 的对比看全局
本文转载自消息中间件选型分析:从 Kafka 与 RabbitMQ 的对比看全局 前言 消息队列中间件(简称消息中间件)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布 ...
- Redis常用数据类型及其存储结构(源码篇)
一.SDS 1,SDS源码解读 sds (Simple Dynamic String),Simple的意思是简单,Dynamic即动态,意味着其具有动态增加空间的能力,扩容不需要使用者关心.Strin ...
- [计算机图形学]绘制填充模型:重心坐标、z-buffer
目录 一.点乘和叉乘 0. 向量表示 1. 点乘 2.叉乘 2.1 坐标运算方式 2.2 向量运算方式 2.3 叉乘的用途 二.Bounding Box 三.重心坐标 四.z-buffer 五.总结 ...
- 文件下载:报错The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'
前言:这篇文件下载的后台代码太繁琐,建议参考https://www.cnblogs.com/zwh0910/p/13745947.html 前端: <el-button type="p ...