哥斯拉(Godzilla)二开环境配置

admin 2024年12月22日02:01:31评论44 views字数 2819阅读9分23秒阅读模式
我在网上搜到的哥斯拉二开教程用的 JDK 版本都是 1.8 ,我用 JDK1.8 折腾了一上午也没成功地运行起来,编译器跟我说 --add-opens 无法识别,问了下 AI,说这个参数是从 java9 才开始支持的,我也不知道那些大佬们怎么解决的这个问题(我用的是 OpenJDK,不是 Oracle,不知是不是这个的原因 )。既然从  java9 才开始支持的,那用 java11 不就没问题了吗。
0x01 开发环境配置
- OpenJDK11U
- IntelliJ IDEA 2024.2.4
0x02 jar 包反编译
首先对原版 Godzilla.jar 进行反编译
一开始使用的是网上说的 IDEA 反编译,尝试后失败了(当时使用的 JDK21),懒得深究其原因,直接在线反编译。
0x03 IEDA 配置
使用 IEDA 新建项目,JDK 选择 11。
哥斯拉(Godzilla)二开环境配置
在该项目下新建两个目录,分别是 lib 和 decompiled_src。
下载反编译的 Godzilla 压缩包,解压到 decompiled_src 目录。
lib 目录放原版的 Godzilla.jar,并添加为库 。
哥斯拉(Godzilla)二开环境配置
无需改动,点击“确定”即可。
哥斯拉(Godzilla)二开环境配置
在 src 目录新建软件包 core,将 decompiled_src/core 目录下的 ApplicationConfig.java 复制到 src/core。
在 src 目录新建软件包 core.ui,将 decompiled_src/core/ui 目录下的 MainActivity.java 复制到 src/core/ui。
此时的目录结构:
哥斯拉(Godzilla)二开环境配置
尝试运行,查看是否能正常启动。
哥斯拉(Godzilla)二开环境配置
多了 out 文件夹和 data.db 文件,目前没问题。
0x04 去哈希效验
定位到 src/core/ApplicationConfig.java 的第 44 行代码的 try-catch 语句。
try {String tipString;HashMap<StringString> md5SumMap =ApplicationConfig.getAppConfig(String.format(ACCESS_URL"hashsumJar"));String hashString = md5SumMap.get("4.01");File jarFile = functions.getCurrentJarFile();String jarHashString = new String();if (jarFile != null) {FileInputStream inputStream = new FileInputStream(jarFile);        byte[] jar = functions.readInputStream(inputStream);        inputStream.close();        jarHashString = functions.SHA(jar, "SHA-512");    }if (hashString != null) {if (jarFile != null) {if (!jarHashString.equals(hashString)) {                tipString =EasyI18N.getI18nString("你使用的软件可能已被病毒感染   文件哈希效验失败rn效验Jar哈希:%srn本地Jar哈希:%s:%s", hashString, jarHashString);GOptionPane.showMessageDialog(null, tipString, EasyI18N.getI18nString("警告%t当前版本:""4.01"), 2);Log.error(String.format(tipString, hashString, jarHashString));System.exit(0);            }else {Log.error(EasyI18N.getI18nString("效验Hash成功   Hash Url:%srn效验Jar哈希:%srn本地Jar哈希:%s"String.format(ACCESS_URL"hashsumJar"), hashString, jarHashString));            }        }else {            tipString =EasyI18N.getI18nString("未找到Jar位置rn你使用的软件可能已被病毒感染   文件哈希效验失败");GOptionPane.showMessageDialog(null, tipString, EasyI18N.getI18nString("警告%t当前版本:%s""4.01", hashString), 2);Log.error(tipString);System.exit(0);        }    }else {        tipString =EasyI18N.getI18nString("未找到当前版本(%s)的Hashrn当前Hash:%srn你使用的软件可能已被病毒感染   文件哈希效验失败""4.01", jarHashString);JOptionPane.showMessageDialog(null, tipString, EasyI18N.getI18nString("警告t当前版本:%s""4.01"), 2);Log.error(String.format(tipString, "4.01"));System.exit(0);    }catch (Exception e) {Log.error(e);}
我是直接把整个 invoke 函数都删除了,又移除了一些不需要的包,根据编译器的提示,优化了下代码。
删除了 invoke 函数后,需要将 src/core/ui/MainActivity.java 文件的 main 函数中 ApplicationConfig.invoke(); 这行代码删除。
哥斯拉(Godzilla)二开环境配置
0x04 打包
在 src 目录新建文件夹 META-INF,将 decompiled_src/META-INF 目录下的 MANIFEST.MF 复制到 src/META-INF。
按 Ctrl+Shift+Alt+S 或“文件”-->“项目结构”。
首先配置“项目设置”里的“工件”。
哥斯拉(Godzilla)二开环境配置
点击文件夹按钮添加启动类:
哥斯拉(Godzilla)二开环境配置
搜索 MainA:
哥斯拉(Godzilla)二开环境配置
点击确定:
哥斯拉(Godzilla)二开环境配置
点击确定后的样子:
哥斯拉(Godzilla)二开环境配置
修改 src/core/ui/MainActivity.java 第 77 行代码。
哥斯拉(Godzilla)二开环境配置
Ctrl+F9 或 “构建”-->“构建项目”。
哥斯拉(Godzilla)二开环境配置
“构建”-->“构建工件...”-->“构建”。
哥斯拉(Godzilla)二开环境配置
查看 out 目录。
哥斯拉(Godzilla)二开环境配置
Ctrl+Shift+F10 运行试下效果。
哥斯拉(Godzilla)二开环境配置
通过CMD打开也没有任何问题。
哥斯拉(Godzilla)二开环境配置
0x05 测试
根据编辑器的提示,我修改的地方太多,删除了一些代码,也不知道功能是否还正常。
哥斯拉(Godzilla)二开环境配置
一顿乱改后,尝试了各个功能,一切正常,等有问题再改回来吧。
哥斯拉(Godzilla)二开环境配置

原文始发于微信公众号(走在网安路上的哥布林):哥斯拉(Godzilla)二开环境配置

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月22日02:01:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   哥斯拉(Godzilla)二开环境配置https://cn-sec.com/archives/3537469.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息