尝试解析 ssl 双向校验, 抓 soul 的包, 使用 frida 来 hook 获取密码 hook 目标
package cn.soulapp.android.net;
public class o extends SSLSocketFactory {
...
public o(android.content.Context r7, java.lang.String r8) {
...
java.lang.String r8 = cn.soulapp.android.soulpower.SoulPowerful.l(r8)
char[] r4 = r8.toCharArray() // Catch:{ Exception -> 0x0049, all -> 0x004d }
java.security.KeyStore r3 = java.security.KeyStore.getInstance(r3) // Catch:{ Exception -> 0x00e9 }
r3.load(r7, r4) // Catch:{ Exception -> 0x0049, all -> 0x004d }
L_0x0049:
r7.close() // Catch:{ Exception -> 0x0055 }
goto L_0x0055
...
}
}
编写 js 脚本如下:
console.log("Script loaded successfully ");
Java.perform(function x() {
console.log("Inside java perform function");
//定位类
var my_class = Java.use("cn.soulapp.android.net.o");
// var my_class = Java.use("cn.soulapp.android.soulpower.SoulPowerful");
console.log("Java.Use.Successfully!");//定位类成功!
//在这里更改类的方法的实现( implementation )
my_class.$init.overload("android.content.Context", "java.lang.String").implementation = function (args, args2) {
console.log("debug");
console.log("args1", args)
console.log("args2", args2)
// 打印替换前的参数
console.log("Ok");
// var aa = Java.use("cn.soulapp.android.soulpower.SoulPowerful.l()");
// console.log(aa.p().a(aa.p().a()))
return this.$init(args, args2);
}
});
目前卡在方法没有被调用上,console.log("debug")没有执行
所用测试 apk 下载地址: https://share.weiyun.com/jltxrcPz
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.