一.安卓逆向基础(建议1周)

1. 学习安卓逆向第一步必须先把环境搭建好,这是你学习安卓逆向的开始,环境搭建好后表示正式迈入安卓逆向。在环境安装的工程中会遇到很多细节上的问题。

2. 第二步就是要了解我们要分析的是什么文件,很多0基础的同学都不知道安卓逆向分析的什么文件。我们要分析的是应用程序或者安装包(就是.apk文件),了解apk是怎么生成的以及如何安装到我们的手机里面,apk是怎么运行的,也是我们探讨的内容。

3. 第三步如何逆向分析.apk文件,掌握apk反编译及回编译,完成这个操作使用的工具是apktool。

一.Java层逆向(建议3周)

1. 掌握Java语法基础,达到能看懂Java代码。

2. 了解smali语法,能看懂smali代码。

3. 掌握逆向分析apk中常用的方法和技巧。

二.Native层逆向(建议4周)

1. 了解安卓操作系统和四大组件。

2. 了解NDK开发流程,自己编写案例练习。

3. 掌握常用ARM汇编指令,达到能看懂ARM汇编指令。

4. 掌握ida工具的使用,熟练使用ida进行各种操作

三.APK保护策略(建议1周)

1. 了解Java代码混淆、资源混淆

2. 掌握签名验证、文件校验、模拟器检测

3. 本地验证、网络验证

4. 案例练习

四.反调试与反-反调试(建议1周)

1. 掌握常用反调试方法及过反调试技巧,比如关键文件检测、调试端口检测、进程名称检测、防附加、轮训检测TracerPid值、时间检测、信号检测等反调试。

2. 掌握IDA过反调试思路

3. 案例练习。

五.HOOK框架(建议2周)

1. 掌握HOOK插件开发。

2. 掌握Xposed、Substrate、Fridad等框架。

3. 案例练习。

六.常见加密算法(建议2周)

1. 掌握编码算法、消息摘要算法、对称加密算法(Java加密与解密的艺术)。

2. 掌握非对称加密算法、数字签名算法。

七.协议加解密分析(建议4周)

1. 了解客户端与服务器如何进行交互的(OSI模型、TCP/IP模型)。

2. 掌握常用的抓包工具及环境配置,HTTP协议与HTTPS安全协议,数字证书、SSL证书检测(计算机网络与通信、信息安全工程师)。

3. 案例练习。

八.文件结构(建议2周)

1. 掌握DEX、ELF、XML、ARSC等文件结构。

2. 自编写文件解析工具。

九.系统源码分析(建议2周)

1. 了解安卓操作系统启动流程、Zygote启动流程。

2. 掌握Dalvik虚拟机、ART虚拟机、SO加载流程。

十.加固与脱壳(建议4周)

1. 了解dex文件整体加密、Dex代码抽取加密。

2. 了解so文件整体加密、函数加密、区段加密、加壳、混淆。

3. 分析通用脱壳机的实现原理及应用场景。

4. 了解主流加固特点及对应的脱壳技巧。

十一.按键+内存(建议2周)

1. 环境搭建,搜索内存数据,对内存数据进行读写操作。

2. 市面上的模拟器辅助,有一部分就是通过搜索内存数据来找特征码,因为游戏中有的数据是不会发生变化的,我们选择这部分不变的数据作为特征码。通过特征码来搜索内存数据,找到特征码的地址,再通过特征码的地址+距离(偏移)来实现定位。

3. 案例练习。

十二.篡改内存数据+注入技术+HOOK技术(建议4周)

1. 掌握模块基地址获取、非注入式篡改数据、注入式篡改内存数据。

2. 掌握注入技术原理(Ptrace注入、Zygote注入、静态感染ELF文件注入)。

3. 掌握HOOK技术的实质,就是对函数进行重写(Inline HOOK、异常HOOK、导入表HOOK)。

4. 掌握C++游戏逆向分析技巧。

5. 案例练习。

十三.Lua游戏(建议4周)

1. 掌握Lua游戏逆向分析流程,第一步查看lib文件夹的so文件就可以确定该游戏是不是Lua游戏,第二步如果是Lua游戏就在assets文件夹下查找lua脚本。

2. Lua游戏功能实现都在Lua脚本,重点分析Lua脚本(Lua明文、LuaC、Luajit)。

3. Lua文件加密与加密,内存dump Lua脚本,HOOK插件开发。

4. Cocos2dx-Lua引擎源码分析

5. 案例练习

十四.Unity 3D游戏(建议4周)

1. 掌握Unity 3D游戏逆向分析流程,第一步查看lib文件下的so文件就可以确定该游戏是不是Unity 3D游戏,第二步如果是Unity 3D游戏就在assets文件下查找相应的文件。

2. Unity 3D有两种框架(MONO框架、IL2CPP框架),MONO框架对应的游戏逻辑实现在dll文件,IL2CPP框架对应的游戏逻辑实现在libil2cpp.so文件。

3. Unity 3D引擎源码分析。

4. DLL文件处理,DLL混淆,DLL隐藏,DLL加密。

5. 内存dump dll文件,HOOK插件开发,注入+HOOK。

6. 案例练习

十五.游戏协议(建议2周)

1. WPE环境搭建,拦截发送包和接收包,多截包对比分析封包数据。

2. 分析喊话功能,找出加密规律,各种游戏功能封包拦截分析。

3. 案例练习。

十六. 学习方法

1. 看一遍教程后自己实战操作,养成做笔记的习惯。

2. 注重基础,一定要把Java层和Native层搞懂。

