-
-
[旧帖]
[原创]修改掉OD调试时标题显示的exe名称(求邀请码)
0.00雪花
-
发表于:
2012-11-1 13:52
1947
-
[旧帖] [原创]修改掉OD调试时标题显示的exe名称(求邀请码)
0.00雪花
标 题: 【原创】修改掉OD调试时标题显示的exe名称(求邀请码)
作 者: 山村野人
时 间:
2012-11-01,13:53:01
链 接:
http://bbs.pediy.com/showthread.php?t=158034
大家都知道OD调试的时候,主窗口标题会变成OllyDbg - 被调试的文件名.exe - [***],那个exe名可能大多数时候不被关注到,可如果有奇葩程序会一个个检测标题有没有自己的文件名的话,可能就暴露了,当然要破掉也是很简单,我写这篇文章只是抛砖引玉(骗邀请码www
)的。。。
(:应该没撞车吧····
先打开OD,然后载入OD,我们知道更改标题是使用SetWindowText函数,OD1.1是ANSI程序,所以就先bp SetWindowTextA:
然后用被调试的OD打开一个exe文件调试:
此时SetWindowTextA断下来了,不过我看到第一个是来自CmdBar的,直接F9不管它。。。
然后看到一个设置的文本确实是标题的,可是来自SOD的,想着应该是SOD接管了OD的标题文本更改(后面看了下IAT,SOD确实是勾了OD的IAT表中的SetWindowTextA),那就滚Stack往高处看,果然看到了来自OllyDbg的call:
跟进去,来到这里:
可以看到关键函数是0x4779DB的一个有3个参数的cdecl函数,我们在这里下断,然后F9让这次的改标题继续。
然后我们再重复打开一个exe的动作,此时刚才的0x4779DB被断下来了,stack是这样:
可能看到%s - %s大家都明白了,在Dump窗口中查看,这个cdecl的函数就是根据标题+文件名+format来格式化输出文本:
然后我们F4直接过这个函数,看第一个参数的Dump(就是buf):
果然就是了,那要修改就简单了,既然是如sprintf那样格式化字符串的,那我们直接把%s - %s,就是“OllyDbg - 文件名.exe”,改成“%s - ”不就OK了么,改来试试:
F9,果然没exe文件名了。。。。
不过2个“-”有点不好看,大家也可以把%s - 改成%s即可。
上面没有仔细看0x4779DB那个call,感觉没必要动态跟了,直接用IDA看下:
倒。。。原来根本就是sprintf。。。
SOD的IAT Hook:
好了,小弟才疏学浅,文章可能写得不好,大家不要见笑。
能否求管理大大们发个邀请码到我邮箱呢,在此谢过了!
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!