Description

Category: Reversing/Android

Source: TAMUctf 2019

Points: 418

Author: Jisoon Park(js00n.park)

Description:

Can you find my secrets?

howdyapp.apk

Write-up

android 문제이다. 주어진 apk 파일을 emulator에 설치해서 실행시켜 보았지만 그림을 누를때마다 카운트가 올라가는 것 외에 특별한 동작은 없었다.

jadx-gui를 사용해서 MainActivity의 코드를 살펴보았어도 별다른 것을 찾을 수 없었다.

package com.tamu.ctf.howdyapp;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView((int) R.layout.activity_main);
        final TextView buttonCount = (TextView) findViewById(R.id.count);
        ((ImageButton) findViewById(R.id.button)).setOnClickListener(new OnClickListener() {
            public void onClick(View view) {
                buttonCount.setText(String.valueOf(Integer.valueOf(buttonCount.getText().toString()).intValue() + 1));
            }
        });
    }
}

특별히 문자열을 변환해서 보여주는 구문 같은 것도 없으니, 어찌됐건 뭐가됐건 apk 내에 flag 문자열이 있을 거라고 생각하고 gigem이나 flag 문자열을 찾아봤더니 classes.dex와 resources.arsc 파일 내에 그런 문자열이 있었다.

코드를 뒤져봤을 때는 별게 없었으니까 resources.arsc를 열심히 찾아보자.

resources.arsc/res/values/strings.xml 파일에서 다음과 같은 값들을 찾을 수 있었다.

flag라고 써있는 문자열을 base64 디코딩 했더니 flag를 얻을 수 있다.

Flag : gigem{infinite_gigems}

'writeups > Reversing' 카테고리의 다른 글

Feed_me  (0) 2019.11.25
Snakes over cheese  (0) 2019.11.25
Local News  (0) 2019.11.25
KeyGenMe  (0) 2019.11.25
rock  (0) 2019.11.25

+ Recent posts