1. 首页 / 百科

来来来,跟着大眼仔一起使用 x64dbg 调整 QT 程序的字体大小

来来来,跟着大眼仔一起使用 x64dbg 调整 QT 程序的字体大小

QT 编译开发的程序很多时候会因为编码问题导致在汉化翻译为中文的时候出现乱码或者字体过小现象。有一些开发者会单独增加语言文件来解决多国语言或者本地化问题,可是有一些老外仅仅发布的是独立英文版,如果想要强制汉化翻译,那么您就会多多少少碰到这类问题。

今天我们就来通过使用 x64dbg 修改一款字体过小的程序,它是 SNS-HDR Pro。软件您可以直接到官网上下载。

官网:https://www.sns-hdr.com

SNS-HDR Pro 汉化翻译起来相对来说还是比较容易的,因为软件提供了多国语言,您只需要复制一份英文语言包翻译生成中文语言即可。但是在翻译后大眼仔发现了整体软件字体显示较小,低于正常的 9 像素大小。既然字体显示过小,那么我们就来通过更改软件内部的代码来修改它让它变的更大些。

上图中可以看到软件整体字体偏小

废话就不多说了,由于 SNS-HDR Pro 为 64 位程序,所以我们直接下载 x64dbg 并打开。在 x64dbg 界面中我们找到符号选项卡,在窗口中我们找到 SNS-HDR Pro.exe 进程,在右侧选项卡中我们在当前模块中搜索“Font”,中文字体为字体的意思。

在给出的结果中我们发现有个可疑的函数。

符号=?setPixelSize@QFont@@QEAAXH@Z

符号(已解码)=public: void __cdecl QFont::setPixelSize(int) __ptr64

我们就直接双击并转到程序选项汇编代码处,在代码段首直接按 F2 下断点。

直接按 F9 运行程序,按 F8 步过先跑一遍代码查看分析下相关数据。

以下是该段的所有代码:

