赞
踩
随着移动互联网的兴起,“APP”成了99%的互联网企业主要运营的产品,知名的例如“支付宝”、“美团”、“滴滴”、“抖音”等。用户基数的不断变大,安全性也经历着巨大的挑战。
app越来越多,也离不开我们的生活,而安卓逆向也是近几年才兴起的一个行业,市场饱和度不高,发展前景广阔。
随着app的增加安全是一个很大问题,想要解决安全问题就得用到逆向知识,由此逆向岗位会随着app得的增加会越来越多。
从上面了解到Android的逆向不管是前景还是岗位需求,还是最为关心的薪资问题都有着非常好的表现。那么我们怎么学习逆向呢?
作为入坑Android逆向两年,我个人的话建议一开始先从AOSP入手, 结合Android系 统的具体行为和源码,穿插着写一些普通的app和简单的xposed插件,先对Android系统有一个大致的了解。
在这过程中需要逐步的了解Java和生成的smali之间的对应关系,比如Enum、Lambda等在编译后是什么样的。然后就可以拿一些普通的app练手 了,遇到不会的就去请教认识的dalao或者 上GitHub看有没有其他项目的实现。
困难的话我感觉最大的是在这个过程中你会遇到很多之前从来没有接触过的东西,包括Android和某些大厂的设计模式等。做逆向就不能像写Python之类的把设备和操作系统都当成是黑箱来调用,而需要深入的去了解很多Android和Java SDK的具体实现。在这个过程中还可能会遇到各种限制,比如部分Android厂商不开放BL解锁,还有SELinux动不动给你扔个Secure Exception之类的。
对于Android逆向的学习,可以总结出以下内容;详细内容如以下图所示:
高清逆向技术点路线图获取可以点击《Android核心技术手册》;更多详细逆向知识可以查看详细内容。
1.逆向环境搭建
2.了解APK文件
3.APK反编译二次打包
4.逆向必学Java知识点
1.Java层逆向分析
2.Android NDK
3.ARM汇编
so层逆向分析
1.反调试与反-反调试
2.APK保护策略
3.xposed框架
4.frida框架
1.常见加解密算法
2.协议加解密分析
3.协议实战分析
4.文件结构
5.系统源码分析
6.加固技术
7.脱掉应用外壳
android逆向是杂学,考验的是知识广度+深度+经验;因此android逆向的培训,无法像java,php,c#这类常规语言一样被量化 。一定要搞清楚学习的路线,入门学什么,初期学什么,后期学什么。要不然真的会越学越累,最后放弃了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。