안드로이드 해킹 (1)
2013년 9월 7일 토요일
안드로이드 해킹
대략적인 순서
소스수정 (apk자체 수정)
1.0. apk -> class -> (java ->) 수정 -> apk
1.1. apk 언팩및 apk, dex 분석
1.2. class 추출후 디컴파일
1.3. 수정된 java 컴파일후 apk 패킹
패킷 조작
2.1. 내부에서 패킷수집/조작
2.2. 외부서버(or PC) 구축후 서버에서 패킷수집/조작
메모리 수정
매크로 제작
4.1. 외부에서 터치 이벤트
4.2. 내부에서 터치 이벤트
apihooking
PC프로그램과 비교
안드로이드는 기반이 리눅스이다보니 윈도우기반과 다른점이 많다. 프로그램을 수정하는 방법도 소스수정(바이너리패치)이 dll(so)주입보다 수월 할 것 같다. (사실 리눅스에서 so주입을 어떻게 하는지도 모른다.) 더우기 안드로이드는 프로그램이 자바이다보니 디컴파일및 분석이 쉽다.
패킷조작은 내부에서 분석/조작하긴 쉽진않아도 외부에서는 차이점이 없겠다. 메모리 수정은 권한만 있다면 충분히 가능할것이다. 외부 터치 이벤트 발생은 안드로이드 내부시스템을 좀 알아봐야겠지만 pc로 화면을 미러링해주는 솔루션이 있느걸로 보아 충분히 가능할 것 같다.