1. apk studio 설치
2. apk pure 에서 앱 다운로드
3. apk studio 에서 apk 열고, 각 라이브러리를 설치한다.
(세팅했는데 뭐가 잘 안된다면, 툴 중에 뭐가 문제가 있는지는 APK Studio 왼쪽 아래에 나오니 버전을 확인해보자. 참고로 jadx는 bat파일로 설정해 준다.)
4. MainActivity.smali 수정이 필요하므로, apk studio를 열어서 찾아둔다.
5. MainActivity.smali 웹앱 디버깅 가능 옵션 끼워넣기
onCreate 함수 내부 리턴 라인 전에 디버깅 허용 코드를 끼워넣는다.
라인이 길면 동일 라인이 없는지 확인 후 라인을 새로 만드는게 정신 건강에 좋다.
참고로 라인 새로 안 만들고 기존 라인 안에 넣으려면 v0가 아니라 순서 번호에 맞춰야 한다
예를들어 v0, v1이 이미 사용중이면 v2로 지정해야 한다.
.method protected onCreate(Landroid/os/Bundle;)V
<중략>
.line 125
<중략>
.line 126 (라인을 새로 끼워넣음)
const/4 v0, 0x1
invoke-static {v0}, Landroid/webkit/WebView;->setWebContentsDebuggingEnabled(Z)V
.line 125 -> 127 (리턴이 125라인에 같이 있었는데 127로 옮김)
return-void
6. 키스토어 만들기
keytool -genkey -v -keystore seckim.keystore -alias seckim -keyalg RSA -keysize 2048 -validity 10000
7. 빌드 및 사인
사인 후 *-decompiled\dist 폴더에 나옴
8. 휴대폰을 컴퓨터와 연결 한 후, 디버깅 모드를 허용한다.
9. 버프수트 인터넷 또는 크롬을 켜고 chrome://inspect 에 접속한다.
포트포워딩이 가능하긴 한데, 1024 이상 포트만 가능한걸로봐서 권한 때문인듯하다.
네트워크 패킷을 보고 싶으면 모바일에 버프수트 인증서를 설치하고 프록시 설정을 하면 된다. 이 때 피닝이 되어있으면 우회해야한다.
이제 inspect를 눌러서 해피해킹을 시작하면 된다.
10. 요청 Repeater
요청을 똑같이 다시 보내보고 싶으면 버프수트 Repeater를 사용 해도 되지만,
네트워크 탭에서 카피하면 언어에 맞은 코드를 만들어 낼 수도 있다.
11. 빠르게 리다이렉트 되면서 로그가 사라지는 문제
리다이렉트 되더라도 네트워크 로그를 계속 남겨서 보고 싶을 때, 아래처럼 Preserve log 를 체크하여 활성화 한다.
0 개의 댓글:
댓글 쓰기