frida笔记
frida-server修改监听端口在0.0.0.0
执行下面指令停止进程
launchctl unload -w /Library/LaunchDaemons/re.frida.server.plist 复制代码
修改iPhone上/Library/LaunchDaemons/re.frida.server.plist这个路径下的文件 之前:
<key>Program</key> <string>/usr/sbin/frida-server</string> <key>ProgramArguments</key> <array> <string>/usr/sbin/frida-server</string> </array>
修改为:
<key>Program</key> <string>/usr/sbin/frida-server</string> <key>ProgramArguments</key> <array> <string>/usr/sbin/frida-server</string> <string>-l</string> <string>0.0.0.0</string> </array>
然后重启服务
launchctl load -w /Library/LaunchDaemons/re.frida.server.plist
要是没有vi命令就去cydia上面去安装。
frida 通过button按钮定位事件
在 iOS 开发中,UIButton 绑定的方法通常是通过 addTarget:action:forControlEvents: 方法进行的。这种情况下,可以通过在运行时使用 hook 的方式来追踪这个方法的调用,从而找到 UIButton 的目标(target)和动作(action)。
reveal 工具并不会直接提供按钮关联的方法信息。需要利用 Objective-C runtime 的特性和一些动态分析工具 frida 来查看这些信息。
if (ObjC.available) {
    ObjC.schedule(ObjC.mainQueue, function () {
        var hook = ObjC.classes.UIButton["- addTarget:action:forControlEvents:"];
        Interceptor.attach(hook.implementation, {
            onEnter: function(args) {
                var target = new ObjC.Object(args[2]);
                var selector = ObjC.selectorAsString(args[3]);
                console.log("[*] 检测到触发按钮! 目标为: " + target + ", Action: " + selector);
            }
        });
    });
} else {
    console.log("Objective-C Runtime is not available!");
}
赞赏 微信赞赏
微信赞赏 支付宝赞赏
支付宝赞赏
发表评论