000007FEDCD76020 | 48:895C24 08 | mov qword ptr ss:[rsp+8],rbx |000007FEDCD76025 | 57 | push rdi |000007FEDCD76026 | 48:83EC 40 | sub rsp,40 |000007FEDCD7602A | 8BFA | mov edi,edx |000007FEDCD7602C | 48:8BD9 | mov rbx,rcx |000007FEDCD7602F | 85D2 | test edx,edx |000007FEDCD76031 | 7F 31 | jg qt5gui.7FEDCD76064 |000007FEDCD76033 | 48:8D4C24 20 | lea rcx,qword ptr ss:[rsp+20] |000007FEDCD76038 | 45:33C9 | xor r9d,r9d |000007FEDCD7603B | 45:33C0 | xor r8d,r8d |000007FEDCD7603E | 33D2 | xor edx,edx |000007FEDCD76040 | FF15 F2282900 | call qword ptr ds:[<&??0QMessageLogger@@QEAA@PEBDH0@Z>] |000007FEDCD76046 | 48:8D15 5B942A00 | lea rdx,qword ptr ds:[7FEDD01F4A8] | 000007FEDD01F4A8:”QFont::setPixelSize: Pixel size <= 0 (%d)”000007FEDCD7604D | 44:8BC7 | mov r8d,edi |000007FEDCD76050 | 48:8BC8 | mov rcx,rax |000007FEDCD76053 | FF15 6F062900 | call qword ptr ds:[<&?warning@QMessageLogger@@QEBAXPEBDZZ>] |000007FEDCD76059 | 48:8B5C24 50 | mov rbx,qword ptr ss:[rsp+50] | [rsp+50]:”p?1e”000007FEDCD7605E | 48:83C4 40 | add rsp,40 |000007FEDCD76062 | 5F | pop rdi |000007FEDCD76063 | C3 | ret |000007FEDCD76064 | F641 08 02 | test byte ptr ds:[rcx+8],2 |000007FEDCD76068 | 74 1C | je qt5gui.7FEDCD76086 |000007FEDCD7606A | 48:8B01 | mov rax,qword ptr ds:[rcx] |000007FEDCD7606D | 66:0F6ECF | movd xmm1,edi |000007FEDCD76071 | F2:0F1040 28 | movsd xmm0,qword ptr ds:[rax+28] |000007FEDCD76076 | F3:0FE6C9 | cvtdq2pd xmm1,xmm1 |000007FEDCD7607A | 66:0F2EC1 | ucomisd xmm0,xmm1 |000007FEDCD7607E | 7A 06 | jp qt5gui.7FEDCD76086 |000007FEDCD76080 | 0F84 81000000 | je qt5gui.7FEDCD76107 |000007FEDCD76086 | 48:8B01 | mov rax,qword ptr ds:[rcx] |000007FEDCD76089 | 8338 01 | cmp dword ptr ds:[rax],1 |000007FEDCD7608C | 75 4A | jne qt5gui.7FEDCD760D8 |000007FEDCD7608E | 48:8B48 38 | mov rcx,qword ptr ds:[rax+38] | [rax+38]:”燼N”000007FEDCD76092 | 48:85C9 | test rcx,rcx |000007FEDCD76095 | 74 1B | je qt5gui.7FEDCD760B2 |000007FEDCD76097 | F0:FF09 | lock dec dword ptr ds:[rcx] |000007FEDCD7609A | 75 16 | jne qt5gui.7FEDCD760B2 |000007FEDCD7609C | 48:8B03 | mov rax,qword ptr ds:[rbx] |000007FEDCD7609F | 48:8B48 38 | mov rcx,qword ptr ds:[rax+38] | [rax+38]:”燼N”000007FEDCD760A3 | 48:85C9 | test rcx,rcx |000007FEDCD760A6 | 74 0A | je qt5gui.7FEDCD760B2 |000007FEDCD760A8 | BA 01000000 | mov edx,1 |000007FEDCD760AD | E8 BEBDFFFF | call <qt5gui.sub_7FEDCD71E70> |000007FEDCD760B2 | 48:8B03 | mov rax,qword ptr ds:[rbx] |000007FEDCD760B5 | 33D2 | xor edx,edx |000007FEDCD760B7 | 48:8950 38 | mov qword ptr ds:[rax+38],rdx | [rax+38]:”燼N”000007FEDCD760BB | 48:8B0B | mov rcx,qword ptr ds:[rbx] |000007FEDCD760BE | 48:8B41 58 | mov rax,qword ptr ds:[rcx+58] |000007FEDCD760C2 | 48:85C0 | test rax,rax |000007FEDCD760C5 | 74 08 | je qt5gui.7FEDCD760CF |000007FEDCD760C7 | 48:3BC1 | cmp rax,rcx |000007FEDCD760CA | 74 03 | je qt5gui.7FEDCD760CF |000007FEDCD760CC | F0:FF08 | lock dec dword ptr ds:[rax] |000007FEDCD760CF | 48:8B03 | mov rax,qword ptr ds:[rbx] |000007FEDCD760D2 | 48:8950 58 | mov qword ptr ds:[rax+58],rdx |000007FEDCD760D6 | EB 0A | jmp qt5gui.7FEDCD760E2 |000007FEDCD760D8 | 48:85C0 | test rax,rax |000007FEDCD760DB | 74 05 | je qt5gui.7FEDCD760E2 |000007FEDCD760DD | E8 EED4FFFF | call <qt5gui.sub_7FEDCD735D0> |000007FEDCD760E2 | 48:8B03 | mov rax,qword ptr ds:[rbx] |000007FEDCD760E5 | 66:0F6EC7 | movd xmm0,edi |000007FEDCD760E9 | 48:B9 000000000000F0BF | mov rcx,BFF0000000000000 |000007FEDCD760F3 | F3:0FE6C0 | cvtdq2pd xmm0,xmm0 |000007FEDCD760F7 | F2:0F1140 28 | movsd qword ptr ds:[rax+28],xmm0 |000007FEDCD760FC | 48:8B03 | mov rax,qword ptr ds:[rbx] |000007FEDCD760FF | 48:8948 20 | mov qword ptr ds:[rax+20],rcx |000007FEDCD76103 | 834B 08 02 | or dword ptr ds:[rbx+8],2 |000007FEDCD76107 | 48:8B5C24 50 | mov rbx,qword ptr ss:[rsp+50] | [rsp+50]:”p?1e”000007FEDCD7610C | 48:83C4 40 | add rsp,40 |000007FEDCD76110 | 5F | pop rdi |000007FEDCD76111 | C3 | ret |

