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