首页
社区
课程
招聘
[原创]「神器」不容错过!逆向调试好帮手:神算子偏移计算工具
发表于: 2018-12-11 22:11 9995

[原创]「神器」不容错过!逆向调试好帮手:神算子偏移计算工具

2018-12-11 22:11
9995

「神器」调试好帮手:神算子偏移计算工具
by anhkgg
2018年12月11日

0x01.写在前面

做逆向调试的小伙伴应该都遇到过这种问题:在同时使用两大神器OD(或Windbg)和IDA逆向某程序时,调试中模块基址经常变化,而在IDA中默认为0x400000(或0x10000000),所以在调试到某个点想到IDA整体对比分析一下的时候,发现计算地址真的好麻烦,特别时在经常需要计算的时候,这个问题尤为明显。

 

通常步骤是:

  1. 打开calc.exe,切换到程序员项
  2. 复制当前地址0xD60F00D,复制模块基址0x5200000,算出偏移0x840f00d
  3. 复制IDA中对应模块基址0x10000000,加上刚才的偏移得到对应在IDA中地址,g跳转到对应地址
  4. 下次又要算一次,重复复制基址,减偏移,加偏移,如此往复。

烦不烦,累不累?不要急,上帝给了一束光,它来了!

0x02. 神奇工具

为了解决上面的问题,我其实思量了很久要写个小工具的,但总是耽搁着。终于,最近还是把它弄出来了。

 

用上它之后,速度七十迈,调试好能耐

 

先看看它的美颜,质朴中带着机灵,机灵中特着小调皮......

 

 

