Android/Androgoat

    Network Intercepting

    Analysis 기기에서 Burp Proxy 설정 이후 HTTP, HTTPS 버튼을 누르면 다음과 같이 Burp Suite에서 두 버튼 활성화로 인한 패킷을 확인할 수 있지만 마지막 CERTIFICATE PINNING으로는 패킷이 잡히지 않는 것을 확인할 수 있다. (Burp Proxy 설정) Code http final class TrafficActivity$onCreate$1 implements View.OnClickListener { final /* synthetic */ TrafficActivity this$0; TrafficActivity$onCreate$1(TrafficActivity trafficActivity) { this.this$0 = trafficActivity; } public fi..

    Binary Patching

    Analysis Binary Patching 항목을 눌러보면 다음과 같이 액세스 권한이 없어서 기능을 사용할 수 없다는 문구와 비활성화되어있는 버튼을 확인할 수 있다. code onCreate public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView((int) R.layout.activity_binary_patching); if (this.isAdmin) { TextView textView = (TextView) _$_findCachedViewById(R.id.isAdminText); Intrinsics.checkExpressionValueIsNotNull(textView, "isA..

    Emulator Detection

    Analysis LD player, Nox와 같은 애뮬레이터에서 앱을 실행 중인지 확인하는 기능이다. 애플리케이션을 실행하는 환경이 애뮬레이터인지 아닌지에 따라 출력되는 메시지가 다르다. Code EmulatorDetectionActivity$onCreate$1 final class EmulatorDetectionActivity$onCreate$1 implements View.OnClickListener { final /* synthetic */ EmulatorDetectionActivity this$0; EmulatorDetectionActivity$onCreate$1(EmulatorDetectionActivity emulatorDetectionActivity) { this.this$0 = emulat..

    Root Detection

    Analysis OS 변조 탐지 기능 적용 유무를 확인하기 위한 기능이다. CHECK ROOT 버튼을 누르면 루팅 여부에 따라 "Device is rooted" or "Device is not rooted"라는 문자를 출력한다. 실제 테스트 하는 기기는 루팅 된 기기이기 때문에 다음과 같이 "Device is rooted"라는 문자열을 출력하는 것을 확인할 수 있다. Code RootDetectionActivity$onCreate$1 final class RootDetectionActivity$onCreate$1 implements View.OnClickListener { final /* synthetic */ RootDetectionActivity this$0; RootDetectionActivity$..