【问题标题】:Hide a library source code隐藏库源代码
【发布时间】:2017-02-09 10:08:03
【问题描述】:

我正在开发一个 android 库,我想隐藏它的代码。 我正在使用其他库,对于其中一些库,当尝试使用 Android Studio 访问他们的代码时,您只能获得类的方法列表和“/*compiled code*/”里面。 我正在使用 pro-guard,但我仍然可以访问我的库的源代码。即使修改了方法和成员名称,代码仍然可读,并且可以读取每个硬编码的字符串。

如何像那些库一样隐藏我的代码?

【问题讨论】:

标签: android security android-proguard


【解决方案1】:

仅当您没有库的实际源代码且反编译器未激活时,Android Studio 才会将实际代码替换为 /* compiled code */。但是附上源代码或安装反编译器都很简单。

您可以使用javap 显示任何类的字节码。详情请见Is it possible to view bytecode of Class file?

回到你原来的问题:不,实际上隐藏你的代码是不可能的,因为实际执行它需要代码。如果代码在那里,您可以看到字节码并对其进行反编译。您拥有的最佳选择是使用 Proguard 混淆代码,这不会让您在隐藏代码方面走得太远。请参阅 How to avoid reverse engineering of an APK file?Android ProGuard how to hide/obfuscate source code of exported library

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-30
    • 2012-08-08
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    相关资源
    最近更新 更多