我想看看DexGuard是如何工作的,但它似乎没有免费的试用版本。
DexGuard可以加密安卓应用吗?或者它只是混淆了代码?DexGuard加密是如何工作的?如果您能提供在反编译之前和之后使用DexGuard运行的示例应用程序的代码,那就太好了。
发布于 2012-11-08 07:21:48
ProGuard提供了名称混淆:它可以将类、方法和字段的原始名称替换为简短的、无意义的名称。DexGuard还提供字符串加密和类加密。在这种情况下,术语加密可能会令人困惑,因为这些基本上是更激进的混淆类型。指定的字符串和类以某种有意复杂的加密形式存储,并在运行时使用应用程序必须可用的密钥和算法进行解密。在某些方面,类似地,Google Play市场可以加密Android 4.1的整个应用程序。然后,运行时环境以受控方式在执行应用程序之前对其进行解密。
(我是ProGuard和DexGuard的开发者--如果你感兴趣,请随时联系我)
发布于 2013-07-22 16:42:38
旧版本中的DexGuard使用“DES”Alg来加密指定的类。稍后它将"AES“更改为alg。对指定的类进行加密后,将加密后的数据通过解密方法以数据数组格式存储到另一个类中。Dex中的静态块解密方法是斜交格式法,该方法利用控制流混淆和API隐藏进行混淆。因此,对解密方法进行去模糊处理有点麻烦。在其他类中,引用指定的类更改为反射操作码。每次APK运行时,加密的类都会首先以静态的方式解密。并且解密的类将使用反射API加载到dvm存储器中。以便其他类可以正确引用指定的类。就这样。在我看来,DexGuard是一个非常强大的混淆工具。如果每个功能混淆都适用于APK,那么你将花费大量的时间来逆转整个真实的程序。
发布于 2013-03-05 02:48:59
虽然他们使用术语加密,但看起来它实际上是一种混淆。我这么说很简单,因为尽管它们可能会加密某些字符串/值...事实上,加密密钥也必须存储在应用程序中,这意味着他们为代码提供了一个“锁”,同时用它打包了“密钥”。
https://stackoverflow.com/questions/13245623
复制相似问题