百趣云
百趣云的博客
👦百趣云
白盒加密解决什么问题普通 AES 的致命弱点:密钥必须以明文形式出现在内存里(哪怕一瞬间),hook 就能拿走。白盒 AES(White-Box AES)的设计目标是"密钥永不出现"——把密钥和 AES 算法预计算融合成一堆查找表,加密过程就是查表,密钥本身从数学上"溶"进了表里。金融 App、支付 SDK、DRM 系统(如 Widevine)是白盒的主要用户。识别:白盒 AES 长什么样SO 里识别白盒 AES 的特征:没有 AES 特征常量(S 盒搜不到——它被融进自定义表了)大量自定义查找表:数据段里有几 KB 到几百 KB 的神秘表数据加密函数全是查表+异或:没有明显的轮函数结构,就是
指纹浏览器解决什么问题做电商多账号、广告投放、爬虫业务时,核心矛盾是:一台物理机的浏览器指纹是唯一的,多开账号会被指纹关联。指纹浏览器(AdsPower、比特、Hubstudio 等)的产品形态是"每个浏览器配置文件一套独立指纹",底层实现原理值得每个逆向工程师了解——因为它的对抗手法就是风控的检测靶心。实现原理:三层隔离第一层:进程级隔离每个"浏览器环境"是独立的浏览器实例,基于 Chromium 源码定制或 CDP 控制,各自有独立的:用户数据目录(cookie、localStorage、缓存完全隔离)代理配置(每个环境绑一个代理 IP)时区/语言/分辨率设置这一层解决的是"数据隔离",普
乐固的特点:懒加载与分片解密腾讯乐固(legu)的识别特征:入口 com.tencent.StubShell.TxAppEntry,assets 里有 libshell.so、libshella-x.so 等。它和 360/梆梆最大的不同是解密策略:乐固不是启动时一次性解密全部 dex,而是按需解密、分片加载——用到哪个类才解密哪部分。这个差异决定了脱壳策略:启动后立刻 dump,只能拿到不完整的 dex;必须把 App 的主要功能都点一遍,触发所有类的加载,再 dump。正确的脱壳流程第一步:spawn 启动,绕过反调试frida -U -f com.target.app -l dump.j
为什么每个逆向工程师都该懂合规逆向技术本身是中性的——安全研究、漏洞挖掘、互操作性开发都是合法用途。但技术的使用场景有明确的法律边界,越界不是"技术厉害"的问题,是刑事责任的问题。这个圈子每年都有人因越界进去,合规认知是职业生涯的保命符。法律框架速查涉及逆向的主要法规:《刑法》285 条:非法侵入计算机信息系统罪、非法获取计算机信息系统数据罪《刑法》285 条之三:提供侵入、非法控制计算机信息系统程序、工具罪《网络安全法》:数据安全与个人信息保护《反不正当竞争法》:商业数据的不正当获取《著作权法》:软件的反向工程例外(有限制)关键判例逻辑:技术手段 + 数据性质 + 商业影响三者共同定性。边界
unidbg 的定位:SO 的"虚拟机"unidbg 用 Unicorn 引擎模拟 ARM 指令执行,让 Android 的 SO 文件脱离手机在 JVM 里跑起来。它的价值场景很明确:签名算法在 SO 里,你想批量调用但不想养一屋子手机。但 SO 不是独立运行的——它会调 JNI 函数(拿 Context、读系统属性、访问文件),这些调用在 unidbg 里全要"补环境":用 Java 代码模拟 Android 系统的行为,让 SO 以为自己真在手机上。最小可运行骨架public class SignEmulator {
private final AndroidEmulator e