赞
踩
一、安卓逆向工程师
含义:安卓逆向工程师实际上是针对安卓手机应用做破解攻击,以达到测试 与逆向调试、安全分析,应用保护的效果。
方向:安卓逆向工程师在日常工作中会利用「反编译工具或手段」对市场上 大量的APP进行破解以加强应用的安全防护; 还有一类人则是通过逆向分析技术,对某些火热的APP进行破解,以 达到快速暴力盈利目的这种行径我们称之为“灰/黑色产业”。
二、技术的基本流程工作形式
App通过安卓到手机/模拟器,然后利用工具分析可利用的漏洞 ,进而分析它的保护机制进行破解,破解成功以后应用方向,安装回手机上或模拟器上正常使用并提交漏洞给开发商,或者就是灰黑商人招纳技术制作相应的功能软件,通过传播获利。
技术无罪,安全当先,先学会攻击才能更好的防护。
三、技术的具体应用形式
我们所使用的APP都是在安卓系统里面才能运行的,所以我们会看到日常用 的安卓机、电视盒子、车载系统基本都是安卓系统;而我们的安卓逆向课程 主要就是针对安卓系统上的APP应用做破解
反编译流程:apk安装包解析加密文件,通过反编译(smali代码,java代码,ARM代码,c/c++/C#代码)利用工具修改和分析代码,如果无法继续分析,则apk存在访破解,有想要的保护机制
四、分析工具有哪些?
JAVA层反编译及修改工具:Androidkiller+Apktool、JEB、Android逆向助手、Jar-adx、 Jd-gui、CE内存修改器、GG修改器、MT文案管理器等
A、jd-gui
反编译jar,查看class文件的对应的源码,通过命令 apktool d my.apk 反编译apk文件,解压之后,可以查看AndroidManisfast.xml文件等配置信息,res资源,asset资源等。通过命令sh dex2jar.sh classes.dex将apk文件中解压出来的dex文件转换为jar文件。然后通过jd-gui可以打开jar文件,就可以查看class文件对应的源码了。
B、AndroidKiller+apktool:可以直接反编译app,进行资源文件和修改smali代码达到java层逆向分析功能
C、jeb:可以反编译查看,但是无法修改
注解:我们大多数的应用都是由JAVA代码完成,但我们是不能直接去看程序员写的代码的,只 能间接的通过工具去查看java代码,想实现修改的效果,就得去分析修改java代码的“同 胞兄弟”—Smali代码,这种代码可以通过上述工具去查看获得。
So层分析及抓包工具:IDA+IDApro、fiddler抓包、burpsute抓包、Wpe抓包、WireShark 抓包、WinHex进制修改分析器、各种自动化脱壳机等。
A.底层交互协议: 我们大多数的应用都是由JAVA代码完成。但APP仍需和安卓操作系统进行通讯交流,所以 JAVA层代码会与So代码进行交互。使得我们写的代码可以被系统识别和认可,上述工具可 以对so层进行分析。
注解:这就像是我去餐馆吃饭,可以把我们看成JAVA代码,而服务员是链接我们和厨房进行沟通 的桥梁,我们想吃什么,问什么东西好吃,都需要告诉服务员,通过服务员把信息传给后 厨,厨师就是So层,他们会把我们的需求制作展示出来,最后再由服务员把菜品端上我们 的桌子。
B.联网通讯协议:我们的APP也需要和服务器端也就是和其他使用这个APP的人进行通讯,比如说我们使用的 抖音,我们能看到别人的作品,是因为别人把制作的作品由APP传给了服务器,服务器再根 据大家喜欢看的和关注的,推送不同的作品到你的APP上。
[逆向要做的就是去截取服务器和APP之间传输的内容] :比如我想批量给一个人点赞10W次,我就可以先用抓包工具抓到这段密文A 然后反编译抖音APP,去除或者绕过密文的加密锁。 这些加密锁会分散存放在JAVA层和So层,所以才需要我们分析这些代码 最终解开密文。 我们得到报文后,就可以不受限制的去注册10W个小号。 还可以写一个软件,批量的把10W个账号全部导入自己的软件,输入想要刷 赞的抖音号和作品ID,即可实现批量化的刷赞了!
*这就是安卓逆向的一些方法大题框架和简单了解,对逆向这门技术有个好的学习思路,有什么逆向问题可以加qq安卓逆向交流群一起讨论。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。