特色功能

  • 支持回车快速计算
  • 支持windbg 64位地址格式,如00007ff6`6cbe825b
  • 支持多窗口多模块计算
  • 支持32位、64位地址
  • 自动判断是否为16进制数据,支持0x,h标记,如果是12345之类纯数字无法判断,最好直接勾选16进制选框
  • 支持10进制和16进制快速转换(也支持回车快速计算哦!)

描述一次典型使用场景:

  1. 复制调试中模块基址粘贴到基址(调试)框
  2. 复制IDA中模块基址粘贴到基址(IDA)框
  3. 复制调试中某地址粘贴到地址1(或地址2)
  4. 回车,得到对应IDA中地址1(或地址2)以及偏移1(或偏移2)
  5. 再次计算该模块其他地址,只需要重复3、4即可
  6. 如果从IDA地址计算到调试中,复制IDA地址到对应地址框,回车即可
  7. 如果还需要计算其他模块地址转换,点+按钮新增窗口,重复1-6即可
  8. 如果开窗口太多,在模块标记栏填入模块名字,防止混乱出错

这样一对比,可以想见效率高了多少,调试中心情舒畅多少。

 

心动了吗?赶紧拿起电话......

 

下载吧!

 

如有bug、意见和建议,欢迎反馈!反馈群:753894145

 

广告:欢迎关注公众号汉客儿或QQ群(753894145),一起交流学习


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2018-12-11 22:12 被anhkgg编辑 ,原因:
上传的附件:
收藏
免费 4
支持
分享
最新回复 (31)
雪    币: 29235
活跃值: (7764)
能力值: ( LV15,RANK:3306 )
在线值:
发帖
回帖
粉丝
2
通常步骤难道不是 IDA -> Edit -> Segments -> Rebase program 吗..
2018-12-11 22:27
1
雪    币: 18
活跃值: (1059)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
3
风间仁 通常步骤难道不是 IDA -> Edit -> Segments -> Rebase program 吗..
笑喷.
2018-12-11 22:30
0
雪    币: 10072
活跃值: (3008)
能力值: ( LV15,RANK:515 )
在线值:
发帖
回帖
粉丝
4
风间仁 通常步骤难道不是 IDA -> Edit -> Segments -> Rebase program 吗..
哈哈,因为有些时候文件大,改IDA基址很慢,所以不喜欢这样
另外,每次调试中基址变化,又得改,所以也不喜欢

另外,谢风神回复
2018-12-11 22:48
0
雪    币: 10072
活跃值: (3008)
能力值: ( LV15,RANK:515 )
在线值:
发帖
回帖
粉丝
5
猪会被杀掉 笑喷.[em_19]
我也笑喷
2018-12-11 22:48
0
雪    币: 29235
活跃值: (7764)
能力值: ( LV15,RANK:3306 )
在线值:
发帖
回帖
粉丝
6
恩, 有时候上百M的文件确实蛋疼
2018-12-11 22:58
0
雪    币: 18
活跃值: (1059)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
7
Angelxf 我也笑喷
你还写个exe,不会顺手写个IDA插件?尴尬了.
2018-12-11 23:04
0
雪    币: 18
活跃值: (1059)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
8
风间仁 恩, 有时候上百M的文件确实蛋疼
话说回来除了chrome之外还没见过单个文件上百M的,大佬应该见过.
最后于 2018-12-11 23:07 被猪会被杀掉编辑 ,原因:
2018-12-11 23:05
0
雪    币: 10072
活跃值: (3008)
能力值: ( LV15,RANK:515 )
在线值:
发帖
回帖
粉丝
9
猪会被杀掉 你还写个exe,不会顺手写个IDA插件?尴尬了.[em_10]
不会,大佬来?
2018-12-11 23:08
0
雪    币: 18
活跃值: (1059)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
10
Angelxf 不会,大佬来?
感觉没那必要,非常必要我一定会写的;另外,我写过ida插件,没在pediy发表过.
2018-12-11 23:12
0
雪    币: 10072
活跃值: (3008)
能力值: ( LV15,RANK:515 )
在线值:
发帖
回帖
粉丝
11
猪会被杀掉 感觉没那必要,非常必要我一定会写的;另外,我写过ida插件,没在pediy发表过.
2018-12-11 23:25
0
雪    币: 2473
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
随机地址去掉不更方便吗?
2018-12-11 23:40
0
雪    币: 10072
活跃值: (3008)
能力值: ( LV15,RANK:515 )
在线值:
发帖
回帖
粉丝
13
PYGame 随机地址去掉不更方便吗?
有道理,那写个通用工具也没什么大问题吧,大佬
2018-12-11 23:45
0
雪    币: 2473
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
大佬练习编程的话 没毛病
2018-12-11 23:52
0
雪    币: 12502
活跃值: (3053)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
15
这工具挺不错,有时候脱壳,部分dump需要他
2018-12-12 07:19
0
雪    币: 6890
活跃值: (3171)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
谢谢楼主
2018-12-12 09:14
0
雪    币: 3466
活跃值: (1300)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
1
最后于 2019-1-30 16:32 被晴空暖暖编辑 ,原因:
2018-12-12 11:25
0
雪    币: 465
活跃值: (667)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
18
文风朴实,赞
2018-12-12 11:41
0
雪    币: 486
活跃值: (583)
能力值: ( LV12,RANK:238 )
在线值:
发帖
回帖
粉丝
19
可以强制exe文件的加载地址。 PeLord中可以修改标识位。
2018-12-12 13:17
0
雪    币: 10072
活跃值: (3008)
能力值: ( LV15,RANK:515 )
在线值:
发帖
回帖
粉丝
20
scpczc 可以强制exe文件的加载地址。 PeLord中可以修改标识位。
是的
2018-12-12 14:20
0
雪    币: 43
活跃值: (388)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
21
会python的话,开个python控制台来算就好了,还可以做很多复杂的处理
2018-12-12 15:25
0
雪    币: 6369
活跃值: (1688)
能力值: ( LV4,RANK:156 )
在线值:
发帖
回帖
粉丝
22
我是直接在ida里按一下 ?键,复杂的表达式也是可以计算的
2018-12-12 15:34
0
雪    币: 738
活跃值: (3818)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
23
有点用
2018-12-12 16:41
0
雪    币: 14530
活跃值: (17548)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
24
Angelxf 有道理,那写个通用工具也没什么大问题吧,大佬
既然都通用了,不开源一下吗???
2018-12-12 19:19
0
雪    币: 10072
活跃值: (3008)
能力值: ( LV15,RANK:515 )
在线值:
发帖
回帖
粉丝
25
pureGavin 既然都通用了,不开源一下吗???[em_41]
根据大佬们的反应,东西貌似太low了,所以更不敢开源献丑了
只能用做自己私用的小工具了
2018-12-12 21:50
0
游客
登录 | 注册 方可回帖
返回
//