目标
打印CC_MD5方法的参数和返回值
环境
越狱的iOS设备,需要安装frida
macOS系统的电脑,需要安装frida,并安装frida-tools
步骤
(1)手机连接电脑,手机启动要测试的app
(2)frida-ps查看当前app的PID
frida-ps -Ua
输出结果如下:
PID Name Identifier
----- ---------- -----------------------
47712 微信 com.tencent.xin
30692 支付宝 com.alipay.iphoneclient
54001 计算器 com.apple.calculator
(3)frida-trace 最终微信的CC_MD5方法
frida-trace -U 47712 -i "CC_MD5"
输出如下:
Instrumenting functions...
CC_MD5: Loaded handler at "/Users/xxxx/Documents/TargetApp/__handlers__/ASEProcessing/CC_MD5.js"
按住键盘 Ctrl+C 停止frida-trace
(4)根据上面的路径找到 CC_MD5.js 文件,并编辑
主要代码:
onEnter: function (log, args, state) {
log('CC_MD5()--arg[0]='+args[0].readUtf8String());
},
onLeave: function (log, retval, state) {
log('CC_MD5()--return--=');
var md5_digest = hexdump(retval,{length:16});
var hexified = " ";
var raw_array = md5_digest.split("\n");
for (var a=0; a<raw_array.length; a++)
{
var line_array = raw_array[a].split(" ");
for (var b=1; b<line_array.length-1; b++)
{
if (line_array[b].length === 2)
{
hexified += line_array[b];
hexified = hexified.trim();
}
}
}
log(hexified+"\n");
}
}
修改后,记得保存。
(5)再次执行步骤(3)
手指操作几下微信,会看到终端有一些CC_MD5相关的打印:
20014 ms CC_MD5()--arg[0]=dong540131487888
20014 ms CC_MD5()--return--=
20014 ms c476c6182489c453fff807eeb9595f8d
20015 ms CC_MD5()--arg[0]=https://wx.qlogo.cn/mmhead/ver_1/3lDOnjQscyrAxQP555555f8MuNjW8tAqoETibPgkds5qLFiaKEkyzfxZ2fdg5uPuKib6N1WyshhmI5fEqgqRiaXicZVzvp0NoAiakPkbeklsWI39S8/132
20015 ms CC_MD5()--return--=
20015 ms 3d9f8fb870f139c3c73d5d83j5734d26
测试成功!