首页
社区
课程
招聘
[旧帖] [原创]修改掉OD调试时标题显示的exe名称(求邀请码) 0.00雪花
发表于: 2012-11-1 13:52 1947

[旧帖] [原创]修改掉OD调试时标题显示的exe名称(求邀请码) 0.00雪花

2012-11-1 13:52
1947
标 题: 【原创】修改掉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:


好了,小弟才疏学浅,文章可能写得不好,大家不要见笑。
能否求管理大大们发个邀请码到我邮箱呢,在此谢过了!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
写的很用心啊
2012-11-1 14:10
0
游客
登录 | 注册 方可回帖
返回
//