REVERSE ENGINEERING
小肩膀教育BUILD YOUR EXPERTISE.++
课程介绍
课程年份与状态按最新课表维护,具体学习安排、服务与学员权益请与老师确认。
按阶段组织的综合逆向课程,从 Python、JavaScript、Java、C 和 Objective-C 等语言基础起步,逐步进入网络爬虫、JS 分析、安卓与 iOS 逆向。适合希望建立跨平台知识结构、并按主题反复查阅的学习者。
基础与应用部分覆盖 HTTP、密码学、Frida、抓包、Scrapy/Twisted、数据库、RPA 和小程序;进阶部分延伸到 AST 混淆还原、JS Hook 与补环境、验证码识别、NDK/JNI、ARM 汇编、安卓 SO 与 iOS 分析。
更深入的专题还包括 Chromium 开发、Unidbg 模拟执行、AOSP 系统定制及加密算法实现分析。目录保留各阶段的原始组织,便于沿学习路线推进,也可按当前研究问题检索相应章节。实践限于自有样本和明确授权的环境。
课程亮点
- 语言基础与平台实践分阶段衔接,覆盖 Python、JS、Java、C 和 Objective-C。
- 爬虫方向包含 Scrapy/Twisted、数据库、RPA、Docker 与分布式开发。
- JS 方向涵盖 AST、Hook、混淆还原、补环境和 Chromium 开发。
- 安卓方向串联 Frida、NDK/JNI、ARM、SO 分析、Unidbg 与系统定制。
- iOS 方向结合 Objective-C、密码学、关键代码定位和运行时分析。
- 补充小程序、图像识别与算法实现等专题,便于跨方向查阅。
课程目录
39 个章节 · 1446 个 MP4 视频标题。目录来自课程视频文件名,已去掉 .mp4 扩展名并按自然序排列;子文件夹作为章节,多层子目录保留层级名称。仅展示目录,不提供视频播放。
已按本地视频目录整理更新:2026-11-07
0101.阶段一 / 01.Python基础
24 条
- 00.逆向工程师培训班介绍
- 01.Python解释器安装
- 02.Pycharm安装与配置
- 03.Python编译运行流程
- 04.Python基本数据类型
- 05.循环控制语句
- 06.Python的函数
- 07.Python的错误处理
- 08.Python的类
- 09.Python类的基本特性
- 10.enumerate和zip
- 11.Python文件读写
- 12.Python导包
- 13.with的原理
- 14.call和参数
- 15.Python常用装饰器
- 16.自制装饰器
- 17.Python多线程
- 18.多线程上锁
- 19.进程和进程池
- 20.Python协程异步
- 21.作业-学生管理系统
- 22.作业讲解
- 23.多进程代理数据共享
0201.阶段一 / 02.网络爬虫入门
20 条
- 01.网络爬虫基本原理
- 02.开发者工具的使用
- 03.requests请求库基础
- 04.requests请求库进阶
- 05.httpx协议2.0和异步爬虫
- 06.aiohttp异步请求库
- 07.requests、httpx、aiohttp性能比较
- 08.bs4解析库
- 09.xpath查找语法
- 10.正则表达式匹配
- 11.文字类爬虫案例
- 12.图片类爬虫案例
- 13.音乐类爬虫案例
- 14.视频类爬虫案例
- 15.POST英数验证码案例
- 16.爬虫案例-wy新闻
- 17.爬虫案例-宏信zq
- 18.爬虫案例-免费代理和验证
- 19.爬虫案例-sx僧
- 20.爬虫案例-sx僧2
0301.阶段一 / 03.JavaScript基础
139 条
- 01.为什么要学JavaScript
- 02.JavaScript介绍
- 03.JS逆向需要学习哪些内容
- 04.Windows系统(注意事项)
- 05.Windows系统(cmd)
- 06.Windows系统(环境变量)
- 07.WebStorm与Node.js的安装
- 08.第一个JS程序
- 09.编程语言共性
- 10.变量
- 11.常量
- 12.注释_关键字_保留字_标识符
- 13.数据类型(number和bigint)
- 14.进制
- 15.字符串
- 16.其他原始类型
- 17.显式类型转换
- 18.算术运算符
- 19.算术运算符练习
- 20.自增和自减
- 21.自增和自减练习
- 22.赋值运算符
- 23.关系运算符
- 24.逻辑运符
- 25.三元运算符
- 26.隐式类型转换
- 27.if语句
- 28.if语句练习
- 29.switch语句
- 30.while循环
- 31.while循环练习
- 32.for循环
- 33.for循环注意事项
- 34.循环嵌套
- 35.常见的循环控制方法(break_continue_return)
- 36.函数介绍
- 37.函数定义的几种方式
- 38.函数的参数
- 39.函数的返回值
- 40.变量作用域
- 41.块级作用域
- 42.函数的作用域
- 43.程序调试
- 44.作用域链
- 45.作用域练习
- 46.匿名函数
- 47.对象介绍1
- 48.对象介绍2
- 49.对象字面量
- 50.对象练习
- 51.对象属性的遍历
- 52.对象的方法
- 53.对象的解构
- 54.原始类型与对象类型的区别
- 55.对象作为函数参数
- 56.函数传参机制
- 57.对象作为函数返回值
- 58.window对象
- 59.vm2的安装和使用
- 60.如何构建纯净的V8环境
- 61.globalThis
- 62.this
- 63.重点练习
- 64.函数的方法(call和apply)
- 65.函数的方法(bind)
- 66.严格模式
- 67.面向对象介绍
- 68.类的属性与方法的声明和使用
- 69.构造函数
- 70.封装
- 71.继承
- 72.重写Object的toString方法
- 73.重写构造函数
- 74.多态
- 75.原型对象
- 76.原型链
- 77.旧类
- 78.对象的属性描述对象
- 79.Object.defineProperty
- 80.getter和setter
- 81.Object.create
- 82.Object.setPrototypeOf
- 83.Object的其他方法
- 84.可选链操作符
- 85.数组
- 86.数组的常用方法1
- 87.数组的常用方法2
- 88.练习(数组去重)
- 89.高阶函数
- 90.数组遍历1
- 91.数组遍历2
- 92.数组作为函数参数和返回值
- 93.arguments
- 94.可变参数和展开运算符
- 95.数组解构
- 96.数组练习
- 97.浅拷贝与深拷贝
- 98.对象序列化
- 99.异常处理
- 100.内置对象(Math_Date)
- 101.内置对象(Map)
- 102.内置对象(Set)
- 103.String的常用方法1
- 104.正则表达式的简单使用
- 105.正则表达式(修饰符_量词)
- 106.正则表达式(元字符)
- 107.正则表达式进阶
- 108.字符串的常用方法2
- 109.模块化编程
- 110.HTML介绍
- 111.HTML表单
- 112.简易后台的搭建
- 113.CSS
- 114.图片切片混淆原理
- 115.图片切片混淆实现(css背景定位)
- 116.图片切片混淆实现(canvas)
- 117.JS代码在网页中的编写位置
- 118.DOM(文档节点)
- 119.DOM(元素节点的获取和创建)
- 120.DOM(元素节点的属性和方法)
- 121.DOM(文本节点和属性节点)
- 122.事件
- 123.事件练习
- 124.事件对象
- 125.事件冒泡
- 126.事件委派
- 127.BOM
- 128.setTimeout与setInterval
- 129.jQuery的使用1
- 130.jQuery的使用2
- 131.原生ajax发送GET请求
- 132.原生ajax发送POST请求
- 133.Promise的作用
- 134.Promise的使用
- 135.Promise解决回调地狱
- 136.jQuery中的ajax
- 137.fetch
- 138.axios
- 139.jsonp跨域请求
0401.阶段一 / 04.密码学JS
25 条
- 01.密码学介绍
- 02.字符编码
- 03.位运算符
- 04.Hex编码
- 05.Base64编码
- 06.消息摘要算法
- 07.JS中的MD5
- 08.JS中的SHA
- 09.JS中的HMAC
- 10.JS中的SM3
- 11.CryptoJS(字符串解析)
- 12.对称加密算法
- 13.加密模式和填充方式
- 14.JS中的DES
- 15.JS中的DESede
- 16.JS中的AES
- 17.对称加密算法注意事项
- 18.CryptoJS自动生成key_iv_salt
- 19.CryptoJS(其他算法)
- 20.SM4
- 21.RSA介绍
- 22.RSA常见加密库的使用
- 23.RSA的填充
- 24.JS数字签名算法库的使用
- 25.SM2算法库的使用
0501.阶段一 / 05.JS逆向入门
31 条
- 01.抓包工具的分类
- 02.开发者工具抓包的缺陷
- 03.Charles的安装与配置
- 04.Charles抓包Python数据包
- 05.Proxifier抓取软件数据包
- 06.开发者工具的使用
- 07.Elements面板
- 08.Network面板
- 09.关键代码快速定位(搜索+普通断点+callstack)
- 10.关键代码快速定位(xhr断点+callstack)
- 11.关键代码快速定位(initiator+callstack)
- 12.关键代码快速定位(事件断点)
- 13.关键代码快速定位(debugger和条件断点)
- 14.关键代码快速定位(jshook)
- 15.JS逆向实战(y龙贷)
- 16.JS逆向实战(xs盟)
- 17.JS逆向实战(hl创投)
- 18.JS逆向实战(wxgz平台)
- 19.JS逆向实战(某交易平台)
- 20.JS逆向实战(ddky)
- 21.JS逆向实战(xl微博)
- 22.JS逆向实战(d信_sm2)
- 23.JS逆向实战(某89邮箱)
- 24.JS逆向实战(某39邮箱)
- 25.JS逆向实战(F天下)
- 26.JS逆向实战(qd掌柜_eval)
- 27.JS逆向实战(qd掌柜_sm34)
- 28.JS逆向实战(qd掌柜_sm2_整体抠webpack)
- 29.JS逆向实战(qd掌柜_sm2_分模块抠webpack)
- 30.作业讲解(某游戏网站JS逆向)
- 31.作业讲解(南海xx)
0601.阶段一 / 06.密码学Python
17 条
- 01.Python消息摘要算法
- 02.AES算法和五种模式实现
- 03.Python编写RSA算法
- 04.Python编写DES-DES3算法
- 05.Python编写RC4流加密算法
- 06.Python数字签名算法
- 07.Python实现hmac算法
- 08.Python实现国密算法SM2
- 09.Python实现国密算法SM4
- 10.JS逆向案例-sha256和验证码
- 11.JS逆向案例-DES加密
- 12.JS逆向案例-AES加密
- 13.JS逆向案例-RSA加密
- 14.JS逆向案例-MD5
- 15.JS逆向案例-AES
- 16.Python实现国密算法SM3
- 17.JS逆向案例-3DES
0701.阶段一 / 07.Java语言详解
127 条
- 001.JDK的安装与配置
- 002.Java语言特点
- 003.第1个Java程序
- 004.Java语言的基础组成
- 005.注释
- 006.IDEA的安装与配置
- 007.转义字符
- 008.Java(变量)
- 009.Java(数据类型)
- 010.Java(整数类型)
- 011.Java(浮点类型)
- 012.Java(字符型)
- 013.Java(布尔型)
- 014.Java(自动类型转换)
- 015.Java(强制类型转换)
- 016.Java(关键字和保留字)
- 017.Java(标识符)
- 018.Java(常量)
- 019.Java(算术运算符1)
- 020.Java(算术运算符2)
- 021.Java(算术运算符练习)
- 022.Java(赋值运算符)
- 023.Java(关系运算符)
- 024.Java(逻辑运算符)
- 025.Java(逻辑运算符练习)
- 026.Java(三元运算符)
- 027.Java(运算符优先级)
- 028.Java(进制与位运算符)
- 029.Java(进制转换)
- 030.Java(Hex编码)
- 031.Java(if语句)
- 032.Java(switch语句)
- 033.Java(while循环)
- 034.Java(for循环)
- 035.Java(break与continue)
- 036.Java(数组)
- 037.Java(数组遍历)
- 038.Java(值传递与引用传递)
- 039.Java(二维数组)
- 040.Java(数组练习)
- 041.Java(10进制转16进制代码实现)
- 042.Java(帮助文档的查阅)
- 043.Java(类和对象)
- 044.Java(对象创建过程)
- 045.Java(方法的定义和调用)
- 046.Java(方法的返回值和参数)
- 047.Java(方法传参机制)
- 048.Java(static)
- 049.Java(练习1)
- 050.Java(练习2)
- 051.Java(重载)
- 052.Java(可变参数)
- 053.Java(构造器)
- 054.Java(变量作用域)
- 055.Java(this)
- 056.Java(包)
- 057.Java(访问修饰符)
- 058.Java(封装)
- 059.Java(继承)
- 060.Java(父类构造器)
- 061.Java(super)
- 062.Java(继承练习)
- 063.Java(方法重写)
- 064.Java(代码块)
- 065.Java(多态1)
- 066.Java(多态2)
- 067.Java(动态绑定机制)
- 068.Java(equals)
- 069.Java(toString)
- 070.Java(final)
- 071.Java(抽象类)
- 072.Java(什么是接口)
- 073.Java(接口细节)
- 074.Java(成员内部类)
- 075.Java(静态内部类)
- 076.Java(局部内部类)
- 077.Java(匿名内部类)
- 078.Java(枚举类)
- 079.Java(枚举类相关方法)
- 080.Java(注解)
- 081.Java(try-catch)
- 082.Java(throws与throw)
- 083.Java(包装类)
- 084.Java(字符串)
- 085.Java(字符串方法)
- 086.Java(字符串编码)
- 087.Java(StringBuffer)
- 088.Java(Arrays.sort)
- 089.Java(Arrays和System)
- 090.Java(Biglnteger)
- 091.集合
- 092.集合(Collection)
- 093.集合(List)
- 094.集合(List的遍历)
- 095.集合(ArrayList)
- 096.集合(Vector)
- 097.集合(双向链表)
- 098.集合(HashSet)
- 099.集合(数组链表)
- 100.集合(HashSet练习)
- 101.集合(LinkedHashSet)
- 102.集合(Map接口的特点)
- 103.集合(Map接口常用方法)
- 104.集合(HashMap的遍历1)
- 105.集合(HashMap的遍历2)
- 106.集合(HashMap的遍历3)
- 107.集合(Hashtable)
- 108.集合(Properties)
- 109.集合(TreeSet)
- 110.集合(TreeMap)
- 111.集合(Collections工具类)
- 112.集合使用的选择
- 113.泛型入门
- 114.泛型细节
- 115.自定义泛型类
- 116.自定义泛型接口
- 117.自定义泛型方法
- 118.泛型通配符
- 119.Properties读配置文件
- 120.反射(快速入门)
- 121.反射(Class的获取方式)
- 122.反射(哪些有Class类对象)
- 123.反射创建对象
- 124.反射操作属性
- 125.反射操作方法
- 126.反射(Class类对象的其他方法)
- 127.反射(打印类的结构信息)
0801.阶段一 / 08.安卓基础
30 条
- 01.安卓逆向设备推荐
- 02.AndroidStudio的安装与配置
- 03.刷机前置知识
- 04.刷机详解1
- 05.刷机详解2
- 06.pixel6刷机注意事项
- 07.pixel6刷入KernelSU
- 08.jadx的使用
- 09.GDA的使用
- 10.jeb的使用
- 11.adb工作原理
- 12.adb常用命令
- 13.查看包名的几种方式
- 14.logcat
- 15.安卓历史版本
- 16.apk中的常见文件
- 17.安卓系统架构
- 18.Linux常用命令1
- 19.Linux常用命令2
- 20.Linux常用命令3
- 21.Linux常用命令4
- 22.Linux权限
- 23.安卓常见目录
- 24.安卓开发入门
- 25.AndroidStudio工程目录结构
- 26.安卓程序执行入口
- 27.硬编码的定位
- 28.Button_Log
- 29.Toast_EditText
- 30.编译release版本的app
0901.阶段一 / 09.密码学Java
16 条
- 01.Hex编码详解
- 02.Base64编码
- 03.MD5算法
- 04.SHA算法
- 05.MAC算法
- 06.DES算法
- 07.DES算法细节
- 08.DESede算法
- 09.AES算法
- 10.关于填充方式的补充
- 11.RSA加解密
- 12.RSA细节
- 13.RSA密钥的转换
- 14.RSA_Hex加解密
- 15.多种加密算法的常见结合套路
- 16.数字签名算法
1001.阶段一 / 10.安卓逆向入门
26 条
- 01.安卓逆向案例1(分析)
- 02.frida环境搭建
- 03.frida-server的配置
- 04.frida-server配置常见的几个问题
- 05.安卓逆向案例1(hook)
- 06.安卓逆向案例1(主动调用)
- 07.安卓逆向案例1(翻译)
- 08.hook与frida介绍
- 09.安卓逆向案例2(hook)
- 10.安卓逆向案例2(知识点扩充)
- 11.安卓逆向案例2(抠代码)
- 12.常规WiFi代理抓包
- 13.Charles+socksdroid抓取HTTP数据
- 14.Charles+socksdroid抓取HTTPS数据
- 15.HttpCanary的安装与配置
- 16.lamda的安装与使用
- 17.定制系统的自动抓包功能使用
- 18.eCapture的使用
- 19.安卓逆向案例3(分析)
- 20.安卓逆向案例3(hook)
- 21.安卓逆向案例3(算法复现)
- 22.安卓逆向案例3(协议复现_Java)
- 23.安卓逆向案例3(协议复现_Python)
- 24.pyexecjs的中文问题
- 25.安卓逆向案例3(协议复现_Node.js)
- 26.安卓逆向案例3(协议复现_易语言)
1102.阶段二 / 11.滑块处理入门
18 条
- 01.JS逆向滑块的基本思路
- 02.51滑块图片请求
- 03.51滑块图片混淆还原思路
- 04.51滑块图片混淆还原
- 05.51滑块模拟发包
- 06.51滑块全流程
- 07.FK滑块算法分析
- 08.FK滑块图片请求
- 09.FK滑块轨迹vi生成
- 10.FK滑块轨迹发包
- 11.FK滑块轨迹伪造
- 12.YP滑块算法分析
- 13.YP滑块设备指纹算法
- 14.YP滑块加密算法还原
- 15.YP滑块图片请求
- 16.YP滑块轨迹伪造
- 17.YP滑块py数组传参js
- 18.YP滑块轨迹发包
1202.阶段二 / 12.JS混淆原理
12 条
- 01.JS混淆介绍
- 02.十六进制与unicode字符串
- 03.ASCII码混淆
- 04.字符串常量加密
- 05.数值常量加密
- 06.数组混淆
- 07.数组乱序
- 08.花指令
- 09.jsfuck
- 10.流程平坦化
- 11.逗号表达式混淆
- 12.eval加密_作业
1302.阶段二 / 13.JS逆向实战
16 条
- 01.eval与Function
- 02.常见debugger的几种形式
- 03.无限debugger的绕过
- 04.jh图床sign参数算法
- 05.技巧_快速定位关键代码
- 06.某娱乐场data参数算法
- 07.某娱乐场d参数算法1
- 08.某娱乐场d参数算法2
- 09.某娱乐场d参数算法3
- 10.某混淆案例逆向1
- 11.某混淆案例逆向2
- 12.某混淆案例逆向
- 13.某webpack分析与处理
- 14.自动抠webpack演示
- 15.某证券websocket逆向
- 16.某某音乐下载
1402.阶段二 / 14.各类安卓app逆向
74 条
- 01.app算法分析流程
- 02.app的简单防护(字符串加密)
- 03.app的简单防护(反射调用相关类)
- 04.关键代码快速定位1
- 05.关键代码快速定位2
- 06.关键代码快速定位3
- 07.关键代码快速定位4
- 08.关键代码快速定位5
- 09.关键代码快速定位6
- 10.关键代码快速定位7
- 11.关键代码快速定位8
- 12.关键代码快速定位9
- 13.关键代码快速定位10
- 14.关键代码快速定位11
- 15.关键代码快速定位12
- 16.关键代码快速定位13
- 17.定制系统的代码定位功能使用1
- 18.定制系统的代码定位功能使用2
- 19.fridaAPI(静态方法和实例方法的hook)
- 20.fridaAPI(函数参数和返回值的修改)
- 21.fridaAPI(构造方法的hook)
- 22.fridaAPI(对象参数的构造与修改)
- 23.fridaAPI(HashMap的打印)
- 24.fridaAPI(重载方法的hook)
- 25.fridaAPI(hook所有重载方法)
- 26.fridaAPI(主动调用Java函数)
- 27.fridaAPI(获取和修改类的字段)
- 28.fridaAPI(内部类与匿名类的hook)
- 29.fridaAPI(枚举所有已加载的类与枚举类的所有方法)
- 30.fridaAPI(hook类的所有方法)
- 31.baksmali与smali的使用
- 32.fridaAPI(dex注入)
- 33.fridaAPI(写文件_sd卡权限)
- 34.fridaAPI(Java.cast)
- 35.fridaAPI(Java.array)
- 36.fridaAPI(Object数组的构建_可变参数)
- 37.fridaAPI(Arraylist的主动调用)
- 38.让hook只在指定函数内生效
- 39.hook定位接口的实现类
- 40.hook定位抽象类的实现类
- 41.frida各种选项介绍
- 42.frida连接多设备
- 43.脚本开发(工具函数的封装)
- 44.脚本开发(MD5算法通杀hook)
- 45.脚本开发(SHA算法通杀hook)
- 46.脚本开发(MAC算法通杀hook)
- 47.脚本开发(DES算法通杀hook)
- 48.脚本开发(3DES算法通杀hook)
- 49.脚本开发(AES算法的通杀hook)
- 50.脚本开发(RSA算法的通杀hook)
- 51.脚本开发(数字签名算法通杀hook)
- 52.自吐算法演示
- 53.某app逆向实战(不脱壳逆向算法)
- 54.某app逆向实战(不脱壳去除更新弹窗)
- 55.某app逆向实战(去除强制更新)
- 56.某app逆向实战(去除更新弹窗)
- 57.某app逆向实战(提交数据乱码的定位方法)
- 58.某app逆向实战(非标准算法还原)
- 59.某app逆向实战(不脱壳绕过证书检测)
- 60.某app逆向实战(so初探)
- 61.混淆函数的hook方法
- 62.H5的app逆向实战(远程调试)
- 63.H5的app逆向实战(JS与Java交互)
- 64.frida的Java层hook替代方案(打印所有被调用函数和参数)
- 65.frida的Python库使用(包名附加)
- 66.frida的Python库使用(pid附加)
- 67.frida的Python库使用(spawn方式启动)
- 68.frida的Python库使用(连接非标准端口和多个设备)
- 69.frida与Python的交互(send)
- 70.frida与Python的交互(recv)
- 71.frida的rpc远程调用
- 72.frida算法转发1
- 73.frida算法转发2
- 74.frida算法转发3
1502.阶段二 / 15.Scrapy框架与Twisted
22 条
- 01.第一个scrapy项目
- 02.Scrapy体系架构概述
- 03.Scrapy体系源码探究
- 04.Scrapy可用命令
- 05.Scrapy爬取某瓣读书
- 06.Scrapy管道pipeline
- 07.Scrapy管道的内置函数
- 08.Scrapy的信号机制
- 09.Scrapy随机UA中间件
- 10.Scrapy中间件process_request返回
- 11.Scrapy中间件process_response返回
- 12.Scrapy的Request
- 13.Scrapy三种POST发送形式
- 14.Twisted直接运行爬虫
- 15.Twisted邮件提醒
- 16.scrapy暂停和重启(官方文档)
- 17.自制暂停重启功能
- 18.crawl模板
- 19.用twisted写爬虫
- 20.scrapy爬取名言网站
- 21.scrapy爬取名言网站2
- 22.scrapy日志设置
1602.阶段二 / 16.各类数据库使用
34 条
- 01.sqlite数据库
- 02.tinydb数据库
- 03.mysql安装配置
- 04.mysql的table
- 05.mysql增删改查
- 06.mysql数值类型
- 07.mysql字符串类型
- 08.mysql日期类型
- 09.mysql数据库引擎
- 10.mysql事务操作
- 11.多线程操作pymysql
- 12.子查询
- 13.pymysql操作数据库
- 14.sqlAlchemy操作mysql
- 15.多表查询-内外连接
- 16.多线程数据库连接池
- 17.sqlalchemy外键多表查询
- 18.sqlalchemy的mysql存储JSON
- 19.redis数据库安装使用
- 20.redis常用数据类型
- 21.redis设置键过期时间
- 22.redis事务
- 23.redis消息发布订阅机制
- 24.redis持久化之RDB
- 25.redis持久化之AOF
- 26.python操作redis连接池
- 27.python操作pipeline开启事务
- 28.redis主从复制
- 29.python实现redis发布订阅
- 30.mongodb安装配置
- 31.mongodb增删改查
- 32.mongodb的ID内涵
- 33.mongodb的查询
- 34.python操作mongodb
1702.阶段二 / 17.RPA机器人流程自动化
23 条
- 01.RPA机器人流程自动化介绍
- 02.影刀RPA安装介绍
- 03.影刀RPA爬取百度
- 04.影刀RPA爬取豆瓣读书
- 05.影刀RPA爬取某证券
- 06.RPA获取反爬网站cookie
- 07.RPA万能转发Python后端
- 08.影刀RPA编写Python模块
- 09.影刀RPA手机自动化环境配置
- 10.影刀RPA自动刷某音视频
- 11.python-uiautomator2环境配置
- 12.weditor定位和使用
- 13.seleniumEdge配置
- 14.selenium过检测
- 15.selenium过某宝滑块
- 16.selenium自动化已经存在的浏览器
- 17.playwright过检测
- 18.playwright移动设备仿真
- 19.playwright多page爬取
- 20.playwright异步并发多浏览器
- 21.大漠dll_python环境配置
- 22.大漠绑定测试工具
- 23.Python大漠图色键鼠调用
1802.阶段二 / 18.小程序逆向
29 条
- 01.小程序开发配置
- 02.小程序项目文件
- 03.小程序核心文件
- 04.小程序页面入门
- 05.微信小程序的跳转实现
- 06.微信小程序循环判断语句
- 07.微信小程序数据绑定
- 08.微信小程序事件绑定
- 09.微信小程序Python后端
- 10.微信小程序构造GET和POST
- 11.微信小程序PC端WX提包反编译
- 12.某足球小程序编译修复和抓包请求
- 13.修复企某查小程序编译错误
- 14.Hook微信小程序授权码原理
- 15.Hook企某查小程序过授权码
- 16.修复某丰快递小程序编译错误
- 17.Hook过某快递授权码
- 18.分包丢失修复
- 19.某讯新闻小程序修复
- 20.微信小程序appid、openid和unionid
- 21.某新闻小程序openid参数逆向
- 22.微信小程序云开发项目结构
- 23.微信小程序云数据库操作
- 24.微信小程序云函数调用和传参
- 25.微信小程序云函数抓包
- 26.webpack打包小程序参数逆向
- 27.快x漫画小程序修复和爬取
- 28.x品会小程序修复
- 29.x品会JS参数逆向
1903.阶段三 / 19.docker容器
11 条
- 1.docker安装部署
- 2.docker部署redis
- 3.docker部署爬虫项目
- 4.pycharm远程同步docker
- 5.docker目录挂载
- 6.docker虚拟机联通
- 7.pycharm调用docker镜像解释器
- 8.发布自己的镜像包
- 9.docker-compose多容器打包
- 10.docker修改镜像安装目录
- 11.docker网络
2003.阶段三 / 20.分布式开发
6 条
- 1.京东商品上半页
- 2.京东商品下半页
- 3.京东商品评论
- 4.分布式概念
- 5.实现分布式架构
- 6.docker-conpose分布式项目
2103.阶段三 / 21.AST混淆与还原
47 条
- 01.AST入门
- 02.代码的基本结构
- 03.parser与generator
- 04.traverse与visitor_1
- 05.traverse与visitor_2
- 06.traverse与visitor_3
- 07.types判断节点类型
- 08.types生成新的节点
- 09.valueToNode
- 10.path对象1
- 11.path对象2
- 12.path对象3
- 13.父级path
- 14.同级path
- 15.scope对象
- 16.referencePaths与constantViolations
- 17.遍历作用域
- 18.标识符重命名_作业
- 19.混淆(改变对象属性访问方式)
- 20.混淆(JS标准内置对象的处理)
- 21.混淆(数值常量加密)
- 22.混淆(字符串常量加密)
- 23.混淆(数组混淆)
- 24.混淆(数组乱序)
- 25.混淆(十六进制文本)
- 26.混淆(标识符混淆)
- 27.混淆(标识符的随机生成)
- 28.混淆(二项式转函数花指令)
- 29.混淆(标识符混淆补充)
- 30.混淆(代码的逐行加密)
- 31.混淆(流程平坦化)
- 32混淆(流程平坦化进阶1)
- 33.混淆(流程平坦化进阶2)
- 34.混淆(流程平坦化进阶3)
- 35.混淆(逗号表达式混淆)
- 36.还原实战(字符串解密)
- 37.还原实战(字符串递归解密)
- 38.还原实战(去除字符串花指令)
- 39.还原实战(去除函数花指令)
- 40.还原实战(去除虚假指令1)
- 41.还原实战(去除虚假指令2)
- 42.还原实战(去除未引用代码)
- 43.还原实战(去除switch混淆)
- 44.还原实战案例2
- 45.webpack逆向(分模块处理)
- 46.webpack逆向(整体处理)
- 47.AST自动抠webpack
2203.阶段三 / 22.JSHook
21 条
- 01.Hook基本原理和作用
- 02.Hook对象属性
- 03.Hook_Cookie读写
- 04.toString检测和保护
- 05.函数Native化
- 06.函数重命名
- 07.函数Hook插件封装
- 08.集成保护代码
- 09.Hook原型对象属性方法1
- 10.Hook原型对象属性方法2
- 11.Hook原型对象所有属性方法
- 12.Hook全局window的函数和原型
- 13.Proxy代理对象属性和方法
- 14.Proxy代理封装get和set
- 15.Proxy代理拦截属性描述符
- 16.Proxy代理定义属性描述符
- 17.Proxy代理函数apply
- 18.Proxy代理构造函数
- 19.Proxy代理has方法
- 20.Proxy代理handler方法
- 21.补某webpack网站环境
2303.阶段三 / 23.验证码识别
17 条
- 01.pytorch深度学习环境配置
- 02.pytorch张量Tensor
- 03.Tensor类型转化
- 04.Tensor算术运算
- 05.pytorch广播机制
- 06.整数余数算术运算
- 07.pytorch和统计学函数
- 08.pytorch随机抽样
- 09.pytorch张量裁剪
- 10.pytorch之yolov环境搭建
- 11.yolo识别图片
- 12.简化yolo识别函数
- 13.yolo标注和训练
- 14.通用验证码识别
- 15.训练环境配置
- 16.验证码训练
- 17.服务接口搭建
2403.阶段三 / 24.C语言基础
101 条
- 01.C语言介绍
- 02.1.CLion的安装与配置
- 02.2.Xcode的安装
- 03.Xcode创建第一个C工程
- 04.Xcode配置简介
- 05.添加和删除target
- 06.第一个C程序(注释)
- 07.第一个C程序(主函数)
- 08.第一个C程序(其他细节)
- 09.变量
- 10.printf函数
- 11.变量(其他细节)
- 12.交换两个变量的几种方式
- 13.变量命名规范
- 14.自动类型转换
- 15.算术运算符
- 16.算术运算小案例
- 17复合赋值运算符
- 18.比较运算符
- 19.自增运算符
- 20.逗号表达式
- 21.逻辑运算符
- 22.逻辑运算小案例
- 23.运算符优先级
- 24.运算符优先级小案例
- 25.if语句
- 26.变量作用域
- 27.ifelse
- 28.三目运算符
- 29.ifelseif
- 30.if语句使用小案例
- 31.switch语句
- 32.if和switch的选择
- 33.if和switch的小案例
- 34.程序调试
- 35.while循环
- 36.死循环
- 37.循环案例
- 38.break与continue
- 39.dowhile
- 40.for循环
- 41.嵌套循环
- 42.位运算小案例
- 43.进制
- 44.二进制转十六进制
- 45.位与
- 46.位或
- 47.位异或
- 48.位移
- 49.位运算应用
- 50.int的修饰
- 51.无符号数
- 52.数组
- 53.数组使用注意事项
- 54.数组初始化
- 55.数组在内存中的存储形式
- 56.数组的小案例
- 57.数组反转
- 58.字符数组
- 59.字符串长度的计算
- 60.字符串相关函数
- 61.函数的定义和调用
- 62.函数的声明
- 63.函数参数
- 64.函数返回值
- 65.预处理指令(#define定义常量和函数)
- 66.预处理指令(#include)
- 67.全局变量
- 68.静态变量和静态函数
- 69.全局变量和局部变量的异同
- 70.指针入门
- 71.两种重要的运算符
- 72.指针入门2
- 73.指针常见错误
- 74.指针与const
- 75.内存中的五个区域
- 76.指针与字符串1
- 77.指针与字符串2
- 78.数组指针1
- 79.数组指针2
- 80.中括号的本质
- 81.函数参数的值传递
- 82.函数参数的地址传递
- 83.C语言中的常见写法
- 84.内存操作(malloc)
- 85.内存操作注意事项
- 86.内存操作(calloc与realloc)
- 87.指针作为函数返回值1
- 88.指针作为函数返回值2
- 89.函数指针
- 90.C语言中的Hex编码
- 91.指针练习1
- 92.指针练习2
- 93.多级指针
- 94.结构体
- 95.结构体数组
- 96.结构体指针
- 97.结构体嵌套
- 98.结构体作为函数参数
- 99.结构体作为返回值
- 100.匿名结构体_typedef
2503.阶段三 / 25.NDK开发
32 条
- 01.NDK介绍
- 02.NDK工程与纯Java工程的区别
- 03.第一个NDK工程
- 04.so中常用的Log输出
- 05.NDK多线程初探
- 06.NDK多线程传参
- 07.NDK多线程取返回值
- 08.JNI_OnLoad
- 09.JavaVM
- 10.JNIEnv
- 11.so相关的几个概念
- 12.so函数注册
- 13.异常处理
- 14.多个cpp文件编译成一个so
- 15.编译多个so
- 16.so路径的动态获取
- 17.so之间相互调用
- 18.通过jni创建Java对象1
- 19.通过jni创建Java对象2
- 20.通过jni访问Java属性
- 21.通过jni访问Java数组1
- 22.通过jni访问Java数组2
- 23.通过jni访问Java方法1
- 24.通过jni访问Java方法2
- 25.通过jni访问Java方法3
- 26.通过jni访问Java父类方法
- 27.内存管理(局部引用)
- 28.内存管理(全局引用)
- 29.子线程中获取Java类1
- 30.子线程中获取Java类2
- 31.init与initarray
- 32.onCreateNative化
2603.阶段三 / 26.ARM汇编
31 条
- 00.IDA的基本使用
- 01.ARM汇编介绍1
- 02.ARM汇编介绍2
- 03.ARM32寄存器
- 04.ARM64寄存器
- 05.cemu的安装与使用
- 06.寻址方式1
- 07.寻址方式2
- 08.寻址方式3
- 09.ARM32栈寻址
- 10.ARM64栈寻址
- 11.多寄存器寻址
- 12.ARM32读写PC寄存器
- 13.ARM64读写PC寄存器
- 14.MOV指令
- 15.任意立即数放入寄存器
- 16.指令后缀
- 17.条件执行后缀
- 18.全局资源定位
- 19.调用约定
- 20.函数的栈帧
- 21.汇编C逆向(循环)
- 22.汇编C逆向(数组)
- 23.汇编C逆向(if语句)
- 24.汇编C逆向(switch语句)
- 25.汇编C逆向(结构体)
- 26.ARM32与ARM64的区别总结
- 27.汇编花指令案例1(JUMPOUT)
- 28.汇编花指令案例2(asm)
- 29.汇编花指令案例3
- 30.汇编花指令案例4
2703.阶段三 / 27.安卓so逆向
45 条
- 01.实战(so逆向分析)
- 02.枚举各种
- 03.hook导出函数
- 04.hook任意函数
- 05.ARM32地址的计算
- 06.实战(sohook)
- 07.修改数值参数和返回值
- 08.内存读写
- 09.修改字符串参数
- 10.获取指针参数返回值
- 11.修改so函数代码
- 12.hook_dlopen
- 13.so层主动调用任意函数
- 14.hooklibc读写文件
- 15.替换函数
- 16.hook_pthread_create
- 17.二级指针的构造
- 18.jni函数的hook
- 19.主动调用jni函数
- 20.so层打印函数栈
- 21.inlineHook
- 22.如何确认native函数注册在哪个so
- 23.jni静态注册源码分析
- 24.快速定位jni静态注册函数
- 25.jni动态注册源码分析
- 26.快速定位jni动态注册函数
- 27.System.loadLibrary源码分析1
- 28.System.loadLibrary源码分析2
- 29.hook_initarray
- 30.so逆向实战(frida替代方案1)
- 31.so逆向实战(frida替代方案2)
- 32.sohook代码封装
- 33.so逆向实战(分析)
- 34.so逆向实战(还原)
- 35.so逆向实战
- 36.inlinehook(获取so基址1)
- 37.inlinehook(获取so基址2)
- 38.inlinehook(获取so基址3)
- 39.inlinehook_dlsym
- 40.inlinehook_RegisterNatives
- 41.so逆向实战(分析)
- 42.so逆向实战(还原)
- 43.so逆向实战(分析1)
- 44.so逆向实战(分析2)
- 45.so逆向实战(还原)
2803.阶段三 / 28.lsposed开发
14 条
- 01.lsposed安装
- 02.lsposed模块开发
- 03.hook构造函数
- 04.hook普通方法
- 05.获取和修改函数参数返回值
- 06.获取和修改类的属性
- 07.hook自定义类参数
- 08.hook匿名类与内部类
- 09.替换函数
- 10.打印函数栈
- 11.主动调用
- 12.反射主动调用
- 13.hook方法的所有重载
- 14.hook类的所有方法
2903.阶段三 / 29.OC基础
51 条
- 01.OC概述
- 02.第一个OC程序
- 03.OC数据类型
- 04.属性的声明
- 05.对象属性的访问
- 06.对象方法1
- 07.对象方法2
- 08.对象方法3
- 09.对象方法4
- 10.方法中访问属性
- 11.isa指针
- 12.多文件开发
- 13.对象作为方法的参数
- 14.对象作为方法的返回值
- 15.对象作为属性
- 16.OC中的static
- 17.类方法
- 18.类方法注意事项
- 19.self
- 20.属性的封装
- 21.继承的简单使用
- 22.继承的特点
- 23.super关键字
- 24.访问修饰符
- 25.方法重写
- 26.多态
- 27.万能指针
- 28.动态类型检测
- 29.description方法
- 30.构造方法
- 31.点语法
- 32.@property
- 33.@property参数
- 34.MRC和ARC
- 35.分类
- 36.block1
- 37.block2
- 38.协议protocol
- 39.常用类(NSString)1
- 40.常用类(NSString)2
- 41.常用类(NSString)3
- 42.常用类(NSString)4
- 43.常用类(NSString)5
- 44.常用类(NSMutableString)
- 45.常用类(NSArray)1
- 46.常用类(NSArray)2
- 47.常用类(NSArray)3
- 48.常用类(NSMutableArray)
- 49.常用类(NSNumber)
- 50.常用类(NSDictionary)
- 51.常用类(NSFileManger)
3003.阶段三 / 30.密码学iOS
15 条
- 01.第一个iOS工程
- 02.密码学介绍
- 03.Hex编码
- 04.Base64编码
- 05.消息摘要算法
- 06.MD5的使用
- 07.SHA的使用
- 08.Hmac的使用
- 09.对称加密算法
- 10.DES加密的使用
- 11.AES加密的使用
- 12.非对称加密算法
- 13.RSA加解密1
- 14.RSA加解密2
- 15.多种加密算法常见结合套路
3103.阶段三 / 31.iOS逆向
87 条
- 01.iOS逆向介绍
- 02.测试机推荐
- 03.一键刷机
- 04.越狱介绍
- 05.Checkra1n越狱
- 06.Palera1n越狱
- 07.巨魔商店的安装和使用
- 08.Dopamine越狱
- 09.Charles抓包
- 10.VPN抓包
- 11.Python的安装和删除
- 12.frida的安装
- 13.frida代码提示配置
- 14.ssh的使用
- 15.常用命令1
- 16.常用命令2
- 17.常用命令3
- 18.常用命令4
- 19.iOS系统常见目录
- 20.ipa常见组成结构
- 21.文件权限
- 22.iphone配置指定版本fridaserver
- 23.sslpinning的绕过
- 24.frida-trace的使用
- 25.快速入门案例(算法分析1)
- 26.快速入门案例(算法分析2)
- 27.快速入门案例(算法复现)
- 28.砸壳
- 29.IDA的安装
- 30.快速入门案例(OC逆向)
- 31.快速入门案例(frida_hook_oc)1
- 32.快速入门案例(frida_hook_oc)2
- 33.frida使用(OC类方法_对象方法的hook)
- 34.frida使用(打印函数栈)
- 35.frida使用(主动调用OC方法)
- 36.frida使用(修改参数和返回值)
- 37.frida读写内存
- 38.frida使用(NSData的构造)
- 39.frida使用(NSArray的构造)
- 40.frida使用(NSDictionary的构造)
- 41.frida使用(带Block参数的函数主动调用)
- 42.frida使用(替换OC方法)
- 43.frida使用(hook_block)
- 44.frida使用(批量hook方法)
- 45.frida写文件
- 46.frida-tools的使用
- 47.frida-server自定义端口
- 48.关键代码定位1
- 49.关键代码定位2
- 50.关键代码定位3
- 51.frida的Python库(进程名附加)
- 52.frida的Python库(pid附加)
- 53.frida的Python库(spawn启动进程)
- 54.frida的Python库(连接非标准端口)
- 55.frida与python的交互(send)
- 56.frida与python的交互(recv)
- 57.frida的rpc
- 58.frida算法转发
- 59.frida使用(枚举各种符号)
- 60.frida使用(模块地址的获取)
- 61.frida使用(通过计算地址来hook_OC方法)
- 62.frida使用(hook_C函数)
- 63.frida使用(获取指针参数返回值)
- 64.frida使用(修改字符串参数)
- 65.frida使用(主动调用任意函数)
- 66.frida使用(替换C函数)
- 67.frida使用(批量hook_C函数)
- 68.frida使用(inlinehook)
- 69.某哔实战案例(sign)
- 70.某哔实战案例(device_meta)
- 71.逆向实战案例(某fc)
- 72.逆向实战案例(mcd)
- 73.逆向实战案例(SHA1_RSA)
- 74.逆向实战案例(公钥的提取)
- 75.逆向实战案例(RSA)
- 76.双向验证的抓包
- 77.基本通杀的hook抓包
- 78.某app逆向实战(通过弹窗定位代码)
- 79.某app逆向实战(HTTP2.0介绍)
- 80.某app逆向实战(提交数据乱码的定位)
- 81.某app逆向实战(openssl_AES)
- 82.某app逆向实战(openssl_RSA)
- 83.某app逆向实战(补充和frida_spawn)
- 84.某app逆向实战(魔改md5)
- 85.双向验证抓包案例_证书的dump
- 86.H5的app逆向方法
- 87.某国外案例frida检测的绕过
3203.阶段三 / 32.便捷转发方案
5 条
- 01.FiddlerScript万能转发脚本
- 02.FiddlerScript脚本学习
- 03.FiddlerScript脚本编写
- 04.万能转发脚本使用和建议
- 05.JS转发之websocket的RPC
3304.阶段四 / 33.JS补环境
45 条
- 01.补环境框架结构设计
- 02.补环境框架代码搭建
- 03.补环境框架测试
- 04.补window原型链
- 05.补报错函数
- 06.补base64编码解码函数
- 07.补WindowProperties环境
- 08.补Window原型对象属性
- 09.封装函数和原型保护函数
- 10.保护get和set方法
- 11.重写defineproperty方法
- 12.env环境分发
- 13.脱浏览器环境脚本编写
- 14.脱浏览器环境脚本编写2
- 15.脱浏览器环境脚本编写3
- 16.脱浏览器原型对象属性方法
- 17.脱浏览器实例对象
- 18.浏览器补document环境
- 19.浏览器补location环境
- 20.固定随机参数
- 21.日志输出到本地
- 22.解决重复代理
- 23.解决代理失效
- 24.node环境检测点去除
- 25.补localStorage属性方法
- 26.补createElement环境
- 27.获取原型对象上边的属性
- 28.补getElementsByTagName环境
- 29.初始化标签的方法
- 30.补document.write方法
- 31.补document.getElementById
- 32.补cookie存取
- 33.创建Plugin对象
- 34.创建插件数组
- 35.创建mimeType
- 36.创建mimetypeArray
- 37.pycharm浏览器代码联调
- 38.浏览器插件补齐
- 39.浏览器插件属性方法补齐
- 40.addEventListener事件补齐
- 41.补setTimeout事件
- 42.补clearTimeout事件
- 43.获取浏览器鼠标轨迹
- 44.node获取轨迹加密结果
- 45.补环境流程总结
3404.阶段四 / 34.JS逆向进阶
21 条
- 01.补环境框架实战ths_cookie
- 02.补环境实战某数扣代码
- 03.补环境实战补某数DOM
- 04.补环境实战某数环境缺失
- 05.补setInterval异步环境
- 06.补某数Promise环境
- 07.补某数cookie生成环境
- 08.某数4后缀生成定位
- 09.补某数后缀环境
- 10.某数4补环境成果展示
- 11.SSL_TLS指纹解析
- 12.chromium内核中的TLS指纹
- 13.某音乐signature
- 14.扣x乎webpack代码
- 15.精简webpack函数
- 16.某验4代加密定位
- 17.某验4代参数1
- 18.某验4代参数2
- 19.某验4代轨迹加密
- 20.某验4代加密参数
- 21.某验4代w值生成
3504.阶段四 / 35.chromium浏览器开发
20 条
- 01.chromium编译win虚拟机配置
- 02.chromium编译工具配置
- 03.chromium浏览器编译运行
- 04.chromium拉取指定版本源码
- 05.chromium多进程架构
- 06.V8引擎编译运行
- 07.vs2022编译V8引擎
- 08.webkit浏览器内核编译
- 09.JavaScriptCore引擎编译运行
- 10.chromium随机指纹之canvas详解
- 11.canvas指纹随机
- 12.navigator特征定位修改
- 13.webRTC泄露公网IP修改
- 14.webGL指纹定位修改
- 15.webGL图像指纹定位修改
- 16.屏幕分辨率指纹修改
- 17.client-hint指纹定位修改
- 18.font字体指纹修改
- 19.webAudio音频指纹修改
- 20.时区V8指纹定位修改
3604.阶段四 / 36.unidbg模拟执行so
33 条
- 01.unidbg介绍
- 02.入门案例
- 03.通过符号寻找函数地址的过程
- 04.对传入的参数进行包装的过程
- 05.入门案例1
- 06.入门案例2
- 07.处理so调用系统Java类
- 08.处理so调用其他so
- 09.入门案例3
- 10.通过符号调用函数1
- 11.通过符号调用函数2
- 12.通过偏移调用函数_内存读写
- 13.unidbg中的hook
- 14.hookzz.wrap
- 15.hookzz.instrument
- 16.hook入门案例
- 17.hookzz.replace
- 18.原生UnicornHook
- 19. 打印调用栈
- 20.unidbg中的动态调试
- 21.监控内存读写
- 22.traceCode1
- 23.traceCode2
- 24.处理so调用自写Java类1
- 25.处理so调用自写Java类2
- 26.处理so调用自写Java类3
- 27.unidbg多线程
- 28.新版unidbg补充
- 29.unidbg实战案例
- 30.unidbg实战案例
- 31.unidbg实战案例
- 32.unidbg实战案例
- 33.unidbg实战案例
3704.阶段四 / 37.安卓系统定制
82 条
- 01.安卓系统定制介绍
- 02.VMware的安装
- 03.Ubuntu系统的安装
- 04.虚拟机快照
- 05.Ubuntu系统的配置
- 06.VMware的三种网络连接
- 07.安卓10编译(下载初始化包)
- 08.安卓10编译(同步指定版本源码)
- 09.安卓10编译(获取pixel设备驱动)
- 10.安卓10编译(编译pixel设备系统)
- 11.pixel设备刷机
- 12.AOSP源码导入到AndroidStudio
- 13.去除WIFI叉号
- 14.联网自动更新时间
- 15.设置默认中文
- 16.设置默认息屏时间
- 17.编译测试
- 18.编译注意事项
- 19.防root检测介绍
- 20.超级adbd
- 21.去除userdebug特征1
- 22.修改源码支持adb_remount
- 23.默认开启adb
- 24.去除userdebug特征2
- 25.修复不进系统的问题
- 26.去除userdebug特征3
- 27.去除userdebug特征4(改vendor.img)
- 28.去除谷歌设备信息
- 29.防VPN检测1
- 30.防VPN检测2
- 31.防VPN检测3
- 32.WebView强制可调试
- 33.加固与脱壳介绍
- 34.整体加固介绍
- 35.ART下的脱壳点
- 36.InMemoryDexClassLoader源码分析1
- 37.InMemoryDexClassLoader源码分析2(mCookie脱壳原理)
- 38.InMemoryDexClassLoader源码分析3(OpenDexFilesFromOat)
- 39.DexClassLoader源码分析1
- 40.DexClassLoader源码分析2
- 41.youpk脱壳原理
- 42.其他脱壳方法原理
- 43.AOSP源码导入到CLion
- 44.整体加固脱壳源码分析
- 45.整体加固脱壳源码移植到安卓10_1
- 46.整体加固脱壳源码移植到安卓10_2
- 47.整体加固脱壳成品测试
- 48.抽取加固介绍
- 49.类加载器
- 50.双亲委派机制
- 51.加固对类加载器的影响
- 52.抽取加固脱壳源码分析(遍历所有ClassLoader)
- 53.抽取加固脱壳源码分析(遍历所有的类)
- 54.抽取加固脱壳源码分析(遍历类中的所有函数)
- 55.类的加载和初始化流程
- 56.方法调用流程
- 57.抽取加固脱壳源码分析(CodeItem的保存)
- 58.抽取加固脱壳源码移植到安卓10_3
- 59.抽取加固脱壳源码移植到安卓10_4
- 60.抽取加固脱壳源码移植到安卓10_5
- 61.抽取加固脱壳成品测试
- 62.dex重构
- 63.脱壳系统改进方案
- 64.Frida增强脱壳功能
- 65.脱壳系统的优化_配置启用_过滤类名_Loge
- 66.过滤主进程_脱壳闪退的处理
- 67.其他加固形式
- 68.方法的解释执行流程
- 69.invoke指令的执行流程
- 70.追踪Java函数调用关系
- 71.追踪jni函数调用关系
- 72.ManagedStack介绍
- 73.强制解释执行_追踪函数调用测试
- 74.smali_trace原理
- 75.smali_trace实现
- 76.smali_trace测试
- 77.frida持久化介绍
- 78.frida持久化实现
- 79.frida持久化测试
- 80.pixel内核源码下载(旧版方式)
- 81.pixel内核编译(旧版方式)
- 82.pixel内核源码下载与编译(新版方式)
3804.阶段四 / 38.安卓系统定制
14 条
- 01.安卓10编译(pixel3)
- 02.超级adbd在user版本下的问题
- 03.pixel3内核编译
- 04.pixel3修改vendor.img
- 05.pixel3集成KernelSU(下载修改源码)
- 06.pixel3集成KernelSU(编译)
- 07.增加自动抓包功能
- 08.smaliTrace通过创建文件启用
- 09.增加功能(打印所有被调用函数和参数)
- 10.增加功能(任意注入so)
- 11.任意注入so测试
- 12.增加功能(监听native函数注册)
- 13.增加功能(sodump)
- 14.so修复
3904.阶段四 / 39.安卓逆向进阶
65 条
- 01.C实现的MD5算法的使用
- 02.MD5算法细节(明文的处理)
- 03.字节序
- 04.MD5算法细节(初始化常量)
- 05.MD5算法细节(MD5Transform)
- 06.MD5代码实现详解(明文的处理)
- 07.MD5代码实现详解(结果的处理)
- 08.MD5代码实现详解(MD5Transform)
- 09.IDA中的MD5
- 10.IDA的常用操作
- 11.1.魔改MD5逆向实战(unidbg调用)
- 11.2.魔改MD5逆向实战1
- 11.3.魔改MD5逆向实战2
- 11.4.魔改MD5逆向实战3
- 12.1.魔改MD5逆向实战(unidbg调用)
- 12.2.魔改MD5逆向实战(第1轮)
- 12.3.魔改MD5逆向实战(第2轮)
- 12.4.魔改MD5逆向实战(第3-4轮)
- 12.5.魔改MD5逆向实战(前16轮)
- 12.6.魔改MD5逆向实战(第17-32轮)
- 12.7.魔改MD5逆向实战(第33-64轮)
- 12.8.魔改MD5逆向实战(最后的魔改)
- 13.SHA1算法细节
- 14.SHA1代码实现详解
- 15.哈希算法的识别
- 16.1.魔改SHA1逆向实战(unidbg调用)
- 16.2.魔改SHA1逆向实战(明文的字节序)
- 16.3.魔改SHA1逆向实战(初始化常量_K表)
- 17.1.魔改SHA256逆向实战(魔改点的分析)
- 17.2.魔改SHA256逆向实战(明文魔改分析)
- 17.3.魔改SHA256逆向实战(明文的还原)
- 17.4.魔改SHA256逆向实战(运算部分的还原)
- 18.HmacMD5算法介绍
- 19.HmacMD5算法细节
- 20.HmacMD5算法实现详解
- 21.DES算法细节(子密钥生成)
- 22.DES算法细节(明文的运算)
- 23.DES的实现源码分析1
- 24.DES的实现源码分析2
- 25.DES的魔改
- 26.分组加密的填充
- 27.分组加密的模式(ECB)
- 28.分组加密的模式(CBC)
- 29.分组加密的模式(其他)
- 30.3DES算法细节
- 31.AES算法细节(密钥编排)
- 32.AES算法细节(加密运算)
- 33.AES查表法详解
- 34.openssl的aes实现
- 35.白盒加密介绍
- 36.从轮密钥推导主密钥
- 37.1差分故障攻击原理1
- 37.2.差分故障攻击原理2
- 38.1.白盒AES逆向实战(关键代码定位)
- 38.2.白盒AES逆向实战(某加固的字符串加密)
- 38.3.白盒AES逆向实战(so层关键代码定位)
- 38.4.白盒AES逆向实战(算法分析)
- 38.5.白盒AES逆向实战(获取故障密文)
- 38.6.白盒AES逆向实战(提取密钥)
- 38.7.白盒AES逆向实战(故障注入时机的定位方法)
- 39.1.白盒AES_CBC算法逆向实战(填充方式)
- 39.2.白盒AES_CBC算法逆向实战(iv向量)
- 39.3.白盒AES_CBC算法逆向实战(密钥还原)
- 40.逆向分析_OLLVM还原_绕过frida检测
- 41.stalker的使用_通用绕过frida检测的方法
信息整理:2026-11-07 · 课程介绍与目录在本站直接浏览;当前未接入视频播放、订单与在线支付。