frida native hooking(NDK 후킹)
2019. 7. 21. 19:47 ㆍ보안 이야기/취약점
FRIDA 툴을 이용해서 so 파일 NDK 로 작성된 부분에 hooking을 하는 소스코드입니다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
import frida
import sys
package_name = "패키지명 기입"
def get_messages_from_js(message, data):
print(message)
print (message['payload'])
def instrument_debugger_checks():
#Interceptor.attach (Module.findExportByName ( "hooking 해야하는 so 파일명", "Function명! ida로 봤을때의 이름과 동일하게 작성"), {
#프록시 유무에 따라 리턴값 확인 후 패치
hook_code = """
Interceptor.attach (Module.findExportByName ( "libXXXX.so", "FunctionName"), {
onEnter: function (args) {
},
onLeave: function (retval) {
// retval.replace(패치하고싶은 값)
console.log(retval)
}
});"""
return hook_code
# hook 이 잘 안걸리면 js만 가지고 훅걸것
process = frida.get_usb_device().attach(package_name)
script = process.create_script(instrument_debugger_checks())
script.on('message',get_messages_from_js)
script.load()
sys.stdin.read()
|
cs |
자세한 소스는 https://github.com/bourbonkk/FRIDA_hook_js
'보안 이야기 > 취약점' 카테고리의 다른 글
#sslscan 사용해서 취약점 점검하기(burp suite Extender) (0) | 2020.01.29 |
---|---|
#MobSF 모바일 보안(취약점 진단) 자동화 프레임 워크 (0) | 2020.01.05 |
frida Android hooking(모바일 해킹) (0) | 2019.07.21 |
전문가들이 사용하는 17가지 침투 테스트 툴 (0) | 2019.07.21 |
CryptoJS AES en/decryptor (0) | 2019.07.21 |