안드로이드는 MainActivity의 onCreate 함수를 시작으로 동작한다. jadx를 사용하여 MainActivity를 확인하고, 원하는 값을 변조한다.
우선 AndroidManifest.xml 파일을 확인하면 메인으로 확인되는 코드가 있다.
위 박스에 적혀있는 MainActivity를 들어가보면 프로그램이 시작되는 onCreate 함수를 볼 수 있다.
smali 코드 변조를 위해 apk easy tool로 디컴파일하고, smail/b3nac/apk명 폴더 속 MainActivity.smali 파일을 다음과 같이 수정한다.
사진 속 체크 된 내용을 수정 및 추가해줬다. ccit test 라는 문장이 출력되게 하는 smali 문법이다.
.locals 0을 1로 바꿔준 이유는 레지스터를 사용하기 위함이다. 1로 바꿈으로써 레지스터 사용이 가능해졌고, v가 변수처럼 사용된다.
변조한 코드를 APK Easy Tool을 사용하여 다시 컴파일을 해준다.
Sign APK → Compile을 진행한다.
Recompiled APKs 폴더 안에 있는 apk를 Nox로 불러오면 다음과 같이 ccit test 문장을 확인할 수 있다.
'App > InjuredAndroid' 카테고리의 다른 글
injured.apk | FLAG FOUR - LOGIN 2 (0) | 2021.09.13 |
---|---|
injured.apk | FLAG THREE - RESOURCES (0) | 2021.09.13 |
injured.apk | FLAG TWO - EXPORTED ACTIVITY (0) | 2021.09.13 |
injured.apk | FLAG ONE-LOGIN (0) | 2021.09.13 |
injured.apk | XSS (0) | 2021.09.13 |
댓글