在测试过程中发现000007FEE87B60E5 中的 edi 值起到关键作用。

000007FEE87B60E5 | 66:0F6EC7 | movd xmm0,edi |

程序中默认 edi 的值为:

edi=B ‘v’

那么我们先来尝试如何去修改当前 edi 的数值。

继续向上查找,在段首有一个这样的赋值操作:

000007FEDCD7602A | 8BFA | mov edi,edx | edi:”p?hd”

而 edx 的数值同样是等于 B ‘v’。

那我们再继续向上找吧,检查那里对 edx 进行了这种操作。按 F8 一直在该段步过到段尾后,再执行一步跳出当前段,然后我们就会发现当前调用关键 Call 的地方有一处对 edx 赋值的命令,而这个命令刚好为 B。

按 F2 对该处下断点,重启 x64dbg 运行调试会发现程序暂停在当前断点处,使用汇编命令把 B 更改为 10,然后再继续运行。你就会发现软件的界面字体变大了,就这样变大了…

我测试时如果输入 9 字体就会变的非常小。所以当前选择中更改为 10 最合适。既然字体已经可以调整大小了,接下来的就是保存修补数据进行测试。

关于对 QT 软件字体大小的调整目前也已经完成。由于不同 QT 版本可能在函数上多少会有些差异,我这里也没有具体去分析这些内容。您如果不理解或者想更详细的了解关于 QT 相关函数的内容,建议您查阅官方文档。

以上就是今天给大家分享的小教程,当然 SNS-HDR Pro 中文版大眼仔博客上也有提供中文版下载,您也可以免费下载使用。如果您喜欢这篇文章欢迎点赞、收藏、投币或者分享给您身边有需要的人哦,三克油!

其它相关资源:

来和大眼仔一起汉化一款小软件 – WinMute 中文化

IDM 下载器的下任替代者 Neat Download Manager 能否真正上位?

快来和大眼仔一起使用 HackBGRT 轻松修改 Windows 10 开机 Logo

