UIButton method
3 views
f89bcb3f...
Description
Get method behind the UIButton click
How to Use
Download the script and run it with Frida CLI:
Download ScriptThen run with Frida:
frida -U -f YOUR_PACKAGE_NAME -l uibutton-method.js
Replace YOUR_PACKAGE_NAME with the target app's package name.
Source Code
JavaScript
/* Sample output
[Local::PID::53862 ]-> findButtonMethod()
[*] UIButton "Sample button" @0x7f7d2190cc40:
-[ViewController pressed:]
*/
function findButtonMethod(view) {
ObjC.schedule(ObjC.mainQueue, function() {
if (view == null) {
view = ObjC.classes.UIWindow.keyWindow()
}
var subviews = view.subviews();
for (var i = 0; i < subviews.count(); i++) {
var vView = subviews.objectAtIndex_(i);
if (vView.isKindOfClass_(ObjC.classes.UIButton)) {
var label = vView.titleLabel().text();
var targets = vView.allTargets().allObjects();
var controlEvents = vView.allControlEvents();
var msg = "[*] UIButton \"" + label + "\" @" + vView.handle + ":";
console.log(msg);
for (var j = 0; j < targets.count(); j++) {
var tgt = targets.objectAtIndex_(j);
var actions = vView.actionsForTarget_forControlEvent_(tgt.handle, controlEvents);
for (var k = 0; k < actions.count(); k++) {
var method = "-[" + tgt.$className + " " + actions.objectAtIndex_(k) + "]";
console.log("\t", method);
}
}
}
findButtonMethod(vView);
}
})
}
Comments