억대 연봉을 위한 인간수업
반응형

APK 파일 해킹을 하다보면 메세지 조차 출력되지 않고 종료되는 app 들이 있을겁니다.

 

이런경우 어떤 액티비티가 실행되어 루팅 탐지를 하고 있는지 확인해야 합니다.

 

방법은 frida 코드를 사용해 현재 어떤 액티비티를 출력했나 확인하면됩니다.

 

코드는 아래와 같습니다.

 

 

import frida, sys

def on_message(message, data):
	if message['type'] == 'send':
		print("[*] {0}".format(message['payload']))
	else:
		print(message)

APP = "확인하려는 앱 이름 넣으십쇼"

jscode = """

console.log("[*] frida code is start!!");
            
Java.performNow(function() {

    var Activity = Java.use('android.app.Activity');
    let lastActivity = null;
    Activity.onResume.implementation = function () {
        lastActivity = Java.retain(this);
        this.onResume();
        console.log("activity : " + lastActivity);
    };
});

"""

try:
	device = frida.get_usb_device(timeout=10)
	print("[*] frida.get_usb_device")
	pid = device.spawn(APP)
	print("[*] {} is being spawned. (pid: {})".format(APP, pid))
	session = device.attach(pid)
	print("[*] {} is being attached. (pid: {})".format(APP, session))
	device.resume(pid)
	script = session.create_script(jscode)
	script.on('message', on_message)
	print('[*] Running Hook')
	script.load()
	sys.stdin.read()
except Exception as e:
	print(e)

 

 

여기서 중간에 console.log부분이 있는데, 이걸 통해서 콘솔창에 실행되는 액티비티를 확인할 수 있습니다!

 

 

 

 

 

반응형
profile

억대 연봉을 위한 인간수업

@회뜨는참치

이 글이 당신에게 조금이라도 도움이 된다면 좋겠습니다.