frida笔记

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!");
}

赞赏

微信赞赏支付宝赞赏

Zgao

愿有一日,安全圈的师傅们都能用上Zgao写的工具。

发表评论