首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在混淆java库的泡菜中

在混淆java库的泡菜中
EN

Stack Overflow用户
提问于 2012-04-06 21:10:40
回答 3查看 589关注 0票数 0

好吧,我现在正处于困境中。

我有一个java程序,我把它分成了一个核心/外部部分。

我将我的核心整理成一个java库,外部代码(将公开发布)可以引用该库。

但是,我不希望这个java库的内容是可反编译的。

所以我去找了一个很好的java混淆器。

使我的情况更复杂的是,我的java库不是完全模块化的-它引用/更改外部代码的状态(是的,它很糟糕,但无论如何)。

我试过所有高级混淆器(ZKM,allatori等)和免费的演示,但它们要么

  1. 有很弱的控制流混淆,这是我需要的
  2. 由于对java库的/依赖项的引用而暂停,这些引用不在jar本身中,但仍被引用。

有什么建议吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-06 21:40:05

  1. 如果没有符合您标准的控制流混淆的混淆器,那么您将不得不编写自己的模糊处理程序,或者向现有供应商提交改进其产品的请求。
  2. 通过混淆器同时运行程序的外部和内部部分。但是为所有的外部代码编写排除规则。您还应该为内部代码的公共API编写排除规则。如果您的内部代码没有公共API层,那么您将遇到困难,因为您的外部代码将不得不通过混淆的名称引用您的内部代码,这将导致外部源代码非常难以维护和读取。
票数 0
EN

Stack Overflow用户

发布于 2012-04-06 21:14:04

混淆并不能阻止反编译。它总是可以被分解的。它只会使您的代码在之后变得更难读。只混淆你的逻辑,保持接口不动。

票数 2
EN

Stack Overflow用户

发布于 2012-04-06 21:40:43

我不同意阿哈宁的评论。

但是,如果您要找的是混淆器,那么一个很好的规则集是护卫。它在Android空间中大量使用,在那里,代码需要尽可能小(小)为可定位。

链接:护卫

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10049295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档