끄적끄적

[Frida] Hooking Code Sample(Python) 본문

Security/Mobile

[Frida] Hooking Code Sample(Python)

Go0G 2021. 10. 17. 14:24
import frida, sys
def on_message(message, data): #메시지 매개변수를 콘솔에 출력
    if message['type'] == 'send':
        print("[*] {0}".format(message['payload']))
    else:
        print(message)

try:
    PACKAGE_NAME = sys.argv[1]
except Exception as e:
    print("[*] Please Insert Package Name Path:/data/data/[Package_Name] ")

jscode="""
Payload
"""

try:
    print('[*] START Frida')
    print('')
    device = frida.get_usb_device(timeout=10) #Frida를 시작하고 USB 장치에 연결
    pid = device.spawn([PACKAGE_NAME]) #연결된 USB 장치에서 PACKAGE_NAME에 저장된 프로세스 생성
    print("[*]App is Starting ... pid: {}".format(pid))
    process = device.attach(pid) #PACKAGE_NAME PID를 Frida 프로세스에 연결 
    device.resume(pid) #PACKAGE_NAME 프로세스 메인 스레드 실행
    script = process.create_script(jscode)#jscode 스크립트 코드를 Frida에 사용할 수 있도록 생성
    script.on('message',on_message) #Frida Script에서 전송한 메시지를 처리할 Callback 함수 설정
    print("[*] Running Hook")
    script.load() #생성한 스크립트 로드
    sys.stdin.read() #스크립트 실행 전 종료 예방
except Exception as e:
    print(e)

 

Reference

 

'Security > Mobile' 카테고리의 다른 글

[Frida] Useful Code  (0) 2021.10.20
[Frida] 기본 문법  (0) 2021.10.18
[Frida] FridaLab  (0) 2021.10.17
[Android analysis] Android Dalvik Opcode(Smali Code)  (0) 2021.09.12
[Android analysis] 디컴파일 및 리패키징  (0) 2021.09.12
Comments