Android逆向分析学习路线是怎样的_3D扫描中什么叫做逆向工程

1天前 (03-11 22:29)阅读2回复0
路人甲
路人甲
  • 管理员
  • 注册排名2
  • 经验值440920
  • 级别管理员
  • 主题88184
  • 回复0
楼主

Android逆向分析学习路线是怎样的

很高兴回答该问题,下面我从语言基础知识、安卓逆向基础知识、逆向进阶知识三个方面介绍安卓逆向的学习路线。

逆向学习是一个动手动脑的过程、在学习的过程中要多动脑多动手灵活运用学习的知识。

语言基础知识

Java语言基础

Android程序是用java语言开发的,所以学好Java基础是非常必要的。

Android基础

Android逆向分析学习路线是怎样的_3D扫描中什么叫做逆向工程

既然是安卓逆向分析,那么一定学要学习好安卓知识。熟练使用安卓的开发语言如Java、C/C++、kotlin,dart等,同时还要掌握安卓虚拟机原理运行机制、app打包过程、系统启动流程、App启动详细过程。只有懂得正向过程,才能在逆向分析的时候进行还原分析。

C/C++

在很多公司不再是纯粹的Java层开发,更多的会与C++结合,把一些重要的方法和行为以及一些私密性质的东西放在C++中。

ARM汇编语言

安卓CPU主要是ARM。

能写简单的脚本和爬虫

安卓逆向基础知识

1、工具的使用如apktool,IDA,dex2jar,JEB,Androidkiller,Androguard等。

Android逆向分析学习路线是怎样的_3D扫描中什么叫做逆向工程

1)、apktool主要用于逆向apk文件。

2)、IDA非常好用的交互式反汇编的软件。

3)、dex2jar用于将dex文件转为jar文件。

4)、JEB安卓动态调试工具。

5)、Androidkiller 强大的apk反编译工具,支持修改查看smail文件及二次编译打包。

2、Smali汇编语言学习

smali语言是安卓虚拟机的执行语言,apk编译后的可执行dex文件里面就是smail语言。

3、熟练使用抓包工具进行抓包如burpsuit、Fiddler和Charles。

4、了解ARM,熟悉IPC原理,能够熟练搭建IPC框架。

5、Android 基础算法和安全协议--如密码学、数字签名、服务端与客户端通信协议。

安卓逆向进阶知识

hook技术-xposed框架fridaADBI框架

Android逆向分析学习路线是怎样的_3D扫描中什么叫做逆向工程

Android NDK--快速开发C、 C++的动态库,并自动将so和应用一起打包成 APK即可通过 NDK在 Android中 使用 JNI与本地代码(如C、C++)交互。

JNI--是一种在Java虚拟机控制下执行代码的标准机制。代码被编写成汇编程序或者C/C++程序,并组装为动态库。也就允许了非静态绑定用法。这提供了一个在Java平台上调用C/C++的一种途径。

Android 加固防护--”知己知彼,百战百胜“,只有了解加壳的过程及原理才能更好进行脱壳,所以要掌握市面上的app加壳技术原理如梆梆加固原理、爱加密加固原理、百度加固DD大法、阿里加固原理、360加固原理等。

Android 脱壳技术--掌握安卓脱壳思路、勤加练习。

学习逆向需要有一颗坚持和钻研的心,希望对你有帮助!

3D扫描中什么叫做逆向工程

所谓逆向工程是一种产品设计技术再现过程,即对一项目标产品进行逆向分析及研究,从而演绎并得出该产品的处理流程、组织结构、功能特性及技术规格等设计要素,以制作出功能相近,但又不完全一样的产品。逆向工程源于商业及军事领域中的硬件分析。其主要目的是在不能轻易获得必要的生产信息的情况下,直接从成品分析,推导出产品的设计原理。

利用三维扫描技术获取产品的三维模型本身就是逆向工程的一种,当我们得到了物体的三维数据模型后,可以利用3D打印或CNC设备进行复制,也可以利用三维软件对模型进行重新编辑和设计。

0
回帖

Android逆向分析学习路线是怎样的_3D扫描中什么叫做逆向工程 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息