// 将此函数添加到要防止被反编译的类中即可!
// 注意:1.for 循环不可用 do{}while(false) 的形式来代替,否则无效!
// 2.a[0 - i] = 0; 数组下标必须为数值计算(0 - i)的形式,否则无效!
private static void // static 最好保留以防被优化掉此函数
AntiDecompile()
{
char a[] = { 0 };
for( int i = 0;
i < 1;
i++ )
{
a[0 - i] = 0;
}
}
在反编译工具下会报如下错误:
$ ./dex2jar.sh classes.dex
12:18:14.360 ERROR p.a.d.reader.DexFileReader - Fail on class
java.lang.RuntimeException: Error in method:[Lcom/example/antidecompile/MainActivity;.AntiDecompile()V]
at pxb.android.dex2jar.reader.DexFileReader.visitMethod(DexFileReader.java:479) [dex2jar-0.0.7-SNAPSHOT.jar:na]
at pxb.android.dex2jar.reader.DexFileReader.acceptClass(DexFileReader.java:300) [dex2jar-0.0.7-SNAPSHOT.jar:na]
at pxb.android.dex2jar.reader.DexFileReader.accept(DexFileReader.java:175) [dex2jar-0.0.7-SNAPSHOT.jar:na]
at pxb.android.dex2jar.v3.Main.doFile(Main.java:66) [dex2jar-0.0.7-SNAPSHOT.jar:na]
at pxb.android.dex2jar.v3.Main.main(Main.java:47) [dex2jar-0.0.7-SNAPSHOT.jar:na]
Caused by: java.lang.RuntimeException: Not support Opcode:[0x00d9]=RSUB_INT_LIT8 yet!
at pxb.android.dex2jar.v3.V3CodeAdapter.visitInInsn(V3CodeAdapter.java:816) [dex2jar-0.0.7-SNAPSHOT.jar:na]
at pxb.android.dex2jar.reader.DexOpcodeAdapter.visit(DexOpcodeAdapter.java:317) [dex2jar-0.0.7-SNAPSHOT.jar:na]
at pxb.android.dex2jar.reader.DexCodeReader.accept(DexCodeReader.java:277) [dex2jar-0.0.7-SNAPSHOT.jar:na]
at pxb.android.dex2jar.reader.DexFileReader.visitMethod(DexFileReader.java:477) [dex2jar-0.0.7-SNAPSHOT.jar:na]
... 4 common frames omitted
Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Error in method:[Lcom/example/antidecompile/MainActivity;.AntiDecompile()V]
at pxb.android.dex2jar.reader.DexFileReader.accept(DexFileReader.java:179)
at pxb.android.dex2jar.v3.Main.doFile(Main.java:66)
at pxb.android.dex2jar.v3.Main.main(Main.java:47)
Caused by: java.lang.RuntimeException: Error in method:[Lcom/example/antidecompile/MainActivity;.AntiDecompile()V]
at pxb.android.dex2jar.reader.DexFileReader.visitMethod(DexFileReader.java:479)
at pxb.android.dex2jar.reader.DexFileReader.acceptClass(DexFileReader.java:300)
at pxb.android.dex2jar.reader.DexFileReader.accept(DexFileReader.java:175)
... 2 more
Caused by: java.lang.RuntimeException: Not support Opcode:[0x00d9]=RSUB_INT_LIT8 yet!
at pxb.android.dex2jar.v3.V3CodeAdapter.visitInInsn(V3CodeAdapter.java:816)
at pxb.android.dex2jar.reader.DexOpcodeAdapter.visit(DexOpcodeAdapter.java:317)
at pxb.android.dex2jar.reader.DexCodeReader.accept(DexCodeReader.java:277)
at pxb.android.dex2jar.reader.DexFileReader.visitMethod(DexFileReader.java:477)
... 4 more
分享到:
相关推荐
本文将详细介绍如何在Android项目中进行代码混淆,以防止反编译。 首先,我们需要在项目文件中进行配置。在Android项目中,找到`project.properties`文件,通常位于项目的根目录下。在文件的最后添加一行`proguard....
本文将深入探讨两种防止Android应用被反编译的策略:代码混淆和使用安全工具。 首先,我们来了解一下什么是代码混淆。代码混淆是一种通过改变代码的可读性来增加其复杂性的技术,主要是通过对变量名、函数名和类名...
本教程将深入探讨如何使用ProGuard来混淆Android项目代码,以防止反编译。 一、ProGuard介绍 ProGuard是一款免费的Java类文件 shrinker、optimizer、obfuscator 和 preverifier。它能够减小APK大小,优化字节码,...
《Android系统安全与反编译实战》是一本深入探讨Android平台安全性和逆向工程实践的书籍,其源代码提供了丰富的实例和实验素材,帮助读者更好地理解和应用相关技术。在这个压缩包中,"daima"可能代表了书中提到的...
首先,反编译XML文件在Android开发中并不常见,因为源代码通常是可见的。然而,在分析APK或者处理二进制XML文件时,反编译就显得尤为重要。AXMLPrinter是一个用于解析和打印Android二进制XML文件的工具,它可以将二...
6. **代码混淆**:为了防止恶意的逆向工程,开发者通常会使用代码混淆工具,如ProGuard或R8,它们会重命名类和方法,使反编译后的代码难以阅读。遇到混淆过的代码,反编译的过程将更加困难,甚至可能无法恢复到原始...
在Android系统中,安全性和反编译技术是开发者必须关注的重要领域。Android作为一个开放源代码的移动操作系统,其安全性相对其他封闭系统来说面临更多挑战。本篇将深入探讨Android系统的安全机制以及如何进行反编译...
通过混淆android代码来防止黑客反编译,防止黑客破解app的方法 你辛辛苦苦编写的app,被黑客轻易就破解,替换资源了,重新打包发布市场,抢占了你的利润,你是不是会很心疼?现在我教你,如何让你的APP更安全,黑客别说修改其...
在Android开发领域,有时我们需要对已有的APK文件进行反编译操作,以获取其源代码、资源文件或进行逆向工程分析。本压缩包提供的“android反编译工具包”正是为此目的设计,经过亲测,效果理想,能够帮助开发者高效...
“Android反编译利器”是一款集成化工具,它整合了多种反编译功能,如反编译安卓布局文件(XML)、反编译Java代码(DEX)。布局文件反编译能够帮助我们查看和分析应用的用户界面设计,而Java代码的反编译则让我们能...
标题提到的"Android Studio 基于NDK加密,防止反编译获取加密key",这是一个关键的安全策略,旨在保护应用程序中的敏感数据,如API密钥、用户信息或者任何需要保密的数据。NDK(Native Development Kit)是Android...
在Android应用开发中,掌握反编译技术可以帮助我们更好地理解和优化代码,同时也能提升我们的安全意识,保护自己的劳动成果不受侵犯。然而,同时也应尊重他人的知识产权,合法合规地使用这些工具。
隔离Java程序适用于网络应用,加密Class文件和使用本地代码则在特定条件下有效,而代码混淆作为综合性强的保护措施,被广泛认为是防止Java反编译的基本方法之一。开发者应根据应用的具体需求和安全等级,灵活选用或...
在Android开发领域,了解App反编译技术是至关重要的,特别是在安全分析、代码逆向工程以及漏洞检测等方面。本文将详细探讨Android App反编译软件的相关知识点,包括其原理、工具以及如何进行反编译。 首先,让我们...
在Java开发中,保护代码安全是一项重要的任务,尤其是在发布应用或库时,因为恶意用户可能会尝试反编译你的代码以获取敏感信息。本篇将详细讲解如何使用混淆器ProGuard来混淆Java类,以增加反编译的难度,从而保护你...
本文将深入探讨“Android APK反编译文件”这一主题,包括如何进行反编译,以及反编译过程中的关键知识点。 首先,让我们了解什么是APK反编译。APK反编译是将已编译的APK文件转换回其源代码形式,以便分析和理解其...
6. **保护措施**:对于开发者而言,防止APK被轻易反编译的方法包括使用代码混淆、签名验证和运行时加密等手段。这些方法可以增加逆向工程的难度,但无法完全阻止。 总之,"Apk 反编译成Java源代码工具"如dex2jar和...
那麼有什么办法能防止 Android APK 反编译和破解呢?本文将对 Android APK 反编译之有效防止破解和反编译加密方法进行详细介绍。 一、混淆代码 混淆代码是 Android APP 的源码进行混淆后混淆器将代码中的所有变量...
混淆会重命名类和方法,使得反编译后的代码难以理解。然而,如果代码未混淆,反编译工具则能提供更清晰的源码视图。 4. **反编译的风险与防范**: - **隐私泄露**:反编译可能导致敏感信息如API密钥、数据库连接...
在Android开发领域,有时我们需要对已有的APK应用进行反编译,以便了解其内部结构、查看源代码或进行二次开发。"Android反编译工具包"正为此目的提供了必要的资源和教程。以下是对这个主题的详细阐述: 一、反编译...