怎么对android app实现逆向分析

怎么对android app实现逆向分析,第1张

首先,逆向分析是一门技术,也是一门艺术。

其次,安卓逆向同样可细分为应用层APK逆向、安卓设备框架、内核驱动等逆向、基于安卓的硬件产品逆向等。此处假定楼主说的是第一种逆向。

应用层的逆向分析根据需求的不同,又可细分成APK流程逆向与功能逆向。

流程逆向通常是指简单的对APK运行流程进行分析,此类分析通常可以使用将APK置于沙盒环境中运行捕捉并查看运行结果。这种逆向需求通常不是很多,典型的工种有杀软厂商的病毒分析工程师。

功能逆向相比流程逆向则困难得多。但需求比较普遍。实际逆向分析过程中对功能实现的理解,在很大程度上取决于逆向人员相关的软件开发知识。比如,分析Android程序的JAVA代码就需要掌握基本的Android软件开发的知识。分析so库的代码就需要了解C/C++相关的so库开发的知识。除了基本开发相关的能力外,逆向分析人员还需要具备以下知识:

ARM/X86/MIPS汇编语言-分析so库时可能需要阅读大量的反汇编代码。

常见逆向分析工具的使用-JDGUI/IDA PRO/APKTOOL/JEB/DEX2JAR

常用的安卓程序调试与反调试手段-调试器检测与反检测/脱壳/反混淆

常用的加密与解密算法-好的逆向分析人员需要有快速识别常见加密解密算法的能力

最后,就是多动手,多动手练习是掌握逆向分析技术最好的方法。

可以的。开发者的日常是用一段段代码写出一个个软件,实现各种功能。他们的日常则是把一个个完整的软件逆推,还原成一段段代码。他们,就是传说中的“逆向工程师”。给他们一个手机APP、电脑程序,用不了多久,就能逆推出程序的运行逻辑,找到里头的关键代码,篡改、破解、发现漏洞。人们把这种技术叫作“逆向工程”。我们在网上看到的各种破解软件,多半都跟逆向工程有关。正义的逆向者只是做安全研究,而那些邪恶的逆向者却拿着这项技能四处干坏事牟利。比如盗版软件。开发者们累死累活才写好的程序,分分钟就被人逆向破解,植入广告和木马,重新打包成盗版。拼多多变成拼夕夕,一款软件多出好几十个远方表亲。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11323135.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存