行业干货-如何逆向解决QT程序汉化中乱码问题

“一款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

行业干货-如何逆向解决QT程序汉化中乱码问题

 

乱码

行业干货-如何逆向解决QT程序汉化中乱码问题

 

 二.逆向分析寻找原因

1.OD中定位标题字符串

程序载入OD,定位"registration",并查看,程序中都有那些位置会调用这个字符串,如图

行业干货-如何逆向解决QT程序汉化中乱码问题

发现有三个地方调用了这个字符串地址,全部下断点

行业干货-如何逆向解决QT程序汉化中乱码问题

2.运行观察

断点下好后,运行程序,观察调用字符串的逻辑流程,发现下的三个断点中有两个在程序启动会被调用,调用的目的分别是作为两个QT库函数的参数,如下图

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwdjpg.html