小肩膀逆向学习路线
2024-08-02 20:00:24 0 举报
AI智能生成
各类逆向推荐的学习顺序
作者其他创作
大纲/内容
爬虫工程师
Python基础
01.Python解释器安装
02.PyCharm安装与配置
03.Python编译运行流程
04.Python基本数据类型
05.Python循环控制语句
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.多进程代理数据共享
网络爬虫入门
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
密码学Python
01.消息摘要算法
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
Scrapy框架与Twisted
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日志设置
各类数据库使用
01.sqlite数据库
02.tinydb数据库
mysql数据库
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
redis数据库
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发布订阅
mongodb数据库
30.mongodb安装配置
31.mongodb增删改查
32.mongodb的ID内涵
33.mongodb的查询
34.python操作mongodb
RPA机器人流程自动化
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定位和使用
selenium
13.seleniumEdge配置
14.selenium过检测
15.selenium过某宝滑块
16.selenium自动化已经存在的浏览器
playwright
17.playwright过检测
18.playwright移动设备仿真
19.playwright多page爬取
20.playwright异步并发多浏览器
大漠
21.大漠dll_python环境配置
22.大漠绑定测试工具
23.Python大漠图色键鼠调用
docker容器
01.docker安装部署
02.docler部署redis
03.docker部署爬虫项目
04.pycharm远程同步docker
05.docker目录挂载
06.docker虚拟机联通
07.pycharm调用docker镜像解释器
08.发布自己的镜像包
09.docker-compose多容器打包
10.docker修改镜像安装目录
11.docker网络
分布式开发
01.x东商品爬取上
02.x东商品爬取下
03.x东商品评论爬取
04.分布式概念介绍
05.实现分布式架构
06.分布式打包项目
便捷转发方案
01.FiddlerScript万能转发脚本
02.FiddlerScript脚本学习
03.FiddlerScript脚本编写
04.万能转发脚本使用和建议
05.JS转发之websocket的RPC
chromium浏览器开发
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指纹定位修改
JS逆向工程师
JavaScript基础
JS入门
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)
104-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-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跨域请求
密码学JS
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算法库的使用
JS逆向入门
抓包
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逆向实战(dd快药)
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)
滑块处理入门
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
JS混淆原理
01.JS混淆介绍
02.十六进制与unicode字符串
03.ASCII码混淆
04.字符串常量加密
05.数值常量加密
06.数组混淆
07.数组乱序
08.花指令
09.jsfuck
10.流程平坦化
11.逗号表达式混淆
JS逆向实战
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逆向.mp4
16.某某音乐下载.mp4
AST混淆与还原
AST入门
01.AST入门
02.代码的基本结构
03.parser与generator
04-06.traverse与visitor
07.types判断节点类型
08.types生成新的节点
09.valueToNode
10-12.Path对象
13.父级path
14.同级Path
15.scope对象
16.referencePaths与constantViolations
17.遍历作用域
18.标识符重命名_作业
使用AST实现自动混淆
19.混淆(改变对象属性访问方式)
20.混淆(JS标准内置对象的处理)
21.混淆(数值常量加密)
22.混淆(字符串常量加密)
23.混淆(数组混淆)
24.混淆(数组乱序)
25.混淆(十六进制文本)
26.混淆(标识符混淆)
27.混淆(标识符的随机生成)
28.混淆(二项式转函数花指令)
29.混淆(标识符混淆补充)
30.混淆(代码的逐行加密)
31.混淆(流程平坦化)
32-34.混淆(流程平坦化进阶)
35.混淆(逗号表达式混淆)
使用AST实现自动还原
36.还原实战(字符串解密)
37.还原实战(字符串递归解密)
38.还原实战(去除字符串花指令)
39.还原实战(去除函数花指令)
40.还原实战(去除虚假指令1)
41.还原实战(去除虚假指令2)
42.还原实战(去除未引用代码)
43.还原实战(去除switch混淆)
44.还原实战案例2
AST自动抠webpack
45.webpack逆向(分模块处理)
46.webpack逆向(整体处理)
47.AST自动抠webpack
JSHook
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网站环境
JS补环境
01.补环境框架结构设计
02.补环境框架代码搭建
03.补环境框架测试
04.补window原型链
05.补报错函数
06.补base64编码解码函数
07.补WindowProperties环境
08.补Window原型对象属性
09.封装函数和原型保护函数
10.保护get和set方法
11.重写defineproperty方法
12.env环境分发
13-15.脱浏览器环境脚本编写
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.补环境流程总结
JS逆向进阶
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值生成
安卓逆向工程师
Java层逆向
Java语言详解
Java入门
001.JDK的安装与配置
002.Java语言特点
003.第1个Java程序
004.Java语言的基础组成
005.注释
006.IDEA的安装与配置
007.转义字符
Java语法基础
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.反射(打印类的结构信息)
安卓基础
逆向环境
01.安卓逆向设备推荐
02.AndroidStudio的安装与配置
03.刷机前置知识
04-05.刷机详解
06.pixel6刷机注意事项
07.pixel6刷入KernelSU
08.jadx的使用
09.GDA的使用
10.jeb的使用
11.adb工作原理
12.adb常用命令
13.查看包名的几种方式
14.logcat
15.安卓历史版本
16.apk中的常见文件
17.安卓系统架构
18-21.Linux常用命令
22.Linux权限
安卓开发入门
23.安卓常见目录
24.安卓开发入门
25.AndroidStudio工程目录结构
26.安卓程序执行入口
27.硬编码的定位
28.Button_Log
29.Toast_EditText
30.编译release版本的app
密码学Java
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.数字签名算法
安卓逆向入门
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(协议复现_易语言)
各类安卓app逆向
关键代码快速定位
01.app算法分析流程
02.app的简单防护(字符串加密)
03.app的简单防护(反射调用相关类)
04-16.关键代码快速定位
17-18.定制系统的代码定位功能使用
frida的使用详解
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.exe的使用
42.frida连接多设备多端口
自吐算法脚本开发
43.脚本开发(工具函数的封装)
44-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替代方案(打印所有被调用函数和参数)
frida的Python库使用
65.frida的Python库使用(包名附加)
66.frida的Python库使用(pid附加)
67.frida的Python库使用(spawn方式启动)
68.frida的Python库使用(连接非标准端口和多个设备)
69.frida与Python的交互(send)
70.frida与Python的交互(recv)
frida算法转发
71.frida的rpc远程调用
72.frida算法转发1
73.frida算法转发2
74.frida算法转发3
so层逆向
C语言基础
01.C语言介绍
IDE的安装与配置
02.1.CLion的安装与配置
02.2.Xcode的安装
03.Xcode创建第一个C工程
04.Xcode配置简介
05.添加和删除target
第一个C程序
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-77.指针与字符串
78-79.数组指针
80.中括号的本质
81.函数参数的值传递
82.函数参数的地址传递
83.C语言中的常见写法
84.内存操作(malloc)
85.内存操作注意事项
86.内存操作(calloc与realloc)
87-88.指针作为函数返回值
89.函数指针
90.C语言中的Hex编码
91-92.指针练习
93.多级指针
结构体
94.结构体
95.结构体数组
96.结构体指针
97.结构体嵌套
98.结构体作为函数参数
99.结构体作为返回值
100.匿名结构体_typedef
NDK开发
第一个NDK工程
01.NDK介绍
02.NDK工程与纯Java工程的区别
03.第一个NDK工程
04.so中常用的Log输出
NDK多线程
05.NDK多线程初探
06.NDK多线程传参
07.NDK多线程取返回值
08.JNI_OnLoad
09.JavaVM
10.JNIEnv
so相关知识点
11.so相关的几个概念
12.so函数注册
13.异常处理
14.多个cpp文件编译成一个so
15.编译多个so
16.so路径的动态获取
17.so之间相互调用
通过jni操作Java的各种方式
18-19.通过jni创建Java对象
20.通过jni访问Java属性
21-22.通过jni访问Java数组
23-25.通过jni访问Java方法
26.通过jni访问Java父类方法
27.内存管理(局部引用)
28.内存管理(全局引用)
29-30.子线程中获取Java类
31.init与initarray
32.onCreateNative化
ARM汇编
00.IDA的基本使用
01-02.ARM汇编介绍
03-04.ARM32、ARM64寄存器
05.cemu的安装与使用
06-08.寻址方式
09-10.ARM32、ARM64栈寻址
11.多寄存器寻址
12-13.ARM32、ARM64读写PC寄存器
14.MOV指令
15.任意立即数放入寄存器
16.指令后缀
17.条件执行后缀
18.全局资源定位
19.调用约定
20.函数的栈帧
汇编C逆向(循环、数组、if、switch、结构体)
21.汇编C逆向(循环)
22.汇编C逆向(数组)
23.汇编C逆向(if语句)
24.汇编C逆向(switch语句)
25.汇编C逆向(结构体)
26.ARM32与ARM64的区别总结
27-30.汇编花指令案例(JUMPOUT、asm等)
安卓so逆向
so逆向入门
01.实战(so逆向分析)
02.枚举各种
03.hook导出函数
04.hook任意函数
05.ARM32地址的计算
06.实战(sohook)
frida在so中的使用
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
jni函数快速定位
22.如何确认native函数注册在哪个so
23.jni静态注册源码分析
24.快速定位jni静态注册函数
25.jni动态注册源码分析
26.快速定位jni动态注册函数
27-28.System.loadLibrary源码分析
29.hook_initarray
逆向实战
30.so逆向实战(frida替代方案1)
31.so逆向实战(frida替代方案2)
32.sohook代码封装
33.so逆向实战(分析)
34.so逆向实战(还原)
35.so逆向实战
inlinehook
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逆向实战(还原)
lsposed开发
01.lsposed安装
02.lsposed模块开发
03.hook构造函数
04.hook普通方法
05.获取和修改函数参数返回值
06.获取和修改类的变量
07.hook自定义类参数
08.hook匿名类与内部类
09.替换函数
10.打印函数栈
11.主动调用
12.反射主动调用
13.hook方法的所有重载
14.hook类的所有方法
unidbg模拟执行so
unidbg入门
01.unidbg介绍
02.入门案例
03.通过符号寻找函数地址的过程
04.对传入的参数进行包装的过程
05-06.入门案例
07.处理so调用系统Java类
08.处理so调用其他so
09.入门案例3
10-11.通过符号调用函数
12.通过偏移调用函数_内存读写
unidbg hook的使用
13.unidbg中的hook
14.hookzz.wrap
15.hookzz.instrument
16.hook入门案例
17.hookzz.replace
18.原生UnicornHook
19. 打印调用栈
20.unidbg中的动态调试
21.监控内存读写
22-23.traceCode
24-26.处理so调用自写Java类
27.unidbg多线程
28.新版unidbg补充
29-33.unidbg实战案例
安卓系统定制
定制系统前的环境配置
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-31.防VPN检测
32.WebView强制可调试
脱壳功能
33.加固与脱壳介绍
34-47.整体加固脱壳
48-66.抽取加固脱壳
67.其他加固形式
68-73. 追踪函数调用关系
74-76. smali trace 功能定制
77-79. frida持久化功能定制
内核编译
80.pixel内核源码下载(旧版方式)
81.pixel内核编译(旧版方式)
82.pixel内核源码下载与编译(新版方式)
安卓系统定制
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修复
安卓逆向进阶
MD5算法细节
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-11.4.魔改MD5逆向实战
12.1-12.8.魔改MD5逆向实战
SHA算法细节
13.SHA1算法细节
14.SHA1代码实现详解
15.哈希算法的识别
16.1-16.3.魔改SHA1逆向实战
17.1-17.4.魔改SHA256逆向实战
Hmac算法细节
18.HmacMD5算法介绍
19.HmacMD5算法细节
20.HmacMD5算法实现详解
DES算法细节
21.DES算法细节(子密钥生成)
22.DES算法细节(明文的运算)
23-24.DES的实现源码分析
25.DES的魔改
加密模式与填充方式
26.分组加密的填充
27.分组加密的模式(ECB)
28.分组加密的模式(CBC)
29.分组加密的模式(其他)
30.3DES算法细节
AES算法细节
31.AES算法细节(密钥编排)
32.AES算法细节(加密运算)
33.AES查表法详解
34.openssl的aes实现
白盒算法
35.白盒加密介绍
36.从轮密钥推导主密钥
37.差分故障攻击原理
逆向实战
38.1-38.7.白盒AES逆向实战
39.1.白盒AES_CBC算法逆向实战(填充方式).mp4
39.2.白盒AES_CBC算法逆向实战(iv向量).mp4
39.3.白盒AES_CBC算法逆向实战(密钥还原).mp4
40.逆向分析_OLLVM还原_绕过frida检测.mp4
iOS逆向工程师
C语言基础
01.C语言介绍
IDE的安装与配置
02.1.CLion的安装与配置
02.2.Xcode的安装
03.Xcode创建第一个C工程
04.Xcode配置简介
05.添加和删除target
第一个C程序
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-77.指针与字符串
78-79.数组指针
80.中括号的本质
81.函数参数的值传递
82.函数参数的地址传递
83.C语言中的常见写法
84.内存操作(malloc)
85.内存操作注意事项
86.内存操作(calloc与realloc)
87-88.指针作为函数返回值
89.函数指针
90.C语言中的Hex编码
91-92.指针练习
93.多级指针
结构体
94.结构体
95.结构体数组
96.结构体指针
97.结构体嵌套
98.结构体作为函数参数
99.结构体作为返回值
100.匿名结构体_typedef
OC语言基础
01.OC概述
02.第一个OC程序
03.OC数据类型
04-05.对象属性
06-10.对象方法
11.isa指针
12.多文件开发
13-15.对象作为参数、返回值、属性
16.OC中的static
17-18.类方法
19.self
20-26.封装、继承、多态
27.万能指针
28.动态类型检测
29.description方法
30.构造方法
31.点语法
32-33.@property
34.MRC和ARC
35.分类
36-37.block
38.协议protocol
常用类的相关方法
39-44.常用类(NSString)
45-48.常用类(NSArray)
49.常用类(NSNumber)
50.常用类(NSDictionary)
51.常用类(NSFileManger)
密码学iOS
01.第一个iOS工程
02.密码学介绍
03-04.Hex、Base64编码
05.消息摘要算法
06-08.MD5、SHA、Hmac的使用
09.对称加密算法
10-11.DES、AES加密的使用
12. 非对称加密算法
13-14.RSA加解密
15.多种加密算法常见结合套路
ARM汇编
00.IDA的基本使用
01-02.ARM汇编介绍
03-04.ARM32、ARM64寄存器
05.cemu的安装与使用
06-08.寻址方式
09-10.ARM32、ARM64栈寻址
11.多寄存器寻址
12-13.ARM32、ARM64读写PC寄存器
14.MOV指令
15.任意立即数放入寄存器
16.指令后缀
17.条件执行后缀
18.全局资源定位
19.调用约定
20.函数的栈帧
汇编C逆向(循环、数组、if、switch、结构体)
21.汇编C逆向(循环)
22.汇编C逆向(数组)
23.汇编C逆向(if语句)
24.汇编C逆向(switch语句)
25.汇编C逆向(结构体)
26.ARM32与ARM64的区别总结
27-30.汇编花指令案例(JUMPOUT、asm等)
iOS逆向
01.iOS逆向介绍
02.测试机推荐
越狱与巨魔
03.一键刷机
04.越狱介绍
05.Checkra1n越狱
06.Palera1n越狱
07.巨魔商店的安装和使用
08.Dopamine越狱
iOS逆向基础
09.Charles抓包
10.VPN抓包
11.Python的安装和删除
12.frida的安装
13.frida代码提示配置
14.ssh的使用
15-18.常用命令
19.iOS系统常见目录
20.ipa常见组成结构
21.文件权限
22.iphone配置指定版本fridaserver
快速入门
23.sslpinning的绕过
24.frida-trace的使用
25-26.快速入门案例(算法分析)
27.快速入门案例(算法复现)
28.砸壳
29.IDA的安装
30.frida使用(主动调用OC方法)
31-32.快速入门案例(frida_hook_oc)
frida hook OC方法
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.批量hook方法
45.frida写文件
46.frida-tools的使用
47.frida-server自定义端口
48-50.关键代码快速定位(OC)
算法转发
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算法转发
frida hook C方法
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检测的绕过
小程序逆向
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参数逆向
验证码识别
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.服务接口搭建
售后服务
视频、课件、环境、PPT、交流群、1v1答疑
已完结的课程,会定期对失效内容做更新替换,告知小肩膀即可
课程试看
https://space.bilibili.com/534838862
课程购买
联系小肩膀VX:xiaojianbang8888,QQ 285092564
课程也可分版块购买,支持花呗、信用卡,支持分期、三期免息
0 条评论
下一页