원하는 이름이 포함된 클래스와 그 클래스의 메소드 목록을 확인할 수 있다.
-f 옵션이 아닌 실행 중 Attach 해서 사용해야한다.
- 로 시작하는 메소드는 인스턴스 메소드이다.
+ 로 시작하는 메소드는 클래스 메소드이다.
// keyword 설정
var class_search = "jailbreak"
if (ObjC.available) {
for (var className in ObjC.classes){
if (ObjC.classes.hasOwnProperty(className))
{
// find class uding regex
if(className.match(new RegExp(class_search, "i")) != null)
{
try{
var methods = ObjC.classes[className].$ownMethods;
console.warn("\n" + "[*] " + className);
// print methods in class
for (var i = 0; i < methods.length; i++) {
try{
console.log("\x1b[94m" + "\t[-] " + methods[i] + "\x1b[0m");
}
catch(err) {
console.error("[!] Exception1: " + err.message);
}
}
}
catch(err) {
console.error("[!] Exception2: " + err.message);
}
}
}
}
}
else {
console.log("Objective-C Runtime is not available!");
}
JavaScript
복사
•
사용 예시 : jailbreak 키워드가 포함된 클래스 호출