Android-Disassembler
CodeFactor

휴대폰에서 악성 앱 분석
유지 관리 상태
유지 관리는 재개되었지만, 프로젝트는 여전히 복구 및 현대화 단계에 있습니다.
- 이제 기본값은 빌드 전에 초기화된 git 서브모듈을 필요로 합니다.
- 기본 열기/가져오기/내보내기 흐름은 최신 Android에서 SAF 우선 계약을 사용합니다.
고급 가져오기는 루트, 원시 파일 시스템 및 설치된 앱 탐색을 위한 별도의 고급 사용자 경로입니다.
QUERY_ALL_PACKAGES는 기본 SAF 흐름이 아닌 고급 사용자용 설치 앱 소스에 유지됩니다.
- 이슈 분류 및 유지 관리 문서는
docs/maintenance/에 있습니다.
저장소 모델
파일 선택은 Android의 SAF 문서 선택기를 사용합니다.
프로젝트 내보내기 및 세부 정보를 파일로 저장은 SAF 문서 생성 흐름을 사용합니다.
고급 가져오기는 선택 사항이며, 원시 파일 시스템, 루트 또는 설치된 앱 진입점이 필요한 고급 사용자를 대상으로 합니다.
- 설치된 앱 탐색은 고급 사용자 기능으로 취급되므로 패키지 가시성은 기본 SAF 흐름과 분리되어 유지됩니다.
미리보기 빌드
- 모든 CI 실행은 GitHub Actions에서 디버그 APK 아티팩트를 업로드합니다.
- 별도의 미리보기 워크플로는 공식 릴리스 전에 최신 브랜치 빌드를 시험해보려는 사람들을 위해 디버그 서명 APK와 함께 롤링
Preview latest 프리릴리즈를 게시할 수 있습니다.
- 공식 릴리스 자산은 일반 GitHub Releases 흐름에 유지됩니다.
Android Disassembler는 APK 파일, dex 파일, 공유 라이브러리(.so 파일) (NDK, JNI), Windows PE 파일(EXE, DLL, SYS 등), Linux 실행 파일, 오브젝트 파일 등 여러 유형의 파일을 분석할 수 있는 애플리케이션입니다. 이러한 앱 기능은 capstone 라이브러리, elf 파서, PE 파서, backsmali, facile reflector를 기반으로 합니다.

버전 2.1.5 릴리스!
새로운 기능 : 몇 가지 사소한 버그(크래시) 수정
기능
- elf 파일의 세부 정보를 표시합니다.
- elf 파일의 심볼 테이블(함수 또는 객체 이름 등)을 표시합니다.
- 코드 섹션을 디스어셈블합니다.
- 디스어셈블 결과를 다양한 내보내기 옵션으로 제공합니다. (재로드 가능한 원시 파일, 컴파일 가능한 텍스트 파일, 분석 텍스트 파일, json 및 재로드 가능한 데이터베이스)
- 프로젝트를 지원합니다.
- 파일 브라우저에서 직접 실행을 지원합니다.
- 많은 ABI(arm, x86, x64, MIPS, PowerPC 등)를 지원합니다.
- 심볼 이름 또는 16진수 주소로 주소로 이동합니다.
- 구문 색상 지정.
- PE 및 기타 바이너리 형식을 지원합니다.
- 필요한 경우 심볼 정렬.
- PUSH/POP 명령어 색상 지정.
- ARM 아키텍처 명령어 색상 지정 개선.
- 점프 명령어에 Follow Jump 메뉴 추가 (BackStack 포함)
- 자동 구문 분석 설정을 재정의할 수 있습니다.
- 명령어를 클립보드에 복사할 수 있습니다.
- 이제 PE 헤더의 IAT, EAT를 구문 분석합니다.
- 이제 볼 열을 선택할 수 있습니다.
- 루팅된 휴대폰에서 루트 권한 없이 접근할 수 없는 시스템 파일 분석을 지원합니다.
- 구문 분석할 수 없는 파일에 대해 더 친근한 메시지를 표시합니다.
- 저장소 선택기는 이제 세션을 유지하여 마지막으로 탐색한 폴더를 기억합니다.
- 16진수 뷰 및 유틸리티 계산기를 추가했습니다.
- 테마 설치가 자동화되었습니다.
- zip/apk에 여러 바이너리가 있을 때 분석할 바이너리를 선택합니다.
- 설치된 앱에서 APK를 선택합니다.
- 바이너리에서 문자열 검색 (안타깝게도 ASCII 문자만 지원)
- 파일이 암호화되었는지 확인하는 데 도움이 되는 바이트 단위 분석(평균, 해시, 엔트로피, g-검정, 카이제곱 검정, 자기상관)
- .NET 어셈블리 지원
- dex 파일 지원
- 프로젝트에서 여러 파일 분석을 허용합니다.
사용 설명 동영상

어셈블리 관련 자료
오류 처리
-
앱이 충돌합니다!
불편을 드려 죄송합니다. 이슈로 오류 보고서를 보내주세요. 다음 안정 버전을 기다릴 수 없다면 앱에 읽기/쓰기 권한을 확인/부여해주세요.
-
NotThisFormatException
잘 알려진 실행 파일인가요? (ELF:.so, .o, .lib, .a 등, PE:.exe, .dll, .sys 등) 그렇다면 디스어셈블하려는 파일과 함께 저에게 보고해주세요.
그렇지 않다면 확인을 누르고 수동으로 설정해야 합니다.
기능 요청은 언제나 환영합니다!
빌드 및 풀 리퀘스트
- 먼저 서브모듈을 초기화하세요:
git submodule update --init --recursive
- Android Studio 또는 구성된 Android SDK/NDK와 함께 Gradle을 사용하세요.
- 모든 개선 사항을 환영합니다!
오픈 소스
이 앱은 다음을 사용했습니다
TODO
- 심볼 탭에 NDK/C 표준 API의 프로토타입 표시
- 더 정교한 색상 지정
- 더 유용한 주석 생성
- 어셈블리 튜토리얼 제공
- 디버깅을 위한 의사 가상 머신 추가
- 사용자가 활성 프로세스를 분석할 수 있도록 허용
- 디스어셈블리 옆에 화살표 추가
- 행 선택
- Thumb 어셈블리 지원 개선
- OllyDbg의
.udd/.bak 파일과의 호환성 추가
- IDA 생성 파일과의 호환성 추가
- 다른 유틸리티 추가 예정
- 안드로이드 리소스 분석기 추가
- 사용자가 Google Drive에서 파일 선택 가능
- 사용자가 해시로 웹에서 샘플 선택 가능
감사
https://reverseengineering.stackexchange.com/a/20124/23870
참조
https://reverseengineering.stackexchange.com/a/18203/23870
개인정보 보호정책
다음 사항을 알려드립니다:
FileCorruptedException과 같은 유형의 충돌 보고서가 전송될 때, 분석 중인 파일이 버그 보고서 이메일에 첨부되어 github.com의 저장소에 업로드될 수 있습니다.
Star 기록
