
[안드로이드] 앱 리패키징 오류 시 (feat. apk easy tool)
2022. 10. 28. 18:47
Mobile/Android
앱 진단 중 코드 패치할 일이 있어서 디컴파일 후 리패키징하는데 오류가 생겼다. 오류 코드는 brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): 이 오류는 리패키징 시 나타날 수 있는 오류인데 대부분 AAPT 관련 이슈 때문에 많이 일어난다고 한다. AAPT(Android Asset Packaging Tool)란? 안드로이드에서 사용되는 문자열, 이미지 등의 에셋(Asset)을 효율적으로 컴파일하고 패키징 하기 위한 도구이다. 방법은 크게 4가지라고 한다. 참고로 나는 마지막 방법으로 오류를 해결했었다. 해당 기준은 apk tool 기준이고 나는 apk easy tool 로 했기 때문에 apk..

[안드로이드] 루팅 시 "OEM 잠금해제" 메뉴가 없을 경우
2022. 10. 26. 11:10
Mobile/Android
점검 폰이 한번 벽돌이 되어서 초기화시키고 순정 펌웨어를 다시 깔았다. 다시 루팅을 하려고 개발자 모드를 켜보니 "OEM 잠금해제" 메뉴가 보이질 않았다. 일단 USB 디버깅만 키고 노트북에 연결해서 루팅 진행해보았다. 하지만 TWRP로 부트로더 덮어쓰는 부분부터 막혔다. 에러 코드는 “only official released binaries are allowed to be flashed(RECOVERY)” 공식 출시된 바이너리만 플래시 허용인데, 한마디로 인터넷에서 받은 임의의 파일을 사용하지 못하게 한 거다. 1. OEM 잠금해제 비활성화 이유 찾아보니 삼성 KNOX에서 KG모드로 들어간 거라고 한다. KG란 KNOX GUARD의 줄임말로 삼성이 가지고 있는 보안 기능 중 하나이다. 이 기능은 TWR..

[안드로이드] 진단 폰 벽돌 되었을 시 복구 방법
2022. 10. 19. 17:52
Mobile/Android
안드로이드 진단하던 도중 adb에서 reboot 명령어를 치니까 갑자기 핸드폰이 무한 재부팅의 늪에 빠졌다.한마디로 벽돌이 된건데 복구하려면 초기화 한 다음에 순정 펌웨어를 넣어주어야 한다. 점검 폰 : Galaxy s8(루팅)버전 : android 9.0 1. 초기화 하기우선 공장 초기화를 진행해야 한다.무한 재부팅에 걸렸기 때문에 "볼륨 위키"+"홈 버튼(볼륨 아래 버튼)"+ 전원 버튼을 눌러주어 리커버리 모드로 들어간다.루팅 폰이기 때문에 TWRP 가 깔려있어서 TWRP로 진입하게 된다. Wipe > Format data를 사용하면 쉽게 공장 초기화를 할 수 있다.** 공장 초기화 후 roboot 버튼 누르지말고 "볼륨 아래키 + 빅스비버튼 + 전원 버튼" 눌러서 다운로드 모드 접근 2...

[안드로이드] Read-only file system 오류 해결
2022. 10. 19. 11:20
Mobile/Android
단말기로 버프 연동하기 위해 인증서를 넣는 도중 Read-only file system 오류가 생겼다. - remount 하는 명령어: mount -o rw,remount -t ext4 /경로 /system 1. mount 명령어 - 실패 /system 쪽을 리마운트 해주어야 한다고 해서 처음에 mount 명령를 입력했다. /system 디렉토리 실제 마운트 경로로 보이는 2개를 발견했는데 둘 다 ro로 되어 있었다. 어떤 거일지 몰라서 둘 다 리마운트를 진행했는데 결과는 둘 다 바뀌지 않았다. 2. /proc/mounts 명령어 - 성공 인터넷을 더 찾아보니 /system 마운트 경로를 확인하는 명령어가 더 있었다. 해당 명령어로 확인한 /system 경로는 mount 명령어 결과와는 달랐다. cat ..

[안드로이드] Frida Hooking 시 Failed to spawn 오류 해결
2022. 5. 3. 17:00
Mobile/Android
안드로이드 후킹 코드를 돌리려는 차에 해당 오류가 나왔다. 단말기에서 발생하는 오류이다. 해당 오류를 해결하는 방법은 Magisk 설정에서 MagiskHide를 숨기면 된다.

[안드로이드] Jadx 꿀팁
2022. 5. 3. 16:10
Mobile/Android
1. 사용 검색 메소드 클릭 후 x 클릭하면 해당 메소드가 쓰이는 곳을 검색할 수 있음. 2. 후킹 코드 만들기 후킹할 메소드 클릭 후 frida 스니펫으로 복사를 누르면 자동으로 프리다 후킹 코드가 생성

[안드로이드] Android 10 이후 외부저장소
2022. 4. 29. 10:38
Mobile/Android
안드로이드 파이 버전(9) 이하 버전과 nox에서는( 안드로이드 5/7 버전을 지원하기 때문 ) 상관없지만 안드로이드 10 이상 단말기에서 더 이상 아래와 같은 방법으로 외부 저장소에 대해 점검하지 못한다. https://mise.tistory.com/83 [안드로이드] 인시큐어 뱅크 (InsecureBankv2) 18.취약한 SD 카드 스토리지 인시큐어뱅크에서 찾을 수 있는 취약점 중 "취약한 SD 카드 스토리지" 취약점을 찾아보기로 했다. SD 카드는 외부 저장소로 어느 앱이나 접근할 수 있는 공간이다. 그렇기 때문에 암호화되지 않은 mise.tistory.com > 안드로이드 10 버전 이후에서는 1. 최상위 경로를 가지고 오는 메서드인 getExternalStorageDirectory() 메서드를..
[안드로이드] 로그에서 정보 얻기 (logcat)
2022. 4. 28. 13:08
Mobile/Android
로그에 암호화되지 않는 정보가 저장되는 경우가 있으므로 로그를 확인해 보자 - nox nox_adb logcat > logcat.txt - 단말기 adb logcat > logcat.txt - 로그 초기화 adb logcat -c
smali 코드 해석하기
2022. 4. 28. 10:37
Mobile/Android
https://hyeonbell.tistory.com/1 Android/Smali code || Byte code 1. Java 자바 탄생의 목적은 실제적으로는 가전제품에 사용할 소프트웨어를 만들기 위해 였다. 가전제품에 적용 되는 작은 내장형시스템(embedded system)에 맞는 요구사항을 충족해야만 했고, 이에 hyeonbell.tistory.com 해당 블로그에서 ctrl + F 으로 찾아가면서 해석하면 된다.

[안드로이드] Frida 문법 정리
2022. 4. 19. 16:09
Mobile/Android
> Java.use() Java.perform(function() { console.log("[+] Hooking System.exit"); var exitClass = Java.use("java.lang.System");//hooking 할 메소드의 class 명 exitClass.exit.implementation = function() { //class명.method명.implementation = funtion(argv[]) console.log("[+] System.exit called"); } }); > Java.choose() Java.perform(function() { var test console.log("[+] Hooking System.exit"); Java.choose("uk.ro..