首页
社区
课程
招聘
[原创]在 IDA Pro 9.1 和 x64dbg 同时调试同一个程序时,最方便、最准确的 地址对应方法。
发表于: 2025-9-10 17:00 2880

[原创]在 IDA Pro 9.1 和 x64dbg 同时调试同一个程序时,最方便、最准确的 地址对应方法。

2025-9-10 17:00
2880

IDA Pro 9.1  x64dbg 同时调试同一个程序时,最方便、最准确的 地址对应方法

 

IDA 是静态分析 → 地址基于 文件头里的 ImageBase

x64dbg 是动态调试 → 地址基于 运行时模块基址 (ModuleBase),受 ASLR 影响。

所以要对齐,必须保证 IDA 的基址和运行时的基址一致

 

x64dbg 里找到模块基址

打开 Memory Map (Alt+M),找到主模块(一般就是 exe)。

记录它的 Base,例如:0x7FF7B2000000

IDA 里重定位 (Rebase)

菜单:Edit → Segments → Rebase program

输入刚才的 ModuleBase (0x7FF7B2000000)

确认。

效果

此时 IDA 里的所有函数、数据地址会和 x64dbg 完全一致。

你在 x64dbg 里看到的断点地址,可以直接在 IDA 里双击过去。

 

不用 Rebase,直接算偏移

IDA 里看 Offset = Address - ImageBase

x64dbg 实际地址 = ModuleBase + Offset

这种方式要手工换算,不适合长时间分析。

禁用 ASLR(适合你长期分析一个 exe

给目标程序加上 REBASE=0,或用工具(如 CFF Explorer)修改 DllCharacteristics 去掉 ASLR

这样运行时基址永远等于 PE Header 里的 ImageBaseIDA x64dbg 天然对齐。

 

调试时:在 x64dbg 查模块基址 IDA Rebase 到这个基址 地址完全一致。

长期分析一个程序:干脆关闭 ASLR,这样以后每次运行都不需要 Rebase

 

 关闭 ASLR 的几种方法整理给你,你以后在 x64dbg  IDA Pro 9.1 对照时,就能做到地址天然一致,不用每次 Rebase

 

ASLRAddress Space Layout Randomization)是 Windows 的安全特性,会让 EXE/DLL 在运行时被加载到一个随机基址。

如果关闭 ASLR,程序就会固定加载到 PE 头里的 ImageBase,这样 IDA(静态)和 x64dbg(动态)地址完全一致

 

editbin 工具(推荐,微软官方)

打开 VS 开发者命令行Visual Studio 自带)。

执行:

editbin /DYNAMICBASE:NO your.exe

修改后的 exe 在运行时不会再随机重定位,基址始终是 ImageBase

⚠️ 注意:

editbin  VS 自带(VC\bin 目录里)。

只修改 EXE,不影响逻辑,不需要重新编译。

 

打开 CFF Explorer → 载入目标 exe

左边栏选择 NT Headers → Optional Header

找到 DllCharacteristics 字段。

去掉 Dynamic Base (0x40) 选项。

保存 exe

这样运行时就不会再启用 ASLR

 

Windows 里可以通过 bcdedit 命令关闭系统范围的 ASLR,例如:

bcdedit /set {current} nx AlwaysOff

但是这样会降低系统安全性,不建议。分析单个程序时,用方法一/二就够了。

 

x64dbg 打开 exe

Memory MapAlt+M)里的模块基址。

如果等于 PE Header 里的 ImageBase,说明成功。

再用 IDA 打开同一个 exe,地址自然和 x64dbg 一致。

 

总结:

最方便的方法editbin /DYNAMICBASE:NO your.exe

图形化修改CFF Explorer → 去掉 DllCharacteristics Dynamic Base

这样以后 IDA x64dbg 地址完全一致,不用每次 Rebase

 

要不要我给你画一张 PE Optional Header → DllCharacteristics → Dynamic Base 的图?这样你在 CFF Explorer 里能一眼找到该勾选的位置。



[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!

上传的附件:
收藏
免费 12
支持
分享
最新回复 (8)
雪    币: 6
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
我嘞个gpt,5
2025-9-10 22:06
0
雪    币: 149
活跃值: (632)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
前来围观
2025-9-11 22:44
0
雪    币: 14715
活跃值: (7354)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4

多谢楼主分享哟,学习了
2025-9-12 20:44
0
雪    币: 2839
活跃值: (12132)
能力值: (RANK:385 )
在线值:
发帖
回帖
粉丝
5
总结:  长时间分析关闭alsr以及ida使用rebase更改地址和x64一样. 其它都是辅助.
2025-9-16 09:48
0
雪    币: 418
活跃值: (356)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
感谢分享,学习了
2025-9-28 00:01
0
雪    币: 4715
活跃值: (3379)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
多谢楼主分享
2025-10-15 20:32
0
雪    币: 34
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
我刚刚还在AI里面搜索了怎么对齐,后面网页去搜索就到这个了,太谢谢了,还有下次再出个IDA与WINHEX地址对齐
2025-10-17 10:27
0
雪    币: 290
活跃值: (698)
能力值: ( LV12,RANK:238 )
在线值:
发帖
回帖
粉丝
9
 多谢楼主分享 
2025-12-2 14:56
0
游客
登录 | 注册 方可回帖
返回