通过对某安全SDK的ARM64执行日志(Trace)进行深度分析,完整还原签名算法流程。本文重点介绍从汇编指令中扣取算法的分析方法。从汇编日志提取的VM结构:JNI传入的签名输入字符串格式:示例:MD5 (初始化常量已确认)SHA1 (轮常量已确认)XOR混淆自定义Base64编码Base64解码后的76字节结构:在trace日志中搜索重复出现的指令模式,定位VM主循环:分析要点:通过handler内部的指令特征识别功能:示例1:识别XOR Handler (Opcode 0x274)示例2:识别NOT Handler (Opcode 0x272)MD5识别 - 搜索初始化常量:SHA1识别 - 搜索轮常量:从输入到输出追踪数据变换:从trace中提取SHA1单轮计算的关键指令:通过在trace中批量搜索,提取算法使用的所有常量:在trace末尾追踪最终输出的组装过程:x23 = 0x752a4ff870 -> Handler地址表 (约600个handler)
---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-289785.htm
[原创]某安全SDK x-sign 签名算法还原
111 浏览
14 回复
感谢分享
感谢分享
支持
火钳刘明
感谢分享
看看内容
tql
看看
tql
感谢分享
太强啦
tql
感谢分享
感谢分享