百趣云 百趣云的博客

🔖逆向

博主
百趣云
2周前
为什么会遇到 SM4逆向政务、银行、国企 App 时,加密算法会从 AES 换成 SM4——国家商用密码标准。合规要求(等保、密评)决定了这些领域的 App 必须用国密算法。遇到"结构像 AES 但常量对不上"的分组加密,就要想到 SM4。SM4 与 AES 的结构对比维度SM4AES分组长度128 位128 位密钥长度128 位(唯一)128/192/256轮数32 轮10/12/14 轮结构非平衡 FeistelSPNS 盒1 个 8×8 S 盒1 个 8×8 S 盒(不同的表)识别:SM4 的特征常量S 盒:SM4 的 S 盒开头是:d6 90 e9 fe cc e1 3d b5 16
博主
百趣云
2周前
什么时候需要裸抓 TCPHTTP 抓包工具(Charles/mitmproxy)失效的场景:App 走私有 TCP 长连接(IM、游戏、物联网协议),根本不是 HTTPWebSocket 流量被工具显示得不友好QUIC/UDP 协议(HTTP 工具完全盲区)这时要回到网络层的祖师爷工具:tcpdump 抓包 + Wireshark 分析。抓包:手机流量的三种捕获方式方式一:路由器/热点抓包(最通用)# Mac 开热点,手机连上,直接抓热点网卡 sudo tcpdump -i en0 -w phone.pcap host 手机IP # 或抓特定端口 sudo tcpdump -i en0 -w
博主
百趣云
2周前
检测与对抗的猫鼠游戏用模拟器跑 App 做协议分析或自动化,第一步就得过模拟器检测。检测方的思路是"找模拟器和真机的差异点",对抗方的思路是"消除这些差异"。先摸清对手检测什么,再逐项伪装。检测点全景与逐项对抗1. build.prop 硬件指纹(最基础的检测)模拟器的 build 信息一眼假:ro.product.model= sdk_gphone64_arm64 ← 模拟器特征 ro.hardware = ranchu / goldfish ← 模拟器虚拟硬件 ro.build.fingerprint = google/sdk_gphone...对抗:改机工具或直接改 p
博主
百趣云
2周前
先认清壳的结构360 加固(jiagu)的核心思路:原 dex 加密后藏在壳 dex 的资源/资产里,运行时壳先启动,解密原 dex 并通过自定义 ClassLoader 加载。脱壳的本质就是等它解密加载完成后,从内存里把明文 dex 抠出来。判断是不是 360 加固:jadx 打开 APK,入口 Application 是 com.stub.StubApp,assets 里有 libjiagu.so / libjiagu_a64.so,基本实锤。脱壳时机:等"解密完成"这个窗口壳的工作流程:StubApp.attachBaseContext → 解密 dex → 替换 ClassLoader
博主
百趣云
2周前
极验的版本差异:不只是界面变了极验(geetest)是国内占有率最高的验证码服务,三代和四代是完全不同的协议体系:三代:gt、challenge 双参数体系,验证流程是"初始化 → 拿图 → 提交轨迹 → 二次校验"四代:captcha_id 单参数,流程合并为"加载 → 验证 → 结果",参数全面加密升级很多站点还在用三代,新接入的基本是四代。逆向前先确认版本:看页面加载的 JS 是 gt.js(三代)还是 gcaptcha4.js(四代)。三代协议流程拆解1. GET /register?gt=xxx → 拿 challenge 2. GET /get