发布网友 发布时间:2022-04-22 00:14
共1个回答
热心网友 时间:2024-01-23 09:26
1.混淆源码。代码混淆(Obfuscatedcode)亦称花指令,可以借助一些工具,市场有很多高级混淆代码工具。花指令的基本原理是由设计者特别构思一些指令,可以使反汇编的时候出错,让破解者无法清楚正确地反汇编程序的内容,迷失方向。文件夹混淆是利用Android系统环境下的文件夹名的特殊性来对源码文件夹进行混淆,让混淆后的文件夹在Window看起来失去原有的逻辑性,但是完全不影响其在Android系统上的运行。Android技术验证的原理是在代码启动的时候本地获取签名信息后对签名信息进行检验来判断自己的应用是否是正版,如果签名信息不是正版则提示盗版或者直接崩溃。
2.使用伪加密保护方式,通过java代码对APK(压缩文件)进行伪加密,其修改原理是修改连续4位字节标记为”PK0102”的后第5位字节,奇数表示不加密偶数表示加密。伪加密后的APK不但可以防止PC端对它的解压和查看也同样能防止反编译工具编译。
3.通过标志尾添加其他数据从而防止PC工具解压反编译,这样处理后把APK看做压缩文件的PC端来说这个文件被破坏了,所以你要对其进行解压或者查看都会提示文件已损坏,用反编译工具也会提示文件已损坏,但是它却不会影响在Android系统里面的正常运行和安装而且也能兼容到所有系统
4.对DEX、RES、SO库等主要文件进行加密保护。Dex文件是APK中最重要、最需要保护的,因为dex中存放了代码的信息,如果是一个没有做过任何保护的APK,破解者通过使用dex2jar和jd-gui简单几步就可以查看到源码。同样,SO库文件是APK的核心代码,一旦被破解,APK就很容易被破解了。不过这方面对开发者的技术要求很高,想要简单的话,就借助类似于爱加密这种第三方工具。通过使用加壳技术,对dex文件做了一层保护壳,这样破解者就无法通过正常手段反编译出代码文件,从而保护代码的安全。