我怎么知道反编译的APK是否被混淆了?

时间:2017-09-01 00:46:07

标签: android security apk obfuscation

我正在检查APK中的组件代码中的混淆,但我不确定它是否实际上已实现。

我如何确定他们是否通过混淆保护他们的APK代码?至于我应该遵循什么程序,如果它们是否存在,哪些元素会让我注意到?如果ProGuard,DexGuard或其他一些混淆技术到位,有没有办法知道反编译代码?

我知道混淆主要是通过默默无闻的安全性,这只是我正在检查的事情之一。

我用webservice和apktool反编译APK,获得不同的结果,即。对于特定文件夹,其子文件夹在apktool反编译的一个中显示为a,b,c,但在Web服务的文件夹输出中显示为其他名称(如p00xxxx)。

此外:

  • 方法和字段名称显示为a,ab,ac,v0,v1等
  • 当为'用户','usuario','密码'或'contraseña'加油时,这是唯一的 这些字符串的实例位于xml'name'标记属性中 文字字符串,例如“请输入您的密码”。这些 标签ids'的形式为:'aXaaaaaaa'。在我看来,这似乎是混淆的证据。提出here(在“搜索密码”标题下)。
  • 似乎可以让我实施DexGuard,因为 我修改过的代码看起来很像描绘的例子here ('混淆包名称')

我还在某处读过goto指令的存在可能表示混淆,这是对吗?

总结一下,我只是想知道是否有办法让我知道APK是否被混淆了,我该怎么办才能检查这个,以及我应该寻找什么标志。我真的很感激任何帮助。

1 个答案:

答案 0 :(得分:-2)

首先,让我们开始探讨混淆的重要性。 我在评论中看到一个人问这个问题。如果我们决定构建一个简单的游戏,那么我们将其构建并发布到社区中,他们可以轻松获取我们的源代码。坏?是的,首先,他们可以利用我们的代码并找到黑客的漏洞,其次才能找到您的代码...因此,混淆很重要。
其次,是的,您的代码被混淆了。混淆程度各不相同,但其想法是使代码尽可能不易被人阅读。谁会理解名为abc.c.A(d)的方法? DUUUUH编译器,但我们不会。