逆向工程的未来在哪里?掌握逆向技能,开创新的职业道路!

news/2025/5/29 16:57:47

前言

随着移动互联网的兴起,“APP”成了99%的互联网企业主要运营的产品,知名的例如“支付宝”、“美团”、“滴滴”、“抖音”等。用户基数的不断变大,安全性也经历着巨大的挑战。

app越来越多,也离不开我们的生活,而安卓逆向也是近几年才兴起的一个行业,市场饱和度不高,发展前景广阔。

随着app的增加安全是一个很大问题,想要解决安全问题就得用到逆向知识,由此逆向岗位会随着app得的增加会越来越多。

如何学习Android逆向

从上面了解到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#这类常规语言一样被量化 。一定要搞清楚学习的路线,入门学什么,初期学什么,后期学什么。要不然真的会越学越累,最后放弃了。

文章来源:https://blog.csdn.net/m0_62167422/article/details/131146866
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:https://dhexx.cn/news/show-4653338.html

相关文章

【P60】JMeter Jtl 文件的 html 格式输出

文章目录 一、汇总报告(Summary Report)参数说明二、准备工作三、测试计划设计四、Jtl 文件的 html 格式输出 一、汇总报告(Summary Report)参数说明 可以查看事务或者取样器在某个时间范围内执行的汇总结果 使用场景&#xff1…

Android 逆向安全行业前景如何?

前言 Android 逆向是指对已经发布的 Android 应用进行分析和研究,通过逆向工程,将 Android 应用中的底层实现原理、业务逻辑、源代码以及恶意行为等等信息进行破解和掌握。逆向工程可以让研究者深入了解 Android 应用的实现细节,从而识别和修…

Open3d 使用marching cubes生成3D模型

使用python 3.9.12 如果没有open3d pip install open3d 需要的头文件: import numpy as np import torch import open3d as o3d from skimage import measure 通过open3d 导入数据 pointso3d.io.read_point_cloud(file) 创建体素网格,大小以最大最小X,…

(七)CSharp-CSharp图解教程版-事件

一、发布者和订阅者 发布者/订阅者模式(publish/subscriber pattern): 很多程序都有一个共同的需求,即当一个特定的程序事件发生时,程序的其他部分可以得到该事件已经发生的通知。 发布者: 发布者类定义…

服务器(裸机)如何安装Centos 7系统

1. 下载系统镜像(可以选择自己对应的版本) http://mirrors.aliyun.com/centos/7/isos/x86_64/2. 制作linux系统U盘 下载UltraISO制作工具并安装 再准备一个空U盘(注意:这个操作会将U盘内数据全部删除操作之前请将U盘内文件备份&…

vue 3 第三十五章:集成 tailwind Css

文章目录 1. tailWind css介绍2. tailWind css基本使用2.1. 步骤一:安装Tailwind CSS2.2. 步骤二:创建配置文件2.3. 步骤三:配置PostCSS2.4. 步骤四:引入样式文件2.5. 步骤五:模板中使用tailWind css 3. 补充3.1. 语法…

C++ 教程(04)---- 注释

晚上好小伙伴们,今天到我们C第四部分的学习——注释。废话不多说,直接上干货!喜欢的可以多点点赞,我就更有动力发博客啦! C 注释 程序的注释是解释性语句,您可以在 C 代码中包含注释,这将提高…

C++:二叉搜索树(非平衡化)

文章目录 一.二叉搜索树(key_value模型)二.二叉搜索树的节点删除三.二叉搜索树类对象其他接口构造函数,析构函数和赋值运算符重载节点插入接口和节点查找接口key_value模型二叉搜索树类模板总体代码 四.未经平衡化的二叉搜索树的缺陷 一.二叉搜索树(key_value模型) 树的节点定…

【Java】表白墙终章-飞流直下的“甜言蜜语”-瀑布流式布局

飞流直下三千尺! 文章目录 【Java】表白墙终章-飞流直下的“甜言蜜语”-瀑布流式布局1. 效果前后对比2. 瀑布流式布局原理思想3. 约定前后端接口4. 后端代码4.1 修改Love类的定义4.2 修改doPost方法4.3 修改save方法4.4 修改doGet方法4.5 修改load方法 5. 前端瀑布流…

App 软件开发《判断7》试卷及答案

App 软件开发《判断7》试卷及答案 文章目录 App 软件开发《判断7》试卷及答案判断题(对的打“√”,错的打“”;共0分)1.ionic JavaScript提供了ion-header-bar指令,用于声明头部固定标题栏。(✔)2&#xff…