목록AOS (64)
Self-Improvement
정보 DIVA 앱을 실행하면 Hardcoding Issues 액티비티에 접근할 시 입력할 수 있는 것과 ACCESS 버튼이 존재한다. 아무 값이나 입력한 후 ACCESS 버튼을 클릭할 시 아래와 같이 문구가 출력된다. 해당 ACCESS 버튼을 눌렀을 시 실행되는 메소드를 찾아 후킹을 걸어보자. JADX 프로그램에 DIVA APK 파일을 올린다. 그리고 Text Search를 통해 ACCESS 버튼을 눌렀을 시 출력되던 "Access denied! See you in hell :D" 문구를 찾아본다. 총 2가지가 나오기에 하나의 메소드를 타겟으로 먼저 해본다. HardcodeActivity 액티비티를 확인한 후 먼저 실행되는 onCreate 메소드에서 R.layout.activity_hardcode를 se..
개발자가 안드로이드 앱을 배포하기 전에 서명이란 작업을 합니다. 개발자들은 앱이 리패키징되었나 확인하기 위해서 서명 값을 확인을 합니다. Signature sig = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES).signatures[0] 그리고 클라이언트 혹은 서버에서 검증을 하죠. 만약 개발자가 서명한 값을 알고 싶다면 아래 내용을 참고해주세요. 사전 준비 일단 JAVA 설치가 필요합니다. 구글에서 JAVA 설치라고 치면 자세히 설명되어 있으니 꼭 설치바랍니다. 실행 방법 JAVA 설치가 완료되면 윈도우 커맨드 창에서 아래 명령어를 사용합니다. java -jar GetS..
보호되어 있는 글입니다.
github.com/Konloch/bytecode-viewer/releases Releases · Konloch/bytecode-viewer A Java 8+ Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More) - Konloch/bytecode-viewer github.com APK를 올린 후 - Plugins - Show All Strings 을 선택하면 뽑아냄 그 외의 좋은 플러그인과 기능이 존재 jadx (dex을 jar로 변환하지 않아도 디컴파일을 해주는 유용한 툴) github.com/skylot/jadx/releases Releases · skylot/jadx Dex to Java decompiler..
루팅 필수 녹스 애뮬레이터로 수행한 메모리 덤프 1. adb, Python3을 설치해주며 Python 설치 과정에서 Path 등록까지 설정 2. 디바이스 아키텍쳐에 맞게 Frida-server을 다운받아준다. 여기서 버전 기준은 12.7.11 버전으로 진행 - frida-server-12.7.11-android-arm.xz - frida-server-12.7.11-android-arm64.xz - frida-server-12.7.11-android-x86.xz - frida-server-12.7.11-android-x86_64.xz https://github.com/frida/frida/releases/tag/12.7.11 frida/frida Clone this repo to build Frida. C..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
*apk 추출 및 디컴파일먼저 추출할 어플이 있는 핸드폰을 PC와 연결을 시켜줍니다(디버깅 모드도 On) Kali에서 핸드폰이 연결이 되어졌는지 확인해줍니다.adb devices 연결히 무사히 되었으면 접근을 해줍니다.adb shell 추출할 어플을 검색해줍니다.pm list packages -f | grep 확인된 패키지 경로를 복사하고 adb pull apktool d test.apk 을 통해 AndroidManifest.xml 파일을 볼 수 있다. 그외의 파일은 smali 파일로 구성되어있다.smali이란 안드로이드 실행 바이너리 코드를 사람이 쉽게 읽을 수 있도록 변형된 어셈블리어이다. 이제는 smali파일이 아닌 자바코드로 보기위해서 아래의 명령어를 진행한다.dex2jar 명령어를 통해 기존의 ..
■ 루팅 탐지 및 우회리눅스 기반 OS 에서 보안상의 이유로 Root 권한을 막아 놓았다. 안드로이드의 경우도 마찬가지로 애플리케이션에서 할 수 있는 행위가 제한된다. 이런 제한을 풀거나 우회하기 위해 시스템 권한을 루트 권한으로 획득해야 한다. 기기를 루팅하면 슈퍼 유저의 권한으로 하드웨어 성능 조작, 제조사 및 통신사 기본 애플리케이션 삭제, 시스템 권한을 이용한 다양한 디바이스 조작 등이 가능해진다. 루팅된 기기는 시스템 권한을 흭득하게 되어 디바이스 내부의 민감한 정보에 접근 할 수 있어서 금융권 애플리케이션은 기본적으로 루팅된 기기에 대한 실행을 차단하고 있다. 루팅 체크가 필수적인 금융 앱이나 게임 앱은 /system 경로의 su와 superuser.apk, com.noshufou.androi..