목록분류 전체보기 (18)
JHLBLUE

1. adb 패키지 목록 출력pm list packages 2. frida codeimport frida, sysjavascript_root_bypass_code = open("jailbreak_bypass.js", "r", encoding="utf-8").read()package_name = "com.samsung.android.provider.filterprovider"device_manager = frida.get_device_manager()# 디바이스가 여러개일 때device_list = device_manager.enumerate_devices() # 디바이스가 여러개일 때device_android = Nonedevice_ios = Nonefor item in device_list: i..

준비Burp Suite + NoPE ProxyNoPE Proxy는 Burp Suite의 Extensions에서 설치하거나, jar 파일을 다운로드 하는 방법 둘 다 사용 가능PCAPdroid(Android 한정)Android 스마트폰은 NoPE Proxy 설정 이후 PCAPdroid 앱의 패킷 모니터링이 동작중인 경우에 패킷이 잡혔음네트워크 설정PC와 스마트폰은 동일한 네트워크에 연결되어야 함접속환경PC: Windows / 192.168.48.204Client: Android / 192.168.48.129Server: test.domain.com:8000설정Burp Suite를 실행할 PC의 IP주소 확인하기Burp Suite을 관리자모드로 실행하기NoPE Proxy에서 53번 포트로 DNS 서버를 실행..

1. Goroutine 사용하기 Goroutine은 Go에서 사용하는 경량화된 쓰레드로, 병렬 작업을 처리할 때 사용할 수 있음(링크) 사용법 : go 예시 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 package main import ( "fmt" "time" ) func test(s string) { for i := 0; i
버튼을 클릭하고 점수를 획득하여 2만점 이상을 획득해야 승리하는 ButtonClicker 앱이며, 실행화면은 아래와 같다. apktool 도구로 디컴파일한 뒤 smali 코드들을 보면 MainActivity$1.smali 등과 같이 MainActivity와 관련된 smali 코드 파일이 여러개가 있는 것을 확인할 수 있다. 이 프로젝트의 경우에는 MainActivity 클래스 내부에서 Inner Class를 사용하고 있기 때문에 Inner Class 코드 부분은 $1, $2. $6$1 등과 같이 별도의 smali 파일로 분리하여 확인할 수 있다. MainActivity$1.smali 파일을 열어보면 .line 51에서 시작하는 것을 볼 수 있으며, MainActivity.java의 51번째 줄을 확인하면..
원본코드 smali 코드 패치로 토스트 메시지 출력하기 1. toast 메시지를 출력하는 smali 코드 확인하기 toast 메시지를 출력하는 smali 코드를 확인하기 위해 toast 메시지를 출력하는 java 코드를 작성한 뒤 디컴파일 과정을 거쳐 toast 메시지와 관련된 smali 코드를 알아낸다. Toast.makeText() 함수는 총 3개의 파라미터를 필요로 하고, 각각 Context, 표시할 텍스트, 표시할 길이 정보이며, 이 중 Toast 메시지 출력을 위해서는 기존 코드에 추가로 표시할 텍스트, 표시할 길이 정보를 저장할 레지스터가 추가로 필요하다. 2. 원본코드의 onCreate() smali 코드 확인하기 다음은 안드로이드 스튜디오에서 프로젝트를 생성한 뒤 아무런 java 코드도 추..
원본코드 smali 코드 패치로 세 번째 텍스트뷰 추가하기 1. smali 코드 분석하기 MainActrivity.smali 코드 중 line12, line13, line14는 뷰의 객체 생성과 관련된 코드로 추측 가능line12와 line14는 findViewById 함수를 호출하여 레지스터에 해당 객체를 저장하는 코드, line13은 TextView 생성자를 호출한 뒤 해당 객체를 레지스터에 저장하는 코드 line15는 addView 함수를 호출하여 line13에서 생성된 TextView를 LinearLayout에 추가하도록 addView 함수를 호출하는 코드 line17~18은 setText 함수를 호출하여 텍스트를 표시하도록 하는 코드 2. smali 코드 패치하기 새로 뷰 객체 하나를 생성하고 ..