전체 글 4

iOS Proxy Tool(Burp Suite) 인증서 설치

Burp Suite 인증서 설치Burp Suite의 Proxy Options에서 Proxy Listeners의 바인드 주소를 All interfaces로 지정한다.단말기를 PC와 동일한 네트워크에 연결한 후 단말기에서 PC의 아이피로 프록시 연결단말기 브라우저 앱으로 https://burp 페이지로 접속하여 인증서 다운로드“설정 > 프로파일이 다운로드됨”을 클릭하여 인증서 설치“설정 > 일반 > 정보” 메뉴 하단 “인증서 신뢰 설정”을 클릭 후 설치한 인증서 신뢰 활성화이후 https://google.com에 접속하여 https 통신이 정상적으로 되는지 확인

Mobile/iOS 2024.07.27

Frida-gadget을 통한 순정 앱 메모리 덤프

Frida-gadget.so를 직접 삽입lib/arm64-v8a/ 폴더에 gadget 넣기. (경로는 예시이며, 단말기 프로세스에 맞춰 넣을 것)libfrida-gadget.so로 파일명 변경SplashActivity.smali / MainActivity.smali의 oncreate나 constructor에 삽입( constructor 를 생성하여 삽입하는 것이 안정적인듯)method static constructor ()V.locals 1 .prologue const-string v0, "frida-gadget" invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V return-void.end methodCompil..

Mobile/Android 2024.07.27

LD_PRELOAD 후킹

※ LD_PRELOAD프로세스 실행 과정 중 라이브러리를 로딩 할 때, LD_PRELOAD 변수가 설정되어 있으면 해당 변수에 지정된 라이브버리를 먼저 로딩하고, 이 중에 libc 함수명과 동일한 함수가 있다면 해당 함수를 먼저 호출한다. 하나의 코드를 예시로 들겠다. Copy.c #include int main() { FILE * fd = NULL;printf("Call fopen()");fd = fopen("test.txt", "r");printf("Load OK");return 0;} 위와 같은 코드에서 fopen을 호출을 할 때 LD_PRELOAD가 적용이 되어있다면 적용된 환경변수가 라이브러리보다 우선 로딩이 되는것을 확인 할 수 있을 것이다. 직접 fopen에 대한 LD_PRELOAD를 적용할..

개인정리 2017.08.07

fgets, atoi, fread

※ fgetschar * fgets ( char * str, int num, FILE * stream );● Stream에서 문자열을 받는다.● Stream에서 문자열을 받아서 ( num - 1 ) 개의 문자를 입력 받을 때 까지나, 개행 문자나 파일 끝에 도달 할 때 까지 입력 받아서 문자열(String)로 저장한다.● fgets는 scanf와 다르게 개행문자에서만 입력을 종료하기 때문에 공백을 입력 받을 수 있다.● 한번 개행문자나 입력의 종료를 만나면 다음 버퍼로 넘어간다. ※ freadsize_t fread ( void * ptr, size_t size, size_t count, FILE * stream );● Stream에서 count 개의 원소를 가지는 배열을 읽어온다. 이 때, 각 원소의 크..

개인정리 2017.08.06