생성자, 소멸자 low-level
소멸자 .dtors 080495f4 d \_\_DTOR\_END\_\_ 소멸자로 프로그램이 종료되기 전에 여기에 명시되어 있는 주소(함수)가 호출된다. \_\_DTOR\_END\__의 위치는 nm을 사용해도 좋고 readelf나 objdump로 확인해도 좋다. .fini_array gcc 4.7 이상 버전은 .ctors .dtors를 사용하지 않...
소멸자 .dtors 080495f4 d \_\_DTOR\_END\_\_ 소멸자로 프로그램이 종료되기 전에 여기에 명시되어 있는 주소(함수)가 호출된다. \_\_DTOR\_END\__의 위치는 nm을 사용해도 좋고 readelf나 objdump로 확인해도 좋다. .fini_array gcc 4.7 이상 버전은 .ctors .dtors를 사용하지 않...
golem - cup of coffee void problem_child(char *src){char buffer[40];strncpy(buffer, src, 41);printf(“%s\n”, buffer); } main(int argc, char *argv[]){check argc<2…problem_child(argv[1]); } probl...
secure-execution mode 어떤 바이너리를 실행하면, dynamic linker(ld.so)는getauxval( ) 를 이용해 auxiliary vector인 AT_SECURE 값을 가져와 0인지 확인하고 0이 아니면 secure-execution mode로 실행한다. 2017/09/02 - [System/Exploit] - Retur...
ltrace library trace. userspace API call의 흐름을 볼 수 있다. -S -- Display system calls as well as library calls strace (man ) system call trace. system call의 흐름을 볼 수 있다. 출력되는 binary값이 16진수가 아니...
proc filesystem man proc procfs ( proc filesystem )은 유닉스 기반 OS에서 프로세스에 대한 정보나, 시스템 정보를 파일 형식으로 제공하는 것을 말한다. /proc/의 파일들을 확인해보면 크기가 0인데, 이는 procfs 파일은 내부 자료구조에 접근하기 위한 인터페이스에 가깝기 때문이다. procfs 파일을...
https://subicura.com/2017/11/22/mac-os-development-environment-setup.html [OS/LINUX & UNIX] - [*-nix] apt* family 및 OS update & upgrade [OS/LINUX & UNIX] - Java 관련 (JDK, 설치, …) [O...
ptrace ( process trace ) #include <sys/ptrace.h> long ptrace(enum \_\_ptrace\_request request, pid\_t pid, void \*addr, void \*data); ptrace를 호출하는 tracer 프로세스가 타겟 프로세스인 tracee 프로세스를 컨트롤할 수...
Windows 설치 시 SYSTEM권한으로 실행되기 때문에 파일 시스템에 접근만 가능하다면 모든 파일을 얻어낼 수 있다. 따라서 대상 시스템에 로컬 접근이 가능하다면 부팅디스크와 외부저장매체를 이용해 windows의 SAM, SYSTEM 파일을 얻어내서 크랙할 수 있다. 사실 로컬 접근이 가능하면 하드를 아예 가져가서 분석해도 되는거겠지만, windo...
쓰기 권한으로 파일 복사하기 원래 읽기 권한이 있어야 파일 복사가 가능하도록 되어있지만, 실행 권한이 있는 경우 읽기 권한이 없어도 ptrace를 이용해 파일을 복사하여 내 소유 파일로 얻어낼 수 있다. 파일을 실행하게 되면 해당 파일이 메모리에 적재된다는 점을 이용하여, ptrace로 프로세스의 가상메모리 공간 중 실행한 파일이 매핑된 공간에 접근해...
LD\_PRELOAD는 prefix로 LD_가 붙은,ld.so 에 속하는 환경변수로, windows의 AppInit_Dlls 레지스트리와 비슷한 역할을 한다. LD_PRELOAD 에 설정된 shared object는 libc를 비롯한 다른 모든 shared object보다 먼저 로딩 된다. LD\_PRELOAD에 설정된 shared library의...