登录后更精彩...O(∩_∩)O...
您需要 登录 才可以下载或查看,没有账号?立即注册
×
OllyDbg V2.01 中文汉字完美显示(文件和补丁工具)(2021-09-28 更新)
OllyDbg V2.01 虽然出世有七八年了,但是作为动态调试工具来说还是有无可替代的作用。相比 X64Dbg 来说,虽然在界面上没有 X64Dbg 那么具有现代感,但 OllyDbg 更胜在运行速度和反汇编代码的质量上。虽然, OllyDbg2 已经原生支持非英文的语言文件,但是它对中文的显示还是有很多的问题。主要是因为汉字字符和英文字符宽度不一致的所造成的,经过了几天的努力,终于让它完美的显示了中文。
补丁是以原版基础上进行的,在不破坏和影响原有功能的前提下,力求以最小的改动达到最优的效果。修补充分利用了原有代码间隙,不改变文件的原有大小,可以和原版进行字节级对比。可以去下面的官方主页下载原版。
另外在修补调试过程中为了方便验证修补的效果,顺便写了一个内存补丁小工具,通过这个工具可以方便的修补或恢复每一个补丁位置,即可以对OD2进行内存修改,也可以直接修改到文件,大家也可以根据自己的需要,自己定制自己需要的修改。补丁工具是用VB6写的,一些运行库也一起打包了,如果你有VB6的运行环境,可以单独运行可执行文件也没问题。
另外原版的工具栏上唯独缺少了打开补丁窗口的按钮,而这个在需要频繁打开补丁操作时非常有用。本着最小修改的原则,没有另外添加图标资源。另外因为原来的数据末尾没有足够的空间,所以只有将原来的按钮数据向前移动了四个字节,在数据末尾又追加了一个按钮数据,并且借用了原来断点按钮的图标B(刚好和中文补丁的拼音首字母相同),达到了快速打开补丁窗口的功能。如果不需要这个功能的,可以用补丁工具自行进行取舍。
还有网上的中文语言文件中有些不太合适的地方,我也做了一些翻译的优化,但是没有严格按照英文原文来翻译,是根据应用情景来翻译的,这样会更加自然和容易理解。
下面贴出部分对比图,还有其他很多小的地方大家可以根据补丁工具界面的说明自行验证。补丁项目后面打 x 的项目是在实际使用中没有发现有影响,也可能是没有达到特定的条件,本着最小修改的原则,所以暂时没有启用。
如果内存或文件中的指定位置即与原代码不同也和补丁代码不同,则该项用灰色禁止修改,以防造成不可预知的错误。有关字体修改的两项是相冲突的,所以如果启用了其中一项,另一项就会变成灰色不可用状态。
最后还有一个原版的调用堆栈有些地方不能找到调用位置,会显示 ??? 的问题,我从一个插件中扣出来了一个函数来修补,但是只有在OllyDbg改了名的条件下才有一些作用,不能完全达到效果,并且还有条件限制,所以也没有启用。如果有朋友知道该如何完美修补这个问题,恳请赐教。
上传一个已经修改完成的版本,已经启用了截图上的补丁项目,可以直接下载使用,如果不放心的话可以自己用补丁工具用原版自行修改。如果想知道修改内容的话,在补丁工具上用鼠标指向每一个补丁,就会显示出修改位置,大家可以自己用OD来查看所修改的内容。
其中有参考 零零九九 的方法
2021-09-25 又更新了一个地方,将跳转列表难看的字体修正了,看下面的对比图,另外单独更新了可执行文件和OD打包在一起,如果提示缺少文件需要链接库文件,请下载 OD2内存补丁.zip 2021-09-28 主要更新了补丁工具(增加滚动条,增加了分组显示),增加了两三个补丁项,修改了一项补丁,用以修补在Win10等高版本系统上出现的问题,详见22楼,谢谢Kisesy提供的信息
|