【ASLR关闭工具】OD载入每次入口地址都不一样怎么办?就这么办。
本帖最后由 cmheia 于 2015-7-6 19:19 编辑【背景】
无需多言,戳这里(有图)、这里(无图)还有这里(无图)。
【出招】
[*]撸代码,做工具
洋洋洒洒数千言,核心代码就两行(雾
[*]exe拖进来
[*]完成
[*]开心OD~
【效果】
任你虐ta千百遍,载入基址永不变(逃
【原理】
[*]百度这句话,看第一个结果(目前我看到还是第一个):
XP下OD载入exe文件基地址是400000,而WIN7里每次都不一样。不知道为什么?
[*]搜索 ASLR 或 Address Space Layout Randomization
[*]直观感受:用 Beyond Compare 对比改动前后的文件。
【上菜】
【备注】
[*]目前只处理了 32bit exe, 其它均未列入日程。
[*]曾经英语垫底生,你懂。
【补充】
[*]如 @Hmily前辈所说, Windows XP 之后的系统(内核版本 NT 6+)都默认打开了 ASLR功能,可以在注册表中添加开关禁用。
[*]关闭 ASLR 可参考程序清单 1,重新启用可参考程序清单 2(均来自搜索,未测试)(注:毕竟是保护系统安全的功能,小心取舍)。
程序清单 1
Windows Registry Editor Version 5.00
"MoveImages"=dword:00000000
程序清单 2
Windows Registry Editor Version 5.00
"MoveImages"=-
[*]MFC 实在荒废太久,虽记得被坑过,却已忘记怎么操作注册表了,待重温后再行更新。
【后记】
[*]昨晚花了几个小时重温丢了两年多的MFC
[*]折腾到夜里2+才搞定关机
[*]今天早上7+惊醒
[*]发现放在床边的两台手机失踪
[*]窗户防盗网毁坏
[*]我愿天下窃贼皆横死
[*]就这样。
小工具不错,之前一直用pe工具直接修改pe头字节,还可以导入注册表禁用alsr防止基地址随机化,ALSR在vista以上系统才有,所以新系统上打补丁最好先获取基地址再添加偏移。
建议题目前面增加:【ALSR关闭工具】
程序里可以添加一个禁用系统ALSR的开关。
重定位?
2台手机··· 不错支持下 很有效的东西 Hmily 发表于 2015-6-26 18:59
小工具不错,之前一直用pe工具直接修改pe头字节,还可以导入注册表禁用alsr防止基地址随机化,ALSR在vista ...
标题已添加。
目前程序用 32bit 的 VC6 做的,之前遇到过注册表操作会被重定向到 Wow3264Node 节点的情况,待研究。 这个也错了,应该是ASLR。。。 Hmily 发表于 2015-7-6 12:00
这个也错了,应该是ASLR。。。
标题已修正。。。{:1_907:} 非常感谢!!!!!!!!!