「神器」调试好帮手:神算子偏移计算工具
by anhkgg
2018年12月11日
0x01.写在前面
做逆向调试的小伙伴应该都遇到过这种问题:在同时使用两大神器OD(或Windbg)和IDA逆向某程序时,调试中模块基址经常变化,而在IDA中默认为0x400000(或0x10000000),所以在调试到某个点想到IDA整体对比分析一下的时候,发现计算地址真的好麻烦,特别时在经常需要计算的时候,这个问题尤为明显。
通常步骤是:
- 打开calc.exe,切换到程序员项
- 复制当前地址0xD60F00D,复制模块基址0x5200000,算出偏移0x840f00d
- 复制IDA中对应模块基址0x10000000,加上刚才的偏移得到对应在IDA中地址,g跳转到对应地址
- 下次又要算一次,重复复制基址,减偏移,加偏移,如此往复。
烦不烦,累不累?不要急,上帝给了一束光,它来了!
0x02. 神奇工具
为了解决上面的问题,我其实思量了很久要写个小工具的,但总是耽搁着。终于,最近还是把它弄出来了。
用上它之后,速度七十迈,调试好能耐。
先看看它的美颜,质朴中带着机灵,机灵中特着小调皮......
特色功能
- 支持回车快速计算
- 支持windbg 64位地址格式,如00007ff6`6cbe825b
- 支持多窗口多模块计算
- 支持32位、64位地址
- 自动判断是否为16进制数据,支持0x,h标记,如果是12345之类纯数字无法判断,最好直接勾选16进制选框
- 支持10进制和16进制快速转换(也支持回车快速计算哦!)
描述一次典型使用场景:
- 复制调试中模块基址粘贴到基址(调试)框
- 复制IDA中模块基址粘贴到基址(IDA)框
- 复制调试中某地址粘贴到地址1(或地址2)
- 回车,得到对应IDA中地址1(或地址2)以及偏移1(或偏移2)
- 再次计算该模块其他地址,只需要重复3、4即可
- 如果从IDA地址计算到调试中,复制IDA地址到对应地址框,回车即可
- 如果还需要计算其他模块地址转换,点+按钮新增窗口,重复1-6即可
- 如果开窗口太多,在模块标记栏填入模块名字,防止混乱出错
这样一对比,可以想见效率高了多少,调试中心情舒畅多少。
心动了吗?赶紧拿起电话......
下载吧!
如有bug、意见和建议,欢迎反馈!反馈群:753894145。
广告:欢迎关注公众号汉客儿或QQ群(753894145),一起交流学习
[推荐]看雪企服平台,提供安全分析、定制项目开发、APP等级保护、渗透测试等安全服务!
最后于 2018-12-11 22:12
被Angelxf编辑
,原因: