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

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

有的时候,给别人提供的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反编译就出错了

相关文章

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

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