花卉网 — 您身边的花草养护与盆景制作专家!关注花草乐让生活,温暖如花。

浅谈安卓apk加固原理和实现:8868体育官网

时间:2024-04-26 10:43编辑:admin来源:8868体育官网当前位置:主页 > 养花知识 > 家庭养花 >
本文摘要:章节:在安卓研发中,包公布是研发的最后一个环节,apk是整个项目的源码和资源的结合体;对于不懂点反编译原理的人可以精彩编译器出有apk的源码资源,并且可以改动资源代码、新的包编译器,轻轻松松变为自己的apk或者改动其中一部分盗取用户信息。代码被反编译对于apk的开发者和使用者而言十分困惑。 apk修整、避免反编译此时变得尤为重要。虽然有好多给apk修整的第三方,有可能并不需要自己做到apk修整,但是理解apk修整原理还是很有适当的。

8868体育官网

章节:在安卓研发中,包公布是研发的最后一个环节,apk是整个项目的源码和资源的结合体;对于不懂点反编译原理的人可以精彩编译器出有apk的源码资源,并且可以改动资源代码、新的包编译器,轻轻松松变为自己的apk或者改动其中一部分盗取用户信息。代码被反编译对于apk的开发者和使用者而言十分困惑。

apk修整、避免反编译此时变得尤为重要。虽然有好多给apk修整的第三方,有可能并不需要自己做到apk修整,但是理解apk修整原理还是很有适当的。本文主要向大家讲解apk修整原理和非常简单构建。目录:一、apk少见修整方式二、apk修整原理三、apk修整构建四、apk该方式修整后缺失一、apk少见修整方式(1)代码层级加密--代码误解代码误解是一种常用的加密方式。

8868体育官网

本质是把工程中原本的有明确含义的类名、变量名、方法名,改动成让人不懂的名字。少见的代码误解工具proguard(有兴趣的可以自己看一下该工具:http://t.cn/ELjgHdi)。

该加密方式只是对工程获取了大于的维护,并不是说道无法逆向密码;只是说道可玩性减少,必须冷静。(2)Dex文件加密dex是Android工程中的代码资源文件,通过dex可以反编译出有java代码。dex的加壳是少见的加密方式。

通过对dex文件加密拼凑加壳,可以有效地的对工程代码展开维护。apk工程在加装顺利后,app启动时会有dex解密的过程,然后新的读取解密后的dex文件。

第二种加密方式也就是本文要为大家共享的加密方式。基本原理是在jni层,用于DexClassLoader动态读取技术已完成对加密classex.dex的动态读取,dex文件可以附属在assert或raw目录。

二、apk修整原理(1)apk文件结构可执行文件一个apk包在,可以看见如下目录结构:assets:存放在工程资源(图片、本地html等)文件的目录Lib:存放在ndk编译器出来的so文件(so:C/C++编译器出有的文件)META-INF:该目录下存放在的是亲笔签名信息,用来确保apk包在的完整性和系统的安全性:CERT.RSA:留存着该应用程序的证书和许可信息CERT.SF:留存着SHA-1信息资源列表MANIFEST.MF:表格信息res:存放在资源(布局xml、布局xml提到图片等)文件的目录AndroidManifest.xml:表格文件,它叙述了应用于的名字、版本、权限、登记的服务等信息classes.dex:java源码编译器经过编译器后分解的dalvik字节码文件,主要在Dalvik虚拟机上运营的主要代码部分resources.arsc:编译器后的二进制资源文件META-INF文件主要是跟亲笔签名有关的文件,确保了apk的完整性和安全性。apk每次新的亲笔签名必须移除该文件夹。

8868体育官网

必须大家主要注目的是classes.dex文件:因为apk修整主要是对dex文件展开的加密。(2)Dex文件结构Java源文件分解Dex文件的同构关系dex文件可以解读为由java文件编译器生产的,直观展现出就是dex文件可以编译器出有java源码;dex文件的起到是记录整个工程(一般来说是一个Android工程)的所有类文件的信息;dex文件就是指class文件演进而来的,class文件不存在校验信息,dex文件则去除了校验,并且统合了整个工程的类信息。Dex文件结构文件头header包括了dex文件的信息,也是大家必须注目的部分。因为下面的操作者中会有dex文件的改动操作者,而辨别是否是准确的dex文件是由header部分要求的。

下面看一下header部分的信息:structDexFile{DexHeaderheader;DexStringIdStringIds[StringIdsSize];DexTypeIdTypeIds[typeIdsSize];DexProtoIdProtoIds[protoIdsSize];DexFieldIdFieldIds[fieldIdsSize];DexMethodIdMethodIds[methodIdsSize];DexClassDefData[];DexLinkLinkData;}Dex文件header部分结构体信息Header部分有必须留意的三个字段:checksum字段、signature字段、filesize字段。checksum字段:checksum是校验码字段,校验dex数据的完整性signature字段:signature是SHA-1亲笔签名字段,dex数据完整性校验signature字段:留存classes.dex文件总长度之所以注目这三个字段,是因为后面不会有对dex的新的拼凑。dex拼凑后要改动这三个字段,字段改动准确后才可以确保dex的准确读取。


本文关键词:浅谈,安卓,apk,加固,8868体育官网,原理,和,实现,8868,体育

本文来源:8868体育官网-www.easysitegroup.com

上一篇:“8868体育官网”激光自动焊接快速发展背后的推动者

下一篇:没有了

养花知识本月排行

养花知识精选