这篇毫无意义,纯灌水,非技术内容。只是展示一下WEB前端逆向学过的东西及若干尝试。现在,应该不算WEB前端逆向小白,跨过了第一道门槛。
翻了一下我看过的wasm相关的技术文档,真多。现在你要跟我扯wasm逆向工程,我肯定能识别你是不是在忽悠。
目录:
☆ 在Ubuntu 22上安装Node.js v20
☆ 混淆工具
1) obfuscator.io
☆ 混淆检测工具
1) obfuscation-detector
☆ 反混淆工具(还可以)
1) synchrony
2) deobfuscate.io
3) webcrack
☆ 反混淆工具(不太行)
1) Restringer
☆ Babel
☆ Ajax Hook
1) flask
1.1) flask_server.py
1.2) flask_server_ssl.py
1.3) 让Chrome不检查服务端证书有效性
1.4) 用mitmproxy根证书生成其他HTTPS服务端证书
1.5) flask_server_ssl_cert.py
1.6) 支持CORS的简版HTTPS服务
2) axios库
2.1) 跨源资源共享(CORS)
2.1.1) 减少CORS预检(preflight)
2.2) Mixed Content
2.3) localhost
2.4) chrome://flags/
2.5) 使用HTTPS
2.5.1) flask_server_ssl.py (交互式放行)
2.5.2) flask_server_ssl_cert.py
2.6) 加载axios库
2.6.1) Copy/Paste
2.6.2) appendChild/append
2.6.3) import
2.6.4) Tampermonkey
2.6.5) nodejs中使用
2.7) 无法利用file:///加载js
2.8) 百度首页的幺蛾子
3) ajaxhook库
3.1) 加载ajaxhook库
3.2) 百度首页搜索框
3.3) spa1.scrape.center (练习站)
4) XMLHttpRequest
1) F12 Network->Fetch/XHR->Initiator
2) F12 Sources->XHR/fetch Breakpoints
3) F12 Sources->Event Listener Breakpoints->XHR
4) XHR vs Fetch
☆ WebAssembly
1) 开发环境
1) apt安装
2) wasi-sdk
2.1) wasi-libc (没用上)
3) WABT
4) Binaryen
2) foo
3) Hello World
4) wasm调用js函数
5) js访问wasm的memory
6) js向wasm提供memory
7) 简版malloc
8) js与wasm交换数据
9) 反编译wasm
9.1) ghidra-wasm-plugin
9.1.1) 编译Ghidra插件
9.1.2) 安装Ghidra插件
9.1.3) 使用Ghidra插件
9.2) wasm2c+IDA
10) 反汇编wasm
10.1) IDA插件idawasm
10.1.1) 安装方式1 (垃圾)
10.1.2) 安装方式2
10.1.3) scz的增强
10.2) 010 Editor插件
11) LEB128
12) memory.fill
13) 用Go开发wasm
13.1) SHA512_test
13.2) Win版便携版Go
13.3) Win版便携版TinyGo
13.4) calleachother
13.5) DebugMe
13.5.1) 逆向DebugMe_dbg.wasm
13.5.2) 逆向DebugMe.wasm
14) 用Emscripten开发wasm
14.1) 开发环境准备
14.2) foo
14.2.1) foo_0.c
14.2.2) foo_1.c
14.3) dataexchange.c
14.4) MD5_test.c
14.5) embind_test.cpp
☆ ES6 JS Proxy技术
1) proxy_test.js
2) Reflect API
3) obj.toString() vs String(obj)
4) ProxyObjectProperty() (推荐)
5) ProxyObjectMethod() vs HookObjectMethod()
6) 拦截Function.constructor
☆ console.log被替换(屏蔽)
☆ 实验案例
1) 百度首页"百度一下"
2) Override content替换百度Logo
3) Override headers修改HTTP响应Content-Security-Policy头
4) (略)
5) HookObjectMethod()
6) HookObjectProperty()
7) 哔嘀影视下载 (部分解决)
8) 36氪文章解密
9) 九酷音乐网反调试
10) (略)
10.1) 反反调试插件
10.2) JavaScript源映射
10.3) F12 Ignore List
11) 注视影视(Gaze)反调试
12) 夜雨聆风VIP视频解析
13) 大米星球
14) 元宇宙(nftcn)
15) (略)
16) 微信视频号
17) 西瓜视频
☆ Python 3网络爬虫开发实战(第二版)_崔庆才
☆ 反爬虫AST原理与还原混淆实战_李岳阳
☆ 已阅
☆ 其它