프리다를 활용해 모바일 애플리케이션 분선 및 디버깅 작업을 할 때, 파이썬 바인딩을 사용하면 작업을 훨씬 효율적으로 자동화할 수 있습니다. 이번 글에서는 파이썬 바인딩을 통해 프리다 작업을 자동화하는 방법을 자세히 다뤄보겠습니다.
import frida, sys
# frida와 sys 모듈 가져오기
jscode = """payload_code"""
# 삽입할 자바스크립트 코드 작성
session = frida.get_remote_device().attach("패키지 이름")
# 연결된 디바이스의 프로세스에 연결
script = session.create_script(jscode)
# 자바스크립트 코드를 프리다에서 실행 가능하도록 생성
script.load()
# 생성된 스크립트를 로드
sys.stdin.read()
# 스크립트가 실행되기 전에 프로세스가 종료되는 문제 방지
import frida, sys
# frida와 sys 모듈 가져오기
jscode = """payload_code"""
# 삽입할 자바스크립트 코드 작성
device = frida.get_remote_device()
# 연결된 디바이스 가져오기
pid = device.spawn(["패키지 이름"])
# 연결된 USB 장치에서 패키지 프로세스 생성
session = device.attach(pid)
# 생성된 프로세스에 연결
script = session.create_script(jscode)
# 자바스크립트 코드를 프리다에서 실행 가능하도록 생성
script.load()
# 생성된 스크립트를 로드
device.resume(pid)
# 프로세스의 메인 스레드 실행
sys.stdin.read()
# 스크립트가 실행되기 전에 프로세스가 종료되는 문제 방지
import frida, sys
jscode = """
Java.perform(function() {
var act = Java.use("android.app.Activity");
act.onResume.implementation = function() {
console.log("[*] onResume() got called!");
this.onResume();
};
});
"""
# 자바스크립트 코드: Activity의 onResume 호출 시 로그 출력
session = frida.get_remote_device().attach("org.mozilla.firefox")
# 파이어폭스 프로세스에 연결
script = session.create_script(jscode)
# 자바스크립트 코드를 스크립트로 생성
script.load()
# 스크립트 로드
sys.stdin.read()
# 프로세스 종료 방지
import frida, sys
jscode = """
Java.perform(function() {
var act = Java.use("android.app.Activity");
act.onResume.implementation = function() {
console.log("[*] onResume() got called!");
this.onResume();
};
});
"""
session = frida.get_remote_device().attach("org.mozilla.firefox")
script = session.create_script(jscode)
script.load()
# 종료 명령어 추가
while True:
line = sys.stdin.readline().strip()
if line.lower() == 'exit':
session.detach()
break
이렇게 파이썬 바인딩을 활용하면 프리다 작업을 보다 효율적이고 간편하게 자동화할 수 있습니다. 특히 exit 명령어를 추가하면 작업 후 깔끔하게 종료할 수 있어 더욱 편리합니다.
파이썬 바인딩_2 (0) | 2025.04.09 |
---|---|
프리다 자바스크립트 활용하기_2 (1) | 2025.04.09 |
프리다 자바스크립트 활용하기 (0) | 2025.04.08 |
프리다 CLI 사용하기 (0) | 2025.04.08 |
프리다 기본 문법 (0) | 2025.04.05 |