楼主: 蒟蒻

[闲聊灌水] 奇怪的问题

[复制链接]

0

技术

9

魅力

1

原创

版主

禁止访问

Rank: 7Rank: 7Rank: 7

积分
7757
人气
176
分享
52

最佳新人活跃会员

 楼主| 发表于 2023-1-31 10:11:06 | 显示全部楼层
小笑话233 发表于 2023-1-30 10:27
我也不太懂编程啊,可能我是来捣乱的。。。
但是根据HMCL的文件属性来看这应该是一个自解压文件,所以盲猜 ...

不懂就问,为什么DiscoveryInfo.class和DiscoveryTest.class是C++特有的class文件呢
小菜鸡一枚~
Gitee主页:https://gitee.com/juruoqwq

1

技术

3

魅力

6

原创

炉火纯青

Rank: 7Rank: 7Rank: 7

积分
6176
人气
85
分享
19
发表于 2023-2-2 15:41:36 | 显示全部楼层
本帖最后由 小笑话233 于 2023-2-2 15:43 编辑
蒟蒻 发表于 2023-1-31 10:11
不懂就问,为什么DiscoveryInfo.class和DiscoveryTest.class是C++特有的class文件呢 ...

抱歉,我其实对编程不太懂,我学C++也是两年前的事情了,Java没学过。(过了这么长时间我好好思考了一下)
后来我去网上做了一下功课,发现class文件可能是java class文件,我又用反编译工具反编译了这两个文件,最后得到的就是.java文件。
所以这些文件都是启动后才能调用到的。
为了一探究竟,我用到了行为显微镜工具(病毒分析区经常用的)
而在我的电脑上,由于我事先安装了Java,所以HMCL会直接调用Java(貌似HMCL会在第一次启动后留下一些日志文件在系统里)
所以我安装了一个新系统来测试,系统是LTSC 2021,我打开后就出现了安装Java的提示,但在创建提示窗口之前,行为显微镜就已经提示它尝试去获取系统信息了,其中有一条貌似是去搜寻Java的,但它的衍生文件里并未出现一些其他的程序,只有一些显卡驱动或者着色器之类的文件。
那么我就想了,既然不是通过先解压出特定文件的方法,那么使用什么检测的呢。
由于我之前使用的是7-zip,7-zip如果用来看程序的话只会显示出里面符合压缩文件特征的项目,其他不会显示。
我就把眼光重点放在了那个自解压程序外壳上面,我把里面的压缩文件提取了出来,果然外面还有100多KB的数据碎片,那么这些应该就是用于检测Java的程序文件了,应该是用C++编译的。
最后我去了Gitee上看了一下HMCL的开源帖子,根据官方的说明,HMCL本体是完全用JavaFX编译的,那么基本就可以确定了,HMCL用来启动游戏的部分全是Java写的,只有那可怜的自解压外壳用了点C++。(个人猜测这可能是为了在Windows中的兼容性,防止连窗口都显示不出来)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表