前言
“一款QT开发的国外软件,大概率是没有做中文支持的,所以你汉化中,不论怎么设置编码都一定是乱码。面对这个问题,你去互联网上找答案,答案却大多是复制粘贴的开发中解决乱码的文章,可是我们是要逆向中解决,于是吾爱破解、汉化新世纪等找过来,盘搜搜个遍,发现基本不是资源过期就是驴唇不对马嘴的抄袭贴,所以我来发一篇干货,同时网盘中上传本期视频片源,可供收藏传播。给那些遇到这个坎过不去,又找不到有用资料的提供帮助!”
准备
【环境和工具】
-
win7/xp虚拟机环境
-
pdf2any原版安装程序(qt开发的国外程序,不支持中文,无源码)
-
ollydbg
-
Radialix 3
-
010editor
-
qt-win-opensource-4.8.2-mingw.exe(相当于QT库支持,核心部件)
-
qt-creator-opensource-windows-x86-3.3.0.exe(相当于编辑器而已)
-
MinGW.rar(编译调试环境)
-
最后三个是QT开发环境,搭建起来有利于学习,当然如果你不想玩QT开发那其实只用装第一个就行了,里面有QT各种库函数的源码,遇到相应程序浏览源码即可
【学习层次】
-
生搬硬套,能解决大部分QT汉化中乱码问题
-
搞懂搞透,举一反三
实战图文
一.某QT程序汉化中遇乱码
-
QT开发的国外软件
-
不论怎么搞,都是乱码
-
例如汉化下图中的标题registration

乱码
二.逆向分析寻找原因
1.OD中定位标题字符串
程序载入OD,定位"registration",并查看,程序中都有那些位置会调用这个字符串,如图
发现有三个地方调用了这个字符串地址,全部下断点
2.运行观察
断点下好后,运行程序,观察调用字符串的逻辑流程,发现下的三个断点中有两个在程序启动会被调用,调用的目的分别是作为两个QT库函数的参数,如下图
3.正向查阅相关函数源码
这里多说一句,玩逆向不只光玩逆向,一直强调逆向是一种思维,逆向破解的逆向就是开发,活用开发资料,逆向破解中往往事半功倍。
安装QT后就可以看QT各种库函数的源码和资料,如果你想更深入的了解,给吃透的话,最好的方式莫过于自己开发,自己逆向分析。具体QT环境的搭建可以参阅下面链接
https://wenku.baidu.com/view/4e7d7f415a8102d276a22f88