3. 学习中不要纠结细节,要学会抓大放小。

4. 学完后自己画脑图,回顾学习的过程中那些不理解在花时间去看,此过程就是查漏补缺。

学习逆向有什么问题可以咨询这个qq:3251901516

apk逆向思路_安卓逆向和手游辅助学习路线相关推荐

  1. 20145307陈俊达_安卓逆向分析_Xposed的hook技术研究

    20145307陈俊达_安卓逆向分析_Xposed的hook技术研究 引言 其实这份我早就想写了,xposed这个东西我在安卓SDK 4.4.4的时候就在玩了,root后安装架构,起初是为了实现一些屌 ...

  2. 手游辅助制作原理和学习思路

    手游辅助制作原理和学习思路 随着网络游戏不断发展 越来越多的人从事手游开发,现在的游戏公司为了能更好的有市场,不断提高游戏质量和服务,手游辅助由此诞生. 很多人都想做手游辅助,其中的原理大家都知道. ...

  3. 【Unity 2017.3 制作安卓2D单机手游】2.这就开始做

    这就开始做 关于Unity的介绍以及如何创建项目,我就不多说了,因为百度很容易.现在就开始直接做,因为我也是要边做边学,所以必定会有很多不足.大佬们觉得哪里不对,欢迎指正! 开发环境 windows1 ...

  4. 手游传奇有挂吗_传奇手游辅助工具

    传奇手游辅助工具是一款延续经典的传奇之作,传奇手游辅助工具游戏酷炫的技能效果特别棒,传奇手游辅助工具聊天系统也很完善了,还分了世界频道帮会频道,更端游体验一般,人物设计很非常用心,是一场良心作品,强烈 ...

  5. 华为手机助手安卓版_lol手游助手IOS版手机下载_lol手游助手安卓版下载

    lol手游助手IOS版是一款非常给力的英雄联盟手游辅助软件,这款lol手游助手IOS版有着非常强大的功能,安装方法非常的简单,上手也很轻松,感兴趣的玩家赶快下载来试一试吧! lol手游助手IOS版游戏 ...

  6. 权力的游戏刷声望辅助【多开辅助】权力的游戏手游辅助挂机刷石油资源采集脚本

    权力的游戏刷声望辅助[多开辅助]养小号无刷资源无限金币脚本分享 <权力的游戏:凛冬将至>手游据说很快就要在6月份公测啦,权力的游戏手游高度还原维斯特洛大陆,将<权力的游戏>IP ...

  7. uiautomator2+ tesseract 智能识别文字实现手游辅助外挂,打怪刷装备快人一步

    目录 一.背景 二.需求分解 三.脚本开发实践 1.tesseract 安装及测试 2.python使用Tesseract库识别文字 3.构建定时任务,定时刷怪 4.最终效果 一.背景 先交代下背景, ...

  8. 分享一个蓝月传奇手游辅助脚本,想回味传奇游戏又不想费太多时间练级的可以试试

    分享一个蓝月传奇手游辅助脚本,想回味传奇游戏又不想费太多时间练级的可以试试 蓝月传奇手游这个游戏等级非常重要,用工具红手指云手机来多开.自动练级完成任务,这样能够让你快速形成等级优势,在别人睡觉的时候 ...

  9. 荒野日记辅助挂机攻略,手游辅助好用脚本

    荒野日记辅助挂机攻略,手游辅助好用脚本 红手指相当于一台云端运行的手机,同时内有千款免费辅助脚本(主流游戏都有脚本),可远程操纵可 24h离线运行,免除你流量.电量不足的烦恼,即使你下线,app仍然可 ...

最新文章

  1. 技巧:两部解决U盘安装windows 7
  2. jQuery autoComplete 样式
  3. 新项目入手-》解决方案之一
  4. 三个单词说的英语口语
  5. C++中的逻辑操作符重载
  6. Core Data(3)- 使用绑定
  7. P3243 [HNOI2015]菜肴制作(拓扑排序、贪心)
  8. clickhouse 同步 mysql数据
  9. 天津市全国计算机等级报名时间,天津市2018年全国计算机等级考试报名时间及地点...
  10. 运行github上的Vue项目
  11. 第12章类和动态内存分配
  12. OpenCV-绘制标记符cv::drawMarker
  13. python前端用什么写_Python 竟然也可以写网页前端了
  14. 卸载oracle11g全部,完全卸载oracle11g步骤:
  15. Linux系统运维-Telnet命令
  16. 回收手机一般用什么软件测试,回收二手手机怎么进行硬件检测?
  17. Java零基础学习021-API进阶第二天
  18. DNA 9. 揭秘肿瘤异质性与TMB, MSI之间的相关性
  19. 方舟服务器怎么去地牢拿芯片,方舟生存进化怎么拿芯片
  20. 一文搞定Centos7.x安装ELK的7.6.2版本以及Cerebro集群监控

热门文章

  1. Linux内存管理:一个故事看懂CPU内存管理技术
  2. X Window Bitmaps And Pixmaps
  3. C语言使用函数参数传递中的省略号:va_list, va_start, va_arg, va_end
  4. Java编写编译native方法
  5. 人工智能行业有哪些岗位_电力人有哪些岗位将被人工智能取代?
  6. c++图的创建_「PS抠图系列13」通道混合器
  7. Ubuntu20.04搭建ftp服务(亲测通过)
  8. numpy基础笔记01
  9. python基础列表(四)
  10. visual c语言编译运行结果,Visual Studio 2015编译运行C语言文件问题小结