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)
출처: https://frida.re/docs/home/
Welcome
Inject JavaScript to explore native apps on Windows, macOS, GNU/Linux, iOS, Android, and QNX
frida.re
https://go0g.tistory.com/24?category=1020090
Frida Hooking Code Sample
import frida, sys def on_message(message, data): #메시지 매개변수를 콘솔에 출력 if message['type'] == 'send': print("[*] {0}".format(message['payload'])) else: print(message) try: PACKAGE_NAME = sys..
go0g.tistory.com
'Security > Mobile' 카테고리의 다른 글
[Android] FridaLab(3)_(Challenge 05 ~ 08) (0) | 2021.10.29 |
---|---|
[Android] FridaLab(2)_(Challenge 01 ~ 04) (0) | 2021.10.29 |
[Android] FridaLab(1) (0) | 2021.10.28 |
[Android / iOS] Frida 설치 및 실행 (0) | 2021.10.27 |
[Android] apktool 리패키징 오류 해결 (0) | 2021.09.13 |