(glibc) malloc - 1
Heap 요청에 따라 할당되는, chunk의 형태로 나뉠 수 있는 (인접한)연속된 메모리 영역을 의미한다. 예전에는 한 어플리케이션에 하나의 힙만 존재했지만, 지금은 한 어플리케이션이 여러 힙을 가질 수 있다. 각각의 heap은 하나의 arena에만 속할 수 있다. Chunk 실제로 malloc()으로 할당/반환받게 되는 영역을 말한다. 8 byte...
Heap 요청에 따라 할당되는, chunk의 형태로 나뉠 수 있는 (인접한)연속된 메모리 영역을 의미한다. 예전에는 한 어플리케이션에 하나의 힙만 존재했지만, 지금은 한 어플리케이션이 여러 힙을 가질 수 있다. 각각의 heap은 하나의 arena에만 속할 수 있다. Chunk 실제로 malloc()으로 할당/반환받게 되는 영역을 말한다. 8 byte...
Plotly? Python, JS, R을 지원하는 오픈소스 차트 라이브러리. https://plot.ly/python/user-guide/ https://plot.ly/python/reference/ https://plot.ly/python/line-charts/ https://plot.ly/python/network-graphs/ ...
graph networkxanaconda에 포함되어 있음. 사용법도 간단하지만 룩이 구리고 pure-python implementation이라 속도가 굉장히 느리다. graphviz 논문에 나올법한 상당히 구식 룩이나 쓰기 편함. 활용도가 높음. 사용하기 위해서는graphviz 라는 프로그램 자체와 이를 python과 연결해주는 라이브러...
symbol 없을 때나 PIE가 걸려있을 때 디버깅 Entry point + offset으로 bp 걸면 되는데, offset은 IDA로 알아내고, Entry point는 0x00에 bp걸고 실행한 다음 첫 번째 call에서 리턴되는 값( $rax )이 Enrty point 또는 그냥 info file Entry point == start...
RELocation Read-Only !!! readelf -S결과가 ` W`권한이 있는 것으로 나오더라도 실제로 해보면 fault가 발생하므로 주의. Partial-RELRO default 옵션이며, .ctors(.init\_array), .dtors(.fini_array), .jcr, .dynamic section이 Read-Only 상태가 된...
ASLR : Address Space Layout Randomization 프로세스의 가상 주소공간에 heap, stack, libc( shared library’s plt ) 등이 mapping될 때 그 위치를 프로그램 실행 시 마다 랜덤하게 변경하는 기법. windows는 vista 이상, linux는 kernel 2.6.12 이상에서 적용. e...
nxtest print main\_arena // main\_arena 구조체를 정리해서 출력. patch 0x555555757000 "/bin/sh" // set 대체. hex나 dex를 입력해도 잘 동작. dumpargs -- Display arguments passed to a function when stopped at a...
fork/exec 설정 peda와 cgdb를 사용할 것. set env LD\_PRELOAD=./libc.so.6 set {void\*}0x80dfff7a = 0xff set $rdx=0x98583 x/4x &main\_arena x/4x &\_\_malloc\_hook find [/size-char] [/max-count] st...
calloc void \*calloc(size\_t nmemb, size\_t size); 결과적으로 할당되는 크기는 nmemb \* size bytes다. 어차피 0으로 초기화 할거면, malloc() + memset()보다 c calloc()을 사용하는게 더 빠르다. kernel이 memory를 제공하기 전에 zero로 만들고 제공할 수 있...
SSP : Stack Smashing Protector (link ) 로컬 변수 위치 재배치 로컬 변수 전에 포인터 배치 stack canary 삽입 disable 컴파일 옵션에 다음을 지정한다. -fno-stack-protector stack boundary (정렬) 설정 컴파일 옵션 -mpreferred-stack-boun...