티스토리 뷰

반응형

NSStringstringWithFormat: 메서드를 후킹하여 이 메서드가 호출될 때 인자와 반환값을 출력하도록 Frida 스크립트를 작성할 수 있습니다. 이 스크립트는 메서드 호출 시 사용되는 포맷 문자열과 그에 대한 인자를 캡처하고, 메서드의 반환값도 출력합니다.

 

다음은 NSStringstringWithFormat: 메서드를 후킹하는 Frida 스크립트의 예입니다.

 

if (ObjC.available) {
    // NSString 클래스가 Objective-C에서 존재하는지 확인
    var NSString = ObjC.classes.NSString;

    // stringWithFormat: 메서드를 후킹
    var stringWithFormat = NSString['+ stringWithFormat:'];

    Interceptor.attach(stringWithFormat.implementation, {
        onEnter: function(args) {
            // 첫 번째 인자는 self (NSString 클래스, 객체가 아닌 클래스 메서드)
            // 두 번째 인자는 포맷 문자열
            var formatString = ObjC.Object(args[2]);

            // 포맷 문자열 출력
            console.log("stringWithFormat called with format: " + formatString);

            // 포맷 문자열에 대한 인자 수
            var argCount = arguments.length - 2; // 첫 두 개 인자 제외

            // 인자 출력
            for (var i = 0; i < argCount; i++) {
                var arg = ObjC.Object(args[2 + i + 1]); // 첫 번째 인자는 포맷 문자열
                console.log("Argument " + (i + 1) + ": " + arg);
            }
        },
        onLeave: function(retval) {
            // 반환값을 NSString 객체로 변환
            var resultString = ObjC.Object(retval);
            console.log("Returned NSString: " + resultString);
        }
    });
} else {
    console.log("Objective-C runtime is not available!");
}
반응형

'프로그래밍 > 보안' 카테고리의 다른 글

[Frida/iOS] 파일 접근 추적하기  (0) 2024.10.04
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/11   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함