작성
·
441
답변 3
1
거의 즉답 수준으로 빠른 답변 너무 감사드립니다. 보여주신 예문을 참고해서 파이썬 바인딩을 만들수 있었습니다. 다른 방법도 있는지 찾아보다가 frida-compile 을 사용하여 두가지 스크립트를 하나로 묶을 수도 있었습니다. 감사합니다.
1
안녕하세요. 보안프로젝트 김태영입니다.
.
두 가지 기능을 우회하기 위해선 아래와 같이 jscode에 작성 가능합니다.
아래 코드는 "FRIDA 활용-루팅 탐지 우회"와 "FRIDA 활용-암호 복호화" 기능을 한번에 묶은 것입니다. Java.perform()안에 각 기능을 하는 코드를 추가해주시면 사용 가능합니다.
.
추가적인 질문이 있으시다면 언제든 해주세요. 감사합니다.
import frida, sys
jscode= """
setImmediate(function(){
Java.perform(function() {
console.log("[*] Hooking System.exit()");
var exitBypass = Java.use("java.lang.System");
exitBypass.exit.implementation = function () {
console.log("[*] Hooking Success");
}
console.log("[*] Hooking Decrypted Secret");
var decrypteClass = Java.use("sg.vantagepoint.a.a");
decrypteClass.a.overload('[B','[B').implementation = function(arg1, arg2) {
retval = this.a(arg1, arg2);
secret = ''
for(i=0; i<retval.length; i++) {
secret += String.fromCharCode(retval[i]);
}
console.log("[*] Decrypted : " + secret);
return retval;
}
})
})
"""
session = frida.get_usb_device().attach("owasp.mstg.uncrackable1")
script = session.create_script(jscode)
script.load()
sys.stdin.read()
0