본문 바로가기

분류 전체보기

app recompile DOWNLOAD APP : APK Downloader(Chrome externs App) (1) DECOMPILE $ apktool d apps_dir(2) EDITRES 폴더를 안드로이드 스튜디오 기본 프로젝트에 복불 후, 분석(3) REBUILD $ apktool b apps_dir(4) MOVE$ apps_dir/dist/????.apk ./(5) signingjarsigner -keystore ksg.keystore -verbose ???.apk ksg ( make key : keytool -genkey -keystore ksg.keystore -validity 10000 -alias ksg) 더보기
strtap address overflow call plt -> jmp got -> jmp _dl_runtime_resolve -> call _dl_fixup메모리에 올려진 동적 C 라이브러리에서 특정 함수에 주소를 가지고 올 때의 루틴이다.dynamic section에 존재하는 strtap 주소를 참고하여, strtap 내부에 있는 함수명의 문자열을 갖고 온다. dynamic section + ? : strtapstrtap + offset(?) : "puts"puts got = puts함수의 주소가 저장됨 이런 식이다.그래서 만약 strtap에 쓰기 권한이 있어서 puts를 system으로 변경 한다면 system 함수의 주소가 puts got에 저장 된다.하지만 strtap에 권한은 READ ONLY, 그래서 우리가 Overflow 할 부분은.. 더보기
stdin@@GLIBC_2.0 그냥 이 녀석이 궁금하다. stdin을 사용하면 항상 bss 영역에 있다.일단 GLIBC는 GNU C Library이고, 2.0은 Verison이겠지 뭐..이 녀석은 libio/stdio.c라는 곳에 있고, stdio.h 헤더 파일을 import 하면 쓸 수 있겠지 뭐.._IO_FILE *stdin = (FILE *) &_IO_2_1_stdin_;_IO_FILE 구조체를 보면 아래와 같이 엉청 길게 있겠지 뭐.. struct _IO_FILE { int _flags; /* High-order word is _IO_MAGIC; rest is flags. */ #define _IO_file_flags _flags /* The following pointers correspond to the C++ stream.. 더보기
C in Python C 라이브러리 파일 Window - msvcrt.dll Linux - libc.so.6Mac - /usr/lib/libc.dylib # cdll.msvcrt / CDLL("libc.so.6") / CDLL('/usr/lib/libc.dylib') from ctypes import *libc = CDLL("libc.so.6") # linuxlibc.printf("THIS IS PRINTF") ctypes typeC typePython typec_bool_Boolbool (1)c_charchar1-character stringc_wcharwchar_t1-character unicode stringc_bytecharint/longc_ubyteunsigned charint/longc_shortshortint/l.. 더보기
pwnable.kr uaf 보호되어 있는 글입니다. 더보기
xinetd setting sudo apt-get install xinetd -yvi /etc/xinetd.d/test service test{ disable = no flags = REUSE socket_type = stream wait = no user = username server = /tmp/test } echo -e "test\t5555/tcp" >> /etc/services /etc/init.d/xinetd restart nc localhost 5555 더보기
pwntools 설치 sudo apt-get install python-pip, python-dev -ysudo pip install pwntoolstest -> $ python -c 'from pwn import *' 더보기
IDA 원격 디버깅 (Attach, Run) Attach는 실행 중인 프로세스에 디버깅을 잡을 수 있다.자식 프로세스를 생산하는 프로그램에 유용할 수 있다. Run는 파일을 실행시키면서 바로 디버깅을 시작 한다.일반적으로 쓰는 원격 디버깅 방법이다. 6.6 기준 -IDA 6.6\dbgsrv 위치에( 윈도우, 안드로이드+ARM, 리눅스, 맥 ) 환경에 리모트 디버깅이 가능하게 돼있다.일단 scp, or sz/rz 명령어를 이용해서 linux_server를 리눅스 서버에 드랍한다. ( 환경에 따라 파일을 옮기면 된다. )$ chmod +x ./linux_server$ ./linux_server -P123이렇게 치면 패스워드가 '123'으로 원격 디버깅 서버가 실행 된다. ( -p는 포트다. ) 이제 윈도우에서 IDA를 키고 Debugger Run or.. 더보기
AutoHotkey1 보호되어 있는 글입니다. 더보기
Twist1 보호되어 있는 글입니다. 더보기