Skip to content

Categories:

干掉一个bug

刚准备睡觉突然发现有个工具用不了了,出现runtime error,到作者主页上一看,早就不更新了.只能自己想办法了,系统已经有个把月没有重新启动了,以为是系统问题,重启了一下故障依旧.

准备softice来搞的,可是又太麻烦了,还要安装重启,想到windbg,上ms网站down了下来,一看才十几M,装完了也就三十M.装好大概看了下,和softice的指令类似,还好还好,呵呵,不然又要翻manual.

把那个软件load进来跑了一下,程序在GetLocalTime后做了个比较,没有跳转然后下面很快就堆栈溢出了,看来好像和时间有关系.试着把系统时间调后了一年,run一遍,一切正常,果然如此.windbg跟进去一看,比较后跳转就OK了.

下面就简单了,ultraedit把jne(75)改成jmp(EB)就行了.

收工.
用windbg的时候记得加一个环境变量:
_NT_SYMBOL_PATH=SRV*E:websymbols*http://msdl.microsoft.com/download/symbols
告诉windbg到哪去down那些pdb回来.

Posted in 生活.


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.