1. 什么是逆向工程什么是逆向工程第1章 安卓逆向概论学习目标学完本节希望你能够理解什么是逆向工程能举出几个应用场景。分清逆向工程与正向工程的区别。搞懂静态分析和动态分析是怎么回事。知道常用工具有哪些并动手装好基本环境。阅读提示文中第一次出现的术语如APK、抓包、Hook、加壳、混淆等都会用括号或比喻简单解释工具的具体安装和使用会在后续章节细讲。常见疑问学逆向要不要先会写 Android 应用会一点更好不会也能跟着学边学边补即可。一、逆向工程是什么用一句话说清楚逆向工程Reverse Engineering常简写为RE说白了就是别人做好的东西摆在那儿你既没有设计图也没有源代码只能靠「拆开看、试运行、猜逻辑」把它到底怎么工作的给弄明白。打个比方别人按图纸搭好了一套乐高城堡你拿到的只有成品。逆向要做的就是一块块拆开、观察、记录最后反推出「原来是这样拼的」。所以逆向的本质就四个字拆解 理解。不限于软件硬件、协议、甚至生物样本只要是从「结果」反推「过程」或「配方」的都可以叫逆向。本课程主要讲软件和Android安卓上的逆向后面提到的APKAndroid 的安装包里面装着程序的代码、资源等就是咱们最常拆的对象。记一句逆向 拆解 理解。逆向工程怎么分可以从「分析谁」「怎么分析」「为了啥」三个角度来分按什么分类型通俗理解分析对象软件逆向对着 APP、程序、库文件把逻辑和接口还原出来硬件逆向对着芯片、电路板、固件把电路和结构弄明白协议逆向对着「客户端和服务器怎么说话」的规则把报文格式、加密方式还原出来分析方式静态分析程序不运行只看文件里的代码和结构像看建筑图纸动态分析程序跑起来边跑边看、边改像住进房子里体验应用目的安全研究找漏洞、分析病毒、评估自家软件牢不牢兼容对接对方没文档自己还原协议、写兼容客户端学习复现学别人怎么实现的自己照着做一版实际干活时经常混着用比如先静态看一遍代码理清结构再动态跑起来验证关键逻辑。二、逆向都能用在哪些地方在干啥先有个印象逆向技术本身是中性的用得好可以搞安全、做兼容、学东西。常见用武之地包括领域在干啥软件与协议分析 APP 逻辑、还原接口和通信规则、自己写脚本或第三方客户端安全研究分析病毒木马、挖漏洞、做渗透测试、看自家软件哪里容易被搞硬件与物联网分析芯片、电路板、设备固件做兼容或安全审计游戏改数值、提资源、分析封包注意版权与用户协议AI解析模型结构、提取权重、理解推理流程先说一句法律和道德逆向能力本身是中性的但用在哪、怎么用会涉及法律。对商业软件破解并传播、未授权对他人系统做渗透或挖洞可能违法或违约。学习时建议以开源项目、自家应用、或已获授权的目标为主。各场景下还会再提醒一句「注意」。小案例帮助对号入座小案例 1验证逻辑是怎么做的某付费 APP 只有买了才能用全功能。从技术上说可以逆向看看它是怎么判断「已付费」的比如查本地缓存、问服务器、校验签名。这类分析可以用来做安全评估或加固设计真要破解并传播可能违法要在合法范围内用技术。小案例 2没开放 API自己写脚本调某 APP 只让用官方客户端没公开 API。你可以抓包用工具截获手机/电脑发出的网络请求和响应 逆向客户端把请求的 URL、参数、加密和签名方式还原出来再用 Python 等自己发同样格式的请求实现自动签到、同步数据等。逆向在这里解决的是「协议不开放但我想要兼容」。三、逆向和正向有啥不一样一句话区别维度正向工程逆向工程定义从需求与设计出发编码、编译、测试构建出可运行的系统。从已有系统或产品出发分析、拆解、归纳还原其结构、逻辑与实现方式。本质创造把想法变成可执行的代码或硬件。理解把已有的成品还原成可理解的模型或文档。思维起点「我要做一个什么」「这个东西是怎么做出来的」记一句正向 造轮子逆向 把别人的轮子拆开看。静态分析 vs 动态分析一个看代码一个看运行逆向里最常用的两种办法静态分析 程序不跑只看文件里的代码和结构动态分析 程序跑起来边跑边看、边改。把这两个搞明白逆向基础就稳了。类型在干啥通俗比喻静态分析不运行程序只基于文件内容二进制、反编译代码、资源进行分析。把车熄火打开引擎盖看零件怎么装的。动态分析在程序运行过程中观察和干预下断点、单步、Hook在某个函数被调用时插一脚偷看或改掉参数和返回值、监控网络与文件。把车开起来看仪表盘、听发动机必要时边开边改。区别一句话静态看「代码和结构长啥样」动态看「跑起来时实际发生了啥、数据咋流动」。记一句静态搭骨架动态填血肉——先静态理清结构再动态验证、改行为。本节小结你只要记住这几条就行逆向是啥别人做好的东西你没图纸没源码靠拆开看、试运行、猜逻辑把它怎么工作的弄明白本质就是「拆解 理解」。怎么分按分析对象有软件/硬件/协议逆向按分析方式有静态不跑、看代码和动态跑起来、看行为按目的有安全研究、兼容对接、学习复现。用在哪软件与协议、安全、硬件与物联网、游戏、AI 等不管哪块逆向都在回答——「这东西里头到底咋实现的」注意法律与授权。和正向啥关系正向是造轮子逆向是拆轮子流程反着来实际项目里经常俩一起用。静态和动态静态看代码和结构动态看运行时的真实数据和行为建议「先静态搭骨架再动态填血肉」。本节术语速查术语一句话解释逆向工程对已有成品拆开看、试运行、猜逻辑弄懂它是怎么工作的。静态分析程序不运行只看文件里的代码和结构。动态分析程序跑起来边跑边看、边改下断点、Hook、监控。抓包用工具截获手机/电脑发出的网络请求和响应。Hook在某个函数被调用时插一脚偷看或改掉参数和返回值。APKAndroid 的安装包里面是代码、资源、配置等。本节思考与练习概念用一句话跟别人解释啥叫逆向工程和正向工程有啥根本区别概念静态分析和动态分析分别解决什么问题为啥说「静态搭骨架动态填血肉」应用如果要分析某 APP 的登录请求是怎么加密的你打算按啥步骤、用哪些工具静态/动态/抓包动手查资料装好jadx、Frida或Ghidra用 jadx 打开一个简单 APK试着找到「程序启动时第一个打开的界面」对应哪个类即入口 ActivityAndroid 里一个界面通常对应一个 Activity。做完这一步再继续下一节会更容易跟上。下一节预告下一节讲Android 逆向的历史与发展第二节从早期简单反编译到现在的加固与对抗帮你搞清楚当前工具和技术是怎么来的、为什么要这样用。《网络安全从零到精通全套学习大礼包》96节从入门到精通的全套视频教程免费领取如果你也想通过学网络安全技术去帮助就业和转行我可以把我自己亲自录制的96节 从零基础到精通的视频教程以及配套学习资料无偿分享给你。网络安全学习路线图想要学习 网络安全作为新手一定要先按照路线图学习方向不对努力白费。对于从来没有接触过网络安全的同学我帮大家准备了从零基础到精通学习成长路线图以及学习规划。可以说是最科学最系统的学习路线大家跟着这个路线图学习准没错。配套实战项目/源码所有视频教程所涉及的实战项目和项目源码学习电子书籍学习网络安全必看的书籍和文章的PDF市面上网络安全书籍确实太多了这些是我精选出来的面试真题/经验以上资料如何领取