본문 바로가기

Mobile

[연습3]JNI 디버깅 am start -a android.intent.action.MAIN -n tuto.knowryu.tutorial2_native/tuto.knowryu.tutorial2_native.MainActivity JNI 디버깅 방식1 1. 두 개의 IDA를 실행하여 한개의 IDA에는 classese.dex 를 다른 하나의 IDA에는 대상 SO 파일을 로드한다.2. adb를 이용하여 tcp forward 후 (C:\>adb forward tcp:23915 tcp:23946 , adb forward tcp:23946 tcp:23946) 3. classese.dex를 올린 IDA에서 원하는 부분(SO파일 적재 전)에 브레이크 포인트 설정 후 디버거 -> 디버그 옵션에서 set specific options 항목을 선.. 더보기
[연습1] 루팅 탐지(exec 방식) 을 Frida를 사용하여 우회. [1. 클래스 호출을 통한 우회] 대상코드 package tuto.knowryu.tutorial; import android.content.DialogInterface; import android.os.Process; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatAct.. 더보기
[연습1] 루팅 탐지(exec 방식) public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void RootClick(View v){ boolean rst = false; TextView rootresult = (TextView) findViewById(R.id.rootresult); try{ Runtime.getRuntime().exec("su"); rst = true; }catch(Exception e){ rst = false; } i.. 더보기