shaokui123 发表于 2023-5-30 10:07

一个VB小程序的汉化问题

本帖最后由 shaokui123 于 2023-5-30 16:10 编辑

一个VB的小程序,无壳无限制,可以正常使用,但是界面是英文的,想汉化成中文的

之前VB类的小程序汉化,用的vblocalize这个工具,可以直接界面编辑。
但是今天这个小程序用工具打开后显示的都是一些无用的东西,真正需要汉化的界面文字等都看不到


OD,hex,别的一些工具都试了,没有一个能汉化的,百度很久头晕眼花,所以特来求助请朋友们帮忙


https://www.123pan.com/s/rBk9-ZXRWv.html

flea033 发表于 2023-5-30 10:07

本帖最后由 flea033 于 2023-5-31 17:25 编辑


https://wwsc.lanzoup.com/inVqs0xto6tc
下载,直接汉化释放出来的XLtoEXE,然后用启动.bat 运行,org.exe不能动,这是原始文件启动需要用到。还可以想法改代码把启动参数内置到EXE,去掉bat文件,需要费点功夫。

shaokui123 发表于 2023-5-30 13:41

比我晚的帖子都通过审核可以发表了,我这帖子啥问题违规了吗?我也没求破啊

boot 发表于 2023-5-30 23:37

shaokui123 发表于 2023-5-30 13:41
比我晚的帖子都通过审核可以发表了,我这帖子啥问题违规了吗?我也没求破啊 ...

这个没什么难度吧...... 就是费时间。万能方法:通过句柄设置文字。

shaokui123 发表于 2023-5-31 08:16

boot 发表于 2023-5-30 23:37
这个没什么难度吧...... 就是费时间。万能方法:通过句柄设置文字。

一开始确实觉得很简单,但是做起来就难了
昨天又分析了,发现有附加数据,并且程序相当于释放了一个临时文件再运行
句柄设置文字可以详细讲讲吗

flea033 发表于 2023-5-31 11:22


"D:\Temp\XLtoEXE230531110551_tmp\XLtoEXE.exe"" cmd/CallFromZipBase /D:\XLtoEXE.exe /90112 /274013 /410306 /430872 /D:\Temp\XLtoEXE230531110551_tmp\ /0 /9482 /0 /"
参数运行,可以直接汉化释放的文件

boot 发表于 2023-5-31 13:14

shaokui123 发表于 2023-5-31 08:16
一开始确实觉得很简单,但是做起来就难了
昨天又分析了,发现有附加数据,并且程序相当于释放了一个临时 ...

搜WinAPI的使用……把WinAPI的实现加入到你的劫持补丁里,这种方法适用于任何情况,即使控件字符串被vm/或者是非常规控件,也可以通过此解决。

shaokui123 发表于 2023-5-31 14:20

boot 发表于 2023-5-31 13:14
搜WinAPI的使用……把WinAPI的实现加入到你的劫持补丁里,这种方法适用于任何情况,即使控件字符串被vm/ ...

能有具体例子指导吗?小白基础太弱了

shaokui123 发表于 2023-5-31 14:21

flea033 发表于 2023-5-31 11:22
"D:\Temp\XLtoEXE230531110551_tmp\XLtoEXE.exe"" cmd/CallFromZipBase /D:\XLtoEXE.exe /90112 /274013 / ...

这个我昨天试了,释放的文件和原文件不是一个东西,应该是原文件通过什么方式释放这个文件并打开,但是如果单独打开这个释放的文件,就会弹出一个提示框并不会运行。但是汉化的资源什么的能在这个释放出来的文件里找到。

boot 发表于 2023-5-31 15:10

shaokui123 发表于 2023-5-31 14:20
能有具体例子指导吗?小白基础太弱了

示例:以修改你提供的软件,其中一行控件字符串为例。

把这段代码加到你的DLL劫持工程里,即可实现修改字符串。

        HWND Parent;
        HWND cd1;

        Parent = FindWindow("ThunderRT6FormDC", "Convert XL to EXE");
        cd1 = FindWindowEx(Parent, NULL, "ThunderRT6Frame", "Excel Version Options: ");

        SetWindowText(cd1, "66666666666666666666666");

        ExitProcess(1);



由于我的DLL工程不便提供,所以用一个win32的exe工程手动演示。通常情况下的dll模式劫持是,软件直接启动后即可补丁,无需手动。


EXE例子使用方法:
先运行软件,再运行EXE即可修改控件字符串。

https://versteckt.lanzouw.com/ia19t0xta2ej

页: [1] 2 3
查看完整版本: 一个VB小程序的汉化问题