首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过隐藏报表和将代码转换为Unicode字符防止应用程序反编译

通过隐藏报表和将代码转换为Unicode字符防止应用程序反编译
EN

Stack Overflow用户
提问于 2015-06-05 10:39:15
回答 2查看 743关注 0票数 4

我想让我的应用程序保护使用混淆或任何好的技术,如我所展示的。关于这个问题,我已经问过很多次了。

在反编译过程中,我看到了两种很好的技术.

  1. 当我解压缩代码时,一个应用程序隐藏了Androidmanifest.xml,它是Manifest.xml丢失了还是不在那里。
  2. 另一段代码,我在解压缩后看到了,如下所示。 私有静态void \u02ca(最终上下文上下文,字符串s,最终字符串s2) { if (s == null x s.equals(“)){返回;}最终长currentTimeMillis = System.currentTimeMillis();最终布尔值\u02cf =\u0632。\u02cf(上下文);if (!\u02cf void (\u02cf &&!\u0632.\u02ce(上下文){ if (s ==空){s=空;}\u02ca(上下文,s);} while (true) { if (s2 == null \s2.等号(“”)){坏掉Label_0076;}尝试{Toast.makeText(上下文,(CharSequence)s2,1).show();\u0632.\u02ca(上下文,"letang_last_time",currentTimeMillis);} catch (异常ex) {继续;}catch;}

任何人都可能理解此示例用于保护apk不受反编译的影响。

如何在反编译后使我的代码在UniCode中类似字符?以及如何在反编译中隐藏报表。

编辑

我在三种不同的decompilers.but上进行了测试,代码保持不变。没有一个Procyon,CFR,FernFlower可以帮助查看代码。

EN

回答 2

Stack Overflow用户

发布于 2015-09-05 13:26:06

如何在反编译后使我的代码在UniCode中像字符一样?以及如何在反编译中隐藏Manifest。

请记住,没有100%的保护。您可以添加一些简单的方法,使潜在攻击者更加困难,但在此环境中没有安全港。谷歌有一个名为护卫的开源工具。它还帮助您混淆您的源代码。

  • 创建更紧凑的代码,用于更小的代码归档、更快的跨网络传输、更快的加载和更小的内存足迹。
  • 使程序和库更难反向工程。
  • 列出死代码,因此可以从源代码中删除它。
  • 为Java 6或更高版本重定向和预验证现有的类文件,以充分利用它们更快的类加载。
票数 0
EN

Stack Overflow用户

发布于 2015-11-19 13:58:37

当我解压缩代码时,一个应用程序隐藏了Androidmanifest.xml,它是Manifest.xml丢失了还是不在那里。

我测试这个,因为我正在学习如何使用程序守卫。实际上,即使您设法检索AndroidManifeste.xml文件,它也是空的。我在几个APK上测试了这个xml是空的

至于第二个问题,我建议您测试具有这类Unicode的APK,并使用AndroChef反编译器对其进行反编译。AndroChef总是从大多数APK中检索JAVA代码,即使使用proguard也是如此。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30664472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档