Android/Uncrackable
Uncrackable 2
앱 정보 앱을 실행시키면 이전 Uncrackable 1과 똑같이 루팅 감지를 하고 OK 버튼을 누르면 종료되는 것을 확인할 수 있다. 루팅 감지는 이전 단계와 똑같이 우회할 수 있으니 우회를 한 뒤 확인해보면 사용자 입력을 받을 수 있는 공간 하나와 VERFIY 버튼 하나로 구성되어 있음을 알 수 있다. 또한 이전과 똑같이 무작위 데이터 입력 후 버튼을 눌러보면 "Nope..."이라는 창을 확인할 수 있다. 앱 분석 verify() public void verify(View view) { String str; String obj = ((EditText) findViewById(R.id.edit_text)).getText().toString(); AlertDialog create = new AlertDia..
Uncrackable 1 - Secret String
앱 정보 이전 루팅 우회를 사용하여 애플리케이션을 실행하면 다음과 같이 문자열을 입력받는 부분과 VERIFY 버튼을 확인할 수 있다. 이때 문자열을 아무 값을 넣은 후 VERIFY 버튼을 눌러주면 다음과 같이 다시 시도하라는 메시지 창을 확인할 수 있다. 앱 분석 verify() public void verify(View view) { String str; String obj = ((EditText) findViewById(R.id.edit_text)).getText().toString(); AlertDialog create = new AlertDialog.Builder(this).create(); if (a.a(obj)) { create.setTitle("Success!"); str = "This is..
Uncrackable 1 - Root Detection
앱 정보 앱을 실행시켜보면 다음 그림과 같이 "Root detected"라는 창이 생기고 OK 버튼을 누르면 앱이 종료되는 것을 확인할 수 있다. 앱 분석 onCreate() public void onCreate(Bundle bundle) { if (c.a() || c.b() || c.c()) { a("Root detected!"); } if (b.a(getApplicationContext())) { a("App is debuggable!"); } super.onCreate(bundle); setContentView(R.layout.activity_main); } public class c { public static boolean a() { for (String file : System.getenv("..