2

前段时间我正在用 apktool 反编译一个应用程序,以了解一些片段。奇怪的是应用程序被混淆了,事实上,应用程序只提供一个名为“Protection.class”的类,其中包含“class.forName”或“class.getMethod”等方法。

在google上搜索这当然是反射结构,但是看了一些教程我明白了反射调用的类必须在应用程序包中。在我的情况下,除了“保护”类之外没有其他类。

总之,我的问题是:是否有可能完全从包中删除类,但仍以某种方式使用它们的方法?它们存储在 apk 文件夹中的什么位置(如果有)?有没有办法与 apk 构建过程进行交互以混淆代码或(就像在这种情况下)从包中隐藏类?

注意:Proguard 做不到,我过去已经测试过了

4

4 回答 4

2

您可以使用 progaurd 保护 apk 文件免受反编译器的影响。您也可以使用 DexGaurd 获得更好的安全性https://www.guardsquare.com/dexguard

于 2016-01-19T11:28:40.373 回答
2

您的屏幕截图显示这是一个受 DexGuard 保护的应用程序(ProGuard 的商业开发更进一步)。

另请参阅此答案:使用哪些方法来保护此 Android APK:反射?加密?我如何对其进行逆向工程和分析?

于 2016-01-19T12:13:06.790 回答
0

您可以通过 php 库为它使用 progaurd 并为您的项目编写一个 progaurd,然后在 progaurd 文件(在 eclipse 中)的 gradle 文件(在 android studio 中)中附加到您的应用程序项目。对于这个 php 有一个很好的库,名为 php_progaurd

于 2016-01-19T11:40:27.333 回答
0

您可以为此目的使用 DexGuard。DexGuard 具有许多其他功能,能够在运行时加密您的类并解密它们。这些类只会在运行时出现在内存中,因此无法从静态 APK 反转源代码。DexGuard 是由 ProGuard 的创建者开发的商业产品。我建议您通过 helloworld@guardsquare.com 与他们联系。

干杯,

h4

于 2016-02-03T16:16:53.640 回答