前段时间,我和朋友偶然间谈起安卓逆向,他问我安卓逆向具体是什么,能给我们带来什么实质性的东西,我也和朋友大概的说了一下,今天在这里拿出来和大家讨论讨论,也希望帮助大家来了解安卓逆向。
谈起安卓逆向,我们大多数人可能只知道安卓,并不知道逆向是什么?那么今天就带大家一起来浅谈一下安卓逆向。
首先我们把安卓逆向分开来说:
1、什么是安卓?
安卓是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
简而言之就是一种系统,手机的系统。
2、什么是逆向?
简单来说逆向就是我们人的一种思维方式,我们有正向的思维,那必然就有逆向思维。
就好比这个1+1≠2 要求证明它是对的,按照我们正向的思维,是不可能的,因为数学的定义就是1+1=2的,那我们抛开数学上的定义,用不正常的思维,也就是我们的逆向思维去分析,我用1立方的水加上1立方的黄豆,是不是不等于2立方了呢?
以上就是我们分开说的安卓和逆向,那我们合起来是什么呢?
安卓逆向是什么?
简单来说,安卓逆向是一门技术,同时也是一门艺术,它是一门能让我们成长的技术,也是能让我们拥有高薪过上好生活的技术。
复杂一点,安卓逆向就是将安装包apk文件还原成打包前的样子。android代码和资源编译打包会形成安装包apk,反过来就是逆向了。
学习安卓逆向我们能做什么?
我这样来说可能对我们很多人有所理解,我们大多数人用的都是安卓手机对吧,我们很多人都会用到某宝、某音、拼xx等app,对于年轻人来说就是游戏玩的比较多了,游戏APP也很多,那我们在玩游戏的时候是不是会很烦遇到外挂呢?相信很多人都很反感使用外挂的人,而这个时候我们的安卓逆向就可以站出来了,我们很多游戏都是存在bug的,而有心之人就会通过安卓逆向技术找到这个bug来做出相对应的调整反编译等做出外挂,而我们安卓逆向工程师就会找到这个bug去修复它,进一步的加固它。
当然我们很多朋友还是希望想看安卓逆向的前景怎么样,我也在网上收集了一些相关讯息,我们可以一起来看看。
随着Android 相关设备被使用的越来越广泛,市场对它的安全性问题也越来越重视,因此Android 逆向的岗位需求量也越来越大,该岗位的薪资也是一直居高不下
值不值的入手学? 怎么入手?
首先Android 逆向安全是属于网络安全的一部分,而网络安全又是国家非常重视的项目,俗话说:没有网络安全就没有国家安全,没有信息化就没有现代化,它的不会像其他技术一样只有短暂的红利期,只要有互联网在、有移动互联网在,它的红利期就会一直存在,是值得入手的。
至于怎么学?说到这个问题,答案估计就有五花八门的情况出现,A说这个要学,B说那个要学,C说……,其实大家都没有统一的一个答案,其实对于想入手学的小伙伴而言,前期掌握好基础才是最重要的,为了帮助到大家能牢固的掌握Android逆向中的基础知识点和一些工具的合理利用,这边跟多位工作多年的Android逆向安全师,进行了激烈讨论,最终将Android逆向与安全的学习路线合理的整理出来:
对于一些初学者而言就需要先掌握Java基础、Linux基础、Android开发基础、Python基础、网络爬虫入门、密码学、Android逆向基础等这些内容,如果你是多年的Android 开发基本前面三个可以省去(当然像在复习一下的也是可以的)直接从第四个开始学习。
至于学习笔记也是有的,我根据上述中所提到的知识点进行整理了,这样大家学习起来也比较方便,大家可以综合起来一起学习。参考方式:https://qr18.cn/CQ5TcL
Android 逆向安全学习笔记:https://qr18.cn/CQ5TcL
Android 逆向模拟器环境搭建(详解)
Smali指令详解
加壳和脱壳入门
NDK与逆向:https://qr18.cn/CQ5TcL
Xposed框架
Frida-逆向开发的屠龙刀
安卓逆向之常用加密算法
参考方式:https://qr18.cn/CQ5TcL