APK加固是对APK代码逻辑的一种保护。原理是将应用文件进行某种形式的转换,包括但不限于隐藏、混淆、加密等操作
APK加固的初衷是防止APK被逆向、防篡改、实现数据保护。早期电诈APP中很少有加固的应用,而近期加固的电诈APP明显增多。
APK静态分析思路
APK内部结构
apk本质是个.ZIP格式的的压缩包,直接修改后缀解压就能看到完整的文件结构
常用
AndroidManifest.xml 全局清单文件
classes.dex运行在dalvik虚拟机上的可执行文件
META-INF 签名信息(安装验证)
resources.arsc 二进制资源索引文件
res 资源文件夹
Asssets 资源文件夹
lib 存放so文件
AndroidManifest.xml 全局清单文件
是每个Android程序中必须的文件,它位于整个项目的根目录。该文件配置程序运行所必要的组件、权限、以及一些相关信息。
主要包括:
- 包名:APK安装包名
- 版本信息:APK版本及SDK版本
- 权限:APP运行权限
- 组件:Activity主入口函数、服务Services
- 第三方SDK调用信息
AndroidManifest.xml分析方法
- 使用逆向分析工具查看
- 使用小工具自动读取
SDK
SDK是软件开发工具包(Software Development Kit)的缩写。它是一组开发工具和文档的集合,用于帮助开发者创建特定软件系统、框架、库或应用程序的工具。SDK通常包括各种库、API、示例代码、开发者文档和工具。
通过使用SDK,开发者可以简化软件开发过程,提供了一些常见功能的封装,如网络通信、图形界面、数据存储等。SDK还可以提供开发环境、调试工具和模拟器等,帮助开发者测试和调试应用程序。
SDK通常针对特定的平台或技术,如移动应用程序开发(如Android或iOS)、Web开发、游戏开发等。开发者可以使用SDK来访问平台的特定功能和服务,加快开发速度并提高应用程序的质量。
META-INF(Certificate)签名信息目录
在Android系统中,不同app之间是依靠包名、数字签名共同来进行区分的,签名用来保证apk包的完整性和系统的安全性,里面包含了三个文件,MANIFEST.MF、CERT.SF、CERT.RSA
Certificate证书信息中主要包括:
- APK中的证书公钥
- 有效日期
- 签名及证书的MD5、SHA-1、SHA-256指纹信息
res(Resources)资源目录目录
包括图片、颜色等等,在这个目录中的所有文件,最终会被映射到Android工程中的R文件中,生成对应的int型的ID,在程序中访问这些资源文件的时候,直接使用资源的ID就能进行调用
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全面试题
内容实在太多,不一一截图了
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算