如何从 Android 应用程序包中完全隐藏 类?
How can I completely hide classes from Android app package?
前一段时间我正在使用 apktool 反编译应用程序以了解一些片段。奇怪的是,该应用程序被混淆了,事实上,该应用程序只显示了一个名为 "Protection.class" 的 class,充满了像 "class.forName" 或 "class.getMethod"..[=12= 这样的方法]
搜索google这当然是反射结构,但是,看了一些教程才明白反射调用的classes必须在应用程序包中。在我的例子中,除了 "protection" 之外没有 classes。
总而言之,我的问题是:
是否有可能完全从包中删除 classes 并以某种方式使用它们的方法?它们存储在 apk 文件夹中的什么位置(如果有)?
有没有办法与 apk 构建过程交互以混淆代码或(如本例)从包中隐藏 classes?
注意:Proguard不行,我之前测试过
您可以使用混淆器来保护 apk 文件免受反编译。您也可以使用 DexGuard 以获得更好的安全性 https://www.guardsquare.com/dexguard
您可以通过 php 库使用 progaurd 并为您的项目编写一个 progaurd,然后在 progaurd 文件的 gradle 文件(在 android studio 中)附加到您的应用程序项目(在日食中)。
为此 php 有一个很好的库,名为 php_progaurd
您的屏幕截图显示这是一个受 DexGuard 保护的应用程序(ProGuard 的商业开发更进一步)。
另请参阅此答案:
您可以为此使用 DexGuard。 DexGuard 具有许多其他功能,能够加密您的 类 并在运行时解密它们。这些 类 只会在运行时出现在内存中,因此无法从静态 APK 中逆向任何源代码。 DexGuard 是由 ProGuard 的创建者开发的商业产品。我建议你通过 helloworld@guardsquare.com.
联系他们
干杯,
h4
前一段时间我正在使用 apktool 反编译应用程序以了解一些片段。奇怪的是,该应用程序被混淆了,事实上,该应用程序只显示了一个名为 "Protection.class" 的 class,充满了像 "class.forName" 或 "class.getMethod"..[=12= 这样的方法]
搜索google这当然是反射结构,但是,看了一些教程才明白反射调用的classes必须在应用程序包中。在我的例子中,除了 "protection" 之外没有 classes。
总而言之,我的问题是: 是否有可能完全从包中删除 classes 并以某种方式使用它们的方法?它们存储在 apk 文件夹中的什么位置(如果有)? 有没有办法与 apk 构建过程交互以混淆代码或(如本例)从包中隐藏 classes?
注意:Proguard不行,我之前测试过
您可以使用混淆器来保护 apk 文件免受反编译。您也可以使用 DexGuard 以获得更好的安全性 https://www.guardsquare.com/dexguard
您可以通过 php 库使用 progaurd 并为您的项目编写一个 progaurd,然后在 progaurd 文件的 gradle 文件(在 android studio 中)附加到您的应用程序项目(在日食中)。 为此 php 有一个很好的库,名为 php_progaurd
您的屏幕截图显示这是一个受 DexGuard 保护的应用程序(ProGuard 的商业开发更进一步)。
另请参阅此答案:
您可以为此使用 DexGuard。 DexGuard 具有许多其他功能,能够加密您的 类 并在运行时解密它们。这些 类 只会在运行时出现在内存中,因此无法从静态 APK 中逆向任何源代码。 DexGuard 是由 ProGuard 的创建者开发的商业产品。我建议你通过 helloworld@guardsquare.com.
联系他们干杯,
h4