赞
踩
最近要分析一个程序,需要在win7 x86系统上调试,所以就下载了X64dbg,结果发现内置的字符串搜索工具,不能很好的显示utf-8的字符串。
如图:
搜索了下x64dbg的github,发现x64dbg的内置字符串搜索工具只能识别ANSI和UNICODE码,至于其他的解析工作,x64dbg的作者希望由各国的x64dbg爱好者编写自己的插件处理。他通过写了一个C++的文件(disasm_helper.cpp)里面导出了一些处理字符串的函数,以便时,插件开发者可调用这些字符串函数,或者hook钩子住自己处理字符串函数,从而正确的显示字符串。相关的帖子截图如下:
链接:https://github.com/x64dbg/x64dbg/issues/2863
链接:https://github.com/x64dbg/x64dbg/issues/1286
disasm_helper.cpp的部分截图:
大家也看到了上图中,最后的那个cxj98网友说有一个中文插件支持显示中文,这个插件就是我们需要的东西。
名称:x64dbg_tol(作者:lynnux)
下载链接如下:https://download.csdn.net/download/donglxd/88309795
上面的链接是x64dbg_tol插件的网上能找到的比较新的版本,可以用在x64dbg的2023.09.02这个版本的上,我想之前的版本也是兼容的,本人不才,没有找到lynnux编写的插件的单独链接,而是提取自吾爱论坛https://www.52pojie.cn/thread-1788918-1-1.html的"x64dbg 简体中文修订版 (Jun 15 2023) ",压缩包有X32和X64两个版本,请把x64dbg_tol.dp32和x64dbg_tol.dp64分别放入对应的"\x64dbg\release\x32\plugins"和"\x64dbg\release\x64\plugins"插件文件夹,然后重启x64dbg主程序即可。大家如不想在我的csdn上下载,也可以从吾爱论坛的链接的安装包里自行提取或直接安装程序。
如果,不出问题的话,可以看到如下图的插件名称:
至于怎么使用插件的字符串搜索,其实也很简单。
如果你是初次运行x64dbg,先把TLS回调函数和系统TLS回调的中断关掉,省的在这些非必要的东西上跳来跳去。具体如下:
然后重新载入要调试的程序后,虽然还是停在一个系统领空,但是再按一下运行,就会停在程序代码处了。
如图:
停在程序的入口点(OEP)时,选中OEP这一行,按shift+D或者按下图方式打开字符串搜索
可以看到下图,和本文开始处的同样位置的字符串都正常显示utf-8中文了。
2024.07.01更新帖:
根据网友要求和实际网络情况,我把最新的X64dbg_20240603原版压缩包和在原版基础上添加了中文字符串补丁的两种版本都上传到CSDN上,有需要的朋友请下载,链接如下:
X64dbg(20240603)添加中文字符串补丁并附官网原版https://download.csdn.net/download/donglxd/89503489
如图2024.06.03的最新版本可以显示中文:
上图中可以看到有些还是有乱码,除了x64dbg识别错误,或因为代码是寄存器参数如[ESP]这样的读取方式,所以会出现个别错误,当然了还有程序本身加密的可能性存在,比如下面的情况:
大家可以看到这个程序明显是UPX加壳了,所以找不到中文字符串,这种就先要脱壳才行,等之后有时间,我会做一期博客专门介绍这个特殊的情况,请关注我的博客,谢谢~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。