相关推荐

  • winsxs太大了怎么清理 教你安全地清理WinSxS文件夹

    winsxs太大了怎么清理 教你安全地清理WinSxS文件夹

    winsxs太大了怎么清理 教你安全地清理WinSxS文件夹,清理,文件,临时文件,步骤,系统,删除,更新,选择,在使用电脑的时候,会发现电脑储存空间越来越小,文件越来越多,其实这不全是用户存储的数据,还有可能是维护系统所必需的文件,其中就包含WinSxS文件夹。那么WinSxS文件夹是什么?怎么安全地清理呢?什么是WinSxS文件夹?WinSxS文件夹存在于C:\Windows路径之中,是“Windows”文件夹中必不可少的Windows组件存储文件夹。WinS...

  • 用什么软件可以辨认字体 10款文字类型识别软件

    用什么软件可以辨认字体 10款文字类型识别软件

    用什么软件可以辨认字体 10款文字类型识别软件,文字,识别软件,类型,用什么软件,字体,扫描,识别,文件,今天小编为大家带来的是字体识别软件免费下载2022,字体识别功能给大家的生活和工作带来了不少的便捷,比如一张图片上的文字,那我们就可以用字体识别功能,既方便又省时间,那接下来,小编就为大家介绍有哪些字体识别软件是免费的。 1、《扫描识别王》 这是一款文件扫描、文字识别、拍图识字、图片转文字、PDF内容编辑等等,在这个软件中都可以完成,深受用户好评的掌中扫描仪,...

  • 隐藏文件夹怎么取消隐藏?

    隐藏文件夹怎么取消隐藏?

    隐藏文件夹怎么取消隐藏?,隐藏,取消,隐藏文件夹,点击,文件,下拉菜单,显示,搜索,隐藏文件夹怎么取消隐藏? 打开文件夹,点击顶部【组织】, 在下拉菜单中找到【文件夹和搜索选项】,点击打开。 在【文件夹选项】中点击【查看】。在高级设置中找到【显示隐藏的文件、文件夹】,再点击【确定】。 隐藏的文件就显示出来了,再点右键点击【属性】。 弹窗中取消点选的【隐藏】,点击【确定】即可。...

  • oppo手机怎么调字体大小 手机字体大小设置方法

    oppo手机怎么调字体大小 手机字体大小设置方法

    oppo手机怎么调字体大小 手机字体大小设置方法,字体大小,字体大小设置,方法,点击,显示,字体,手机设置,调大字体,1、在手机设置菜单中点击【显示与亮度】。 2、点击【字体与显示】。 3、滑动字体大小的滑块即可。往右滑动是调大字体,往左滑动是调小字体。...

  • 手机拍照模糊怎么调回来 手机拍照模糊调整方法

    手机拍照模糊怎么调回来 手机拍照模糊调整方法

    手机拍照模糊怎么调回来 手机拍照模糊调整方法,模糊,手机拍照,调整,方法,调回,检查,设置,分辨率,手机拍照模糊调整方法如下:一、检查摄像头镜头是否清洁,可使用干净的软布轻轻擦拭。二、检查镜头是否有磨损。三、检查对焦是否准确,手机对着待拍物不要晃动。四、调节照相机分辨率,打开相机,进入页面,选择右上角的设置图标,点击分辨率,调整合适的分辨率。五、检查相机是否设置了不适合的拍照模式,重置相机尝试,进入相机的设置界面,选择恢复默认值,点击确定。六、若在光线较暗的环境下...

  • 电脑字体大小怎么调大 win10调整系统字体大小方法

    电脑字体大小怎么调大 win10调整系统字体大小方法

    电脑字体大小怎么调大 win10调整系统字体大小方法,字体大小,系统,调整,方法,调大,点击,项目,更改,win10调整系统字体大小方法 以win10为例. 1、按组合键“win + i”打开设置 2、点击系统 3、点击更改文本、应用等项目大小,选择比如175% 4、电脑字体已改变变大。...

  • 台式电脑屏幕太亮刺眼怎么调整 台式电脑屏幕亮度设置

    台式电脑屏幕太亮刺眼怎么调整 台式电脑屏幕亮度设置

    台式电脑屏幕太亮刺眼怎么调整 台式电脑屏幕亮度设置方法,调整,屏幕亮度,设置,方法,电脑屏幕,安装,点击,选择,对于一些上班族来说,我们需要时时刻刻对着电脑打字写文件。所以一个合适的电脑屏幕亮度是必不可少的。 有的电脑屏幕亮度会让我们的眼睛感到有一些不舒服,但是有些朋友就觉得这是小问题,看一会忍忍就过去了。其实过强的亮光会大量消耗眼睛视网膜杆细胞的感光物质——视紫红质,这也是现在近视儿童越来越多的原因。调节电脑屏幕亮度刻不容缓。 今天,小编给大家带来了调节电脑屏幕...

  • dwf文件如何打开 dwf格式文件打开软件

    dwf文件如何打开 dwf格式文件打开软件

    dwf文件如何打开 dwf格式文件打开软件,选择,文件,参考,点击,格式文件,程序,视频,工具,DWF是CAD软件中的图纸文件格式,需要使用CAD打开。本视频通过win10电脑来演示,具体的操作步骤如下: 1、打开CAD插入 首先在电脑上打开CAD,进入程序后,点击上方工具栏中的“插入”。 2、选择DWF参考底图 在下拉选项中选择“DWF参考底图”。 3、选择文件打开 在弹出的菜单中,选择需要插入的DWF格式文件,点击“打开”即可。...

  • 字体怎么安装到电脑上 电脑字体在哪个位置

    字体怎么安装到电脑上 电脑字体在哪个位置

    字体怎么安装到电脑上 电脑字体在哪个位置,电脑字体,电脑上,位置,字体怎么安装,安装,字体,我的电脑,编辑,1、字体文件常用格式为ttc、ttf、fon等,打开我的电脑,进入C盘。 2、找到路径”C:\Windows\Fonts“。 3、进入到”Font“文件夹下,都是已经安装的字体。 4、此时将需要安装的字体复制到此文件夹下。 5、等待安装完成,此时在“Font”文件夹下还可以卸载或者预览某个字体。 6、安装完后,在使用编辑的时候,可以选择已安装的字体来标记文件...

  • 字体怎么安装到电脑上 电脑字体安装教程

    字体怎么安装到电脑上 电脑字体安装教程

    字体怎么安装到电脑上 电脑字体安装教程,电脑字体,安装教程,电脑上,字体怎么安装,安装,字体,安装包,安装文件,电脑字体安装教程: 1、下载想要的字体,如图所示。 2、字体下载到电脑桌面上后,将其解压,如图所示。 3、打开安装包,找到安装文件,点击右键,找到安装按钮,进行安装,如图所示。 4、等待字体进行安装,如图所示。 5、字体安装完成,软件中就可以查看到安装后的字体了,如图所示。...

  • 卖鞋子销售技巧和话术 卖鞋子必说的语言技巧

    卖鞋子销售技巧和话术 卖鞋子必说的语言技巧

    卖鞋子销售技巧和话术 卖鞋子必说的语言技巧,顾客,语言,简单,位置,随便,哪款,确认,有什么,卖鞋看似简单,想把鞋卖好却是需要本事的。 接下来简单分享几条卖鞋子时的销售技巧和话术,希望对用得着的朋友有帮助。 1、 在顾客来到店里的时候要用“欢迎光临”之类的语言来示意顾客已经知道他的到来,同时也让顾客知道了服务人员的位置。除了这样的话术,还可以说:“看中哪款鞋子随便试穿“等。 2、 如果遇到顾客不愿意营业员跟随的情况,要跟顾客保持一定的距离,同时注意顾客的目光,了解...

  • 投影仪模糊怎么调整 投影仪调清晰度方法

    投影仪模糊怎么调整 投影仪调清晰度方法

    投影仪模糊怎么调整 投影仪调清晰度方法,设置,清晰度,画面,调整,界面,方法,模糊,点击,投影仪调清晰需要在投影仪的画面设置中进行,总共可以分为三步,下面为投影仪如何调清晰的详细步骤做具体说明。 投影仪怎么调清晰度? 1.打开投影设置 在投影仪主界面选择设置并点击打开投影设置; 2.进入画面设置 在设置界面找到画面设置并点击进入画面设置界面; 3.进行画面对焦 点击打开投影仪对焦界面,通过遥控器方向键进行清晰度调节即可。...

  • ai文件全部转曲怎么弄?

    ai文件全部转曲怎么弄?

    ai文件全部转曲怎么弄?,文件,选择,选项,工具,文字,字体,点击,轮廓,我们在使用AI支座文字时为了便于修改,常常将文字转曲处理,这样别人在使用该文件时,即使没有这样的字体也同样可以打开,下面我们就来看看AI文件是如何转曲的吧。 操作方法一、文字转曲 1、打开AI软件,进入AI的操作界面,如图所示: 2、在该界面内按下Ctrl+N键弹出新建文件对话框,创建一个画布,大小自定义即可。 3、在文具箱内找到文字工具,如图所示: 4、使用文字工具,在编辑区里输入文字,并...

  • cad字体库放在哪里 cad字体库导入位置

    cad字体库放在哪里 cad字体库导入位置

    cad字体库放在哪里 cad字体库导入位置,字体库,位置,导入,字体,字体文件,快捷方式,存放,属性,在cad制图软件里,不光只是对图形进行设计,有时还需要使用各种字体效果,使用时我们就要去cad字体库里,查找我们需要的字体效果,那大家知道cad字体库放在哪里吗?如果你还不清楚的话,下面的教程可以帮你找到cad字体库的存放位置。 1、右键点击桌面上的CAD快捷方式,找到最下方的属性。 2、在属性界面中选择快捷方式,点击下方的“打开文件所在位置”,进入CAD安装文件...

  • word怎么换页顺序 word文档调整页面顺序方法

    word怎么换页顺序 word文档调整页面顺序方法

    word怎么换页顺序 word文档调整页面顺序方法,文档,方法,调整,换页,位置,第二,选择,点击,word文档调整页面顺序方法 1、打开【Word文档】 首先,打开要进行编辑的Word文档,如下图所示,要把第二页调换到第一页; 2、进行【剪切操作】 然后选中第二页的全部内容,点击右键选择剪切,或者直接按“Ctrl+X”快捷键; 3、移动【鼠标指针位置】 接着把鼠标指针移到第一页的最前面位置; 4、进行【粘贴操作】 最后点击右键选择粘贴,或者直接按“Ctrl+V”...

  • ipad屏幕显示不全怎么调整 ipad显示画面不是全屏解决

    ipad屏幕显示不全怎么调整 ipad显示画面不是全屏解决

    ipad屏幕显示不全怎么调整 ipad显示画面不是全屏解决方法,显示不全,显示,调整,画面,解决方法,全屏,屏幕,缩放,ipad页面显示不全是因为缩放功能的开启,关闭缩放功能即可解决。 操作方法如下: 1、首先在ipad主界面点击设置选项 2、在设置里选择打开辅助功能 3、在辅助功能里点击缩放选项 4、在这里选择关闭缩放即可解决ipad页面显示不全的问题 5、然后我们返回到ipad主界面就不会看到ipad页面显示不全的问题了,如下图所示...

  • keep手环怎么调整时间 自动校准手环时间方法

    keep手环怎么调整时间 自动校准手环时间方法

    keep手环怎么调整时间 自动校准手环时间方法,调整,点击,方法,环时,绑定,添加,地址,校对,keep手环调整时间只需要绑定手环和手机,即可自动校准手环的时间。 步骤如下: 1、打开keep app,点击左上角头像,点击智能硬件。 2、点击添加设备。 3、点击智能手环选项,点击keep手环b2或keep手环b1。 4、点立即添加,点手动输入MAC地址,输入MAC地址,点立即绑定即可绑定手环。 手环会根据时间时间自动校对好的。...

  • 电脑文件怎么导入微信?

    电脑文件怎么导入微信?

    电脑文件怎么导入微信?,文件,微信,导入,发送,微信电脑版,文件传输助手,点击,压缩,电脑文件怎么导入微信? 可以用微信电脑版的文件传输助手功能把电脑文件传送到微信上,方法如下∶可以使用压缩软件压缩文件夹,然后用微信发送方法,操作方法示例如下∶ 1.鼠标左键点击电脑上的文件。 2.按住鼠标左键拖动文件至微信电脑版的文件传输助手聊天对话框,点击发送。 3.成功发送文件至微信上。...

  • ps文字怎么加粗 教你3种字体加粗的方法

    ps文字怎么加粗 教你3种字体加粗的方法

    ps文字怎么加粗 教你3种字体加粗的方法,文字,方法,字体加粗,输入,选择,选项,界面,字体,PS也就是Photoshop软件,它是一款功能强大的图片编辑软件,很多小伙伴都会使用它来处理一些图片上的问题,比如给图片去水印啊、图片换背景等等。 而有一些小伙伴则需要使用PS来设计制作一些图片,而在图片的设计制作过程中,我们往往还会往图片上添加上所需要的文字内容,以此来达到图片与文字相结合的展现形式,来让他们更加明白直观的知道图片想要表达的意思。 但是,有的小伙伴在使用...

  • 邮箱怎么发送文件夹 QQ邮箱给别人发文件夹邮件步骤

    邮箱怎么发送文件夹 QQ邮箱给别人发文件夹邮件步骤

    邮箱怎么发送文件夹 QQ邮箱给别人发文件夹邮件步骤,邮箱,邮件,件夹,步骤,发送,点击,桌面,拖拽,QQ邮箱给别人发文件夹邮件步骤: 1.打开qq,点击邮件 2.进入邮箱,点击写信 3.在桌面找到文件夹,摁住鼠标左键 4.拖拽到页面内 5.输入收件人,点击发送就可以了。...