Android/InsecureBankv2

BytecodeViewer를 활용한 APK 분석

박연준 2023. 7. 3. 17:02

BytecodeViewer를 활용한 APK 분석

apktool, JD-GUI의 모든 기능을 하나로 합친 듯한 기능을 가진 BytecodeViewer를 이용하여 APK 파일을 분석할 수 있다.

APK 파일을 디컴파일하여 바이트 코드 형태로 보여주고, 클래스 파일 → 자바 파일로 변환한 소스파일도 복원해 함께 보여준다.

즉, 한 쪽에는 자바 디컴파일 소스 코드를 보여주고 다른 한 쪽에는 바이트 코드를 보여주어 바이트 코드를 수정하기에 유용하다.

또한, 다른 도구에 비해 분석 속도가 매우 빠른 것이 장점이다.

 

 

BytecodeViewer는 아래 링크에서 파일을 다운받을 수 있다.

https://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

 

최신 버전인 파일을 다운받아서 아무 폴더에 저장한다.

 

폴더에 압축을 풀어준 후 이 폴더의 주소를 cmd창에 붙여넣기 해준다.

 

 

cmd창에 java -jar Bytecode-Viewer-2.11.2.jar 이라고 버전에 맞게 명령어를 잘 입력한다.

 

Successfully라고 성공적으로 완료가 되면 다음과 같이 Bytecode Viewer가 잘 나오는 것을 확인할 수 있다.

왼쪽 메뉴에 Drag class/jar/zip/APK/DEX HERE 이라는 문구가 있는데 이곳에 분석하고자 하는 파일을 드래그하여 불러오면 된다.

InsecureBankv2.apk 파일을 드래그 하면 다음과 같은 화면이 나오는데 왼쪽은 자바 디컴파일 된 소스코드이며, 오른쪽은 바이트 코드를 보여준다. 해석된 두 개의 소스 코드를 같이 보여주니 바이트 코드를 수정하는데 매우 유용하다.

 

플러그인 메뉴가 있는데 플러그인 중에는 코드 다이어그램, 악성코드 여부 판단, 메소드 정보 확인, 문자열 정보 확인 등이 가능하다. 그 외에 자신이 플러그인을 제작하여 반영할 수 있다.