Home (mobilehacking.kr) MobileBabyAnalysis3
Post
Cancel

(mobilehacking.kr) MobileBabyAnalysis3

MobileBabyAnalysis3 문제이다.
앱을 실행해보면

image

힌트이다.

image

root cause를 분석하라는데 이것이 native code를 분석하라는 뜻 같다.

apk파일을 열어보면 libbabyanalysis.so 파일이 있고 ida로 까보면 generate_flag함수가 있다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
__int64 __fastcall generate_flag(__int64 a1)
{
  __int64 i; // rax
  __int64 v2; // rbx

  *(_OWORD *)a1 = 0;
  *(_QWORD *)(a1 + 16) = 0;
  for ( i = 0; i != 36; i = v2 )
  {
    v2 = i + 1;
    std::string::push_back(a1, (unsigned int)(char)((i + 1) ^ byte_13970[i]));
  }
  return a1;
}

이 후 byte_13970의 값을 가지고 역연산 해주면 flag가 나온다.

1
2
3
.rodata:0000000000013970 byte_13970      db 67h, 6Eh, 62h, 63h, 7Eh, 74h, 62h, 7Eh, 6Ch, 2 dup(78h)
.rodata:0000000000013970                                         ; DATA XREF: generate_flag(void)+18↓o
.rodata:0000000000013970                                         ; encrypt_flag(void)+2F↓o

flag{reverse_the_native_code_and_me}

This post is written by PRO.