从我所看到和阅读的内容来看,如果有人真的想要对您的软件进行逆向工程或对其进行反编译,ProGuard就不会阻止它们.但它至少是一种适度的威慑力吗?我不确定以后翻译我的堆栈跟踪是否值得.
小智 18
我会推荐ProGuard.即使没有混淆(可以显着缩短常量池中使用的名称),它也可以删除已使用的库的"死代码"(未使用的方法)等(它也可以用于方便地将所有内容合并在一起).
特别是需要一点点摆弄才能"变得正确".如果有动态加载的类 - 但非常推荐.然而,节省空间的实际好处"取决于"可以消除的内容,并且通常会增加更多的外部库.
现在,对于混淆 - 它与任何混淆器一样多:将"反编译"代码变成具有有意义名称的事物.
混淆不会保存您的超级秘密算法或隐藏您的私钥,但是:如果JVM(或转换后的Dalvik)必须理解它,那么反编译器和任何真正想要访问的人都可以.您的代码甚至可以以字节码形式提升并简单地通过.反思(想象一下可怕的API,没有文档):任何真正想要访问的人都可以.但也许混淆会使这项任务对于成本/支出来说是不可行的:"这取决于".
不想翻译堆栈跟踪?简单:不要将它用于调试(不能用于从用户获取跟踪)或不启用模糊处理(其他好处仍然适用);-)
快乐的编码.
| 归档时间: |
|
| 查看次数: |
4101 次 |
| 最近记录: |