Notice
Recent Posts
Recent Comments
«   2025/07   »
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
07-09 19:26
Today
Total
관리 메뉴

해킹공주의 일상

[FridaLab] 2번 문제풀이 본문

사이드 프로젝트/CTF & 워게임

[FridaLab] 2번 문제풀이

7.3.7 2022. 11. 22. 15:15

1. 문제 파악

chall02() 실행시키란다

달려라 챌2야

 

 

2. 문제풀이

- 정말 친절하게두 jadx에서 함수 풀경로를 알려준다... 친절한 제덱스쿤

 

 

- 그냥 꺼내서 쓰려니 에러난다.. 대충 인스턴스 안만들고 인스턴스 객체를 부르지 말란다

 

 

- 확인해보니 이렇게 static 함수가 아니라 인스턴스화 된 객체의 경우에는 선언을 먼저 해주고 써야한다구한다.

 

 

- 인스턴스 객체를 쓸 때에는 Java.use 대신 Java.choose를 사용한다. 객체를 선택해서 match 할때 변수에 담아서 인스턴스를 생성해주고, 거기에 있는 함수를 강제 호출하면 된다.

 

더보기

//fridalab.js
setImmediate(function(){
Java.perform(function(){
var main; // MainActivity를 담을 main 변수 선언

Java.choose('uk.rossmarks.fridalab.MainActivity',{
onMatch : function(instance){
main = instance;
},
onComplete : function(){} // 실행된 후
});
main.chall02();
});
});

 

 

- 실행! 오류가 나긴하는데... 왜나는지 모르겠지만 일단 성공했다

오류 구문 : TypeError: cannot read property 'chall02' of undefined

 

+) 아래처럼 새로 변수 할당해서 안주고 그냥 바로 호출하면 오류없이 되긴되는데.. 이상하게 실행시켰을때 바로 안뜨고 실행시킨 다음에 빨간 네모 코드를 삽입했을때 성공한다.. 이유를 찾아봐야게따

더보기

//fridalab.js
setImmediate(function(){
Java.perform(function() {

    Java.choose("uk.rossmarks.fridalab.MainActivity", {
      onMatch: function(chall_02) {
chall_02.chall02();
      },
      onComplete: function() {
        console.log("call chall_02 instance method");
      }
    });
  });
});

'사이드 프로젝트 > CTF & 워게임' 카테고리의 다른 글

[FridaLab] 7번 문제풀이  (0) 2022.11.28
[FridaLab] 5번 문제풀이  (0) 2022.11.22
[FridaLab] 4번 문제풀이  (0) 2022.11.22
[FridaLab] 3번 문제풀이  (0) 2022.11.22
[FridaLab] 1번 문제풀이  (0) 2022.11.22
Comments