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

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

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

3.正向查阅相关函数源码

这里多说一句,玩逆向不只光玩逆向,一直强调逆向是一种思维,逆向破解的逆向就是开发,活用开发资料,逆向破解中往往事半功倍。

安装QT后就可以看QT各种库函数的源码和资料,如果你想更深入的了解,给吃透的话,最好的方式莫过于自己开发,自己逆向分析。具体QT环境的搭建可以参阅下面链接

https://wenku.baidu.com/view/4e7d7f415a8102d276a22f88

开始寻找目标函数源码,everything搜两个函数类命,QCoreApplication和QMetaObject,如下图

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

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

 

打开源码,阅读相关函数,源码如下

QCoreApplication::translate函数定义,发现核心参数就是这个枚举类型,当枚举类型为0的时候中文是乱码,当是1的时候中文没问题

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

QMetaObjcet::tr函数实现,发现这个函数的实质其实是以枚举类型参数为0去调用QCoreApplication::translate

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

4.逆向中验证上面的正向源码

从新载入OD,重新运行,根据上面正向查阅的源码资料观察相应的两个库函数在逆向中的体现,如下图

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

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