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

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

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

相关文章

奇!AI(人工智能)能不能反编译二进制代码为高级语言Java或者C?

一直很好奇某些软件的制作过程,使用的算法。因为自己实现的,写的稀烂,虽然功能达到了,但处理速度和处理效率很低下,于是也尝试使用一些反编译软件,如IDA Pro软件。想看看人家怎么实现,怎么做到效果那么...