立项原因:一款Windows桌面程序使用VMProtect加壳+OLLVM混淆,需逆向其加密协议中的密钥派生函数G(enckey)。已完成脱壳、认证协议分析、加密算法结构确认,现需逆向OLLVM混淆的VM字节码提取G函数实现。
业务背景:程序通过自定义加密协议与服务器通信,密钥派生函数G将16字符enckey映射为12字节密钥E。该函数位于.fp'段(VM字节码),已确认G为跨字节非线性变换,排除MD5/SHA/AES等标准算法。
点击空白处退出提示
立项原因:一款Windows桌面程序使用VMProtect加壳+OLLVM混淆,需逆向其加密协议中的密钥派生函数G(enckey)。已完成脱壳、认证协议分析、加密算法结构确认,现需逆向OLLVM混淆的VM字节码提取G函数实现。
业务背景:程序通过自定义加密协议与服务器通信,密钥派生函数G将16字符enckey映射为12字节密钥E。该函数位于.fp'段(VM字节码),已确认G为跨字节非线性变换,排除MD5/SHA/AES等标准算法。
1. 逆向目标:OLLVM混淆的VM字节码中的密钥派生函数G(enckey)→E(12字节)
2. 已有成果:IDA完整地址清单、认证协议全流程、加密算法结构、VM入口链、6层wrapper调用链、11个魔数常量、init明文+密文对齐数据
3. 需要实现:从VM字节码中提取G函数的算法逻辑,可复现enckey→E的映射
4. 验证方式:用提供的明文+密文样本验证G函数输出是否正确
我已完成:IDA静态分析,定位.fp'段VM入口链(0x5936A0→0x2277DB0→6层wrapper→0x249A307密钥派生),提取195行伪代码,确认密钥结构K[i]=R[i]^E[i%12],算出E[5]^E[6]等约束,排除MD5/SHA/AES/线性XOR等算法,提供同会话init明文+密文对齐数据用于验证。
待完成:逆向OLLVM混淆的VM字节码,提取G(enckey)的具体算法实现(enckey:16字符ASCII→E:12字节密钥)。技术栈:x64汇编、IDA Pro、OLLVM去混淆、Python验证。



评论