프리다 후킹 CTF

2019. 7. 21. 19:43 보안 이야기/리버스엔지니어링

지난번에 풀이는 문제 의도보다는 그냥 무조건 참을 만든 것이였어서 다시 올린다.

 

 

 

 

위처럼 다시 시도하라고 팝업이 뜬다

 

 

 

 

위처럼 후킹 소스를 짠다. 내가 짠거는 아니고(베꼈다..ㅋㅋ) 대용은 뭐냐면..

 

출처:http://gflow-security.tistory.com/entry/Android-App-Hooking-with-Frida1

 

aclass 에 sg.vantagepoing.a.a를 넣었고

 

aclass의 a 메소드를 조작하기 위해

 

aclass.a를 지정해준다.

 

이 메소드는 원래 아래와 같다.

 

 

 

retval = this.a(arg1,arg2);

 

이렇게 retval 변수에 a 메소드의 값을 넣어주고

 

Decripted_Code=''; 변수를 선언하고 바로 치환

 

 

for문을 이용해서 retval 변수의 길이만큼 반복을 돌리고

 

Decripted_Code+=String.fromCharCode(retval[i])

 

Decripted_Code 변수에 retval 변수 안에 담겨있는 아스키코드를 

 

String.fromCharCode 이 함수로 스트링형태로 바꿔서 대입

 

그담에 리턴하는 훅 소스이다.

 

 

 

 

 

훅을 걸고나서 아무 문자열이나 넣고 VERIFY를 눌러보면 

 

디크립트된 문자열을 뱉는다.

 

 

 

 

이렇게 성공/.