防止jar被反编译——最简单的方法

createh52个月前 (02-01)技术教程9

有的时候,给别人提供的jar,有些核心的密匙不想被人通过反编译工具查看,那么要怎样才能做到呢?既要能正常调用,又不想别人反编译jar查看源码

网上有很多方法,有使用第三方工具的、使用maven插件的,这些或多或少都要费一些功夫才能完成,其实除了这些,还有一个简单的方法能轻而易举地防止jar的某些类被反编译。

其中的思路就是在对应的类里面写个匿名类,这个类永远不会调用,也就是无效累赘的类,如我希望对jar中的类A.class进行保护,我只需要在A中写一个private的class即可。这里我将分享一下核心的操作步骤

操作步骤

1对要保护的class写一个private的内部类

2 打包jar

3 使用压缩工具打开查看jar

4 使用记事本打开对应class(保护$的那个类)

5 删除private 类的名称的个别字符,让private的名字变化

这样class就保护了,使用jude工具也打不开了


如下示例

希望将Info.java的内容保护


向要保护的类中写入private class


使用压缩工具打开jar


修改无效类的名称

jude反编译就出错了

相关文章

一文springboot项目加密防止反编译

前言:当公司开发的项目需要部署到其他公司的服务器上,为了防止源码泄露。我们可以对项目进行加密,以防止反编译。通过使用加密技术,可以保护源代码的安全性,防止恶意攻击者获取敏感信息和业务逻辑。一:加密方式...

Kotlin与Java的不同之处(java和kotlin能混用吗)

伴生对象在 Kotlin 中并不没有 static 这个关键字,该如何处理呢?这里需要用到 Kotlin 的伴生对象来处理。类内部的对象声明可以用 companion 关键字标记:该伴生对象的成员可通...

代码安全之代码混淆(代码混淆后怎么运行)

防止核心代码泄露以及代码合并每日辛辛苦苦码的代码被轻松破解?机密核心模块被盗用?数据库地址和语句暴露?…… 这些都是由代码未混淆加密,从而进行泄露的我们目前DLL文件存在的风险:一、直接引用二、反编译...