본문 바로가기

Research/Linux

[번역] mach-O 와 ELF 의 링킹 과정에 대해 마크오 볼 일이 있어서.. 관련 항목 도장 깨기 하다 읽은 글을 한글로 짜집기 해 보았다.원문 : http://timetobleed.com/dynamic-linking-elf-vs-mach-o/ memprof 를 빌딩하다가 마주친 ELF 와 Mach-O 의 다이나믹 링킹의 유사점과 차이점에 대해 설명한다. PLT - Procedure Linkage TablePLT 는 런타임에 함수 본체의 주소를 저장하는 테이블이다. Mach-O 와 ELF 모두 PLT 를 가지며 이 테이블은 컴파일 타임에 생성된다. 테이블 초기값은 다이나믹 링커를 호출하도록 구성되고, 링커는 호출될 함수의 심볼을 찾는다. 이런 작업방식은 ELF 와 Mach-O 의 하이레벨에선 매우 비슷하지만 구현상의 차이가 있고, 이에 대해 이야기해볼 .. 더보기
docker template angr 설치용 스크립트 코드로 docker 를 사용하는데 자꾸 초기화됨. # install docker#curl -sSL https://get.docker.com/ | sudo sh # pull the docker image#sudo docker pull angr/angr # run it### cheese: this is command for make new docker containers only#sudo docker run -it angr/angr 마지막 코드인 docker run 명령은 항상 새로운 도커 컨테이너를 만드는 명령어이므로docker start 를 하도록 코드를 만들어야 했음. docker start 는 인자값으로 도커 컨테이너 코드가 필요하며이 container 코드는 docker p.. 더보기
glibc malloc understanding https://sploitfun.wordpress.com/2015/02/10/understanding-glibc-malloc/예전에 읽었던 자료 정리 삼아. https://sploitfun.wordpress.com/2015/03/04/heap-overflow-using-malloc-maleficarum/ ptmalloc2 는 기존에 사용 중이었던 dlmalloc 을 fork 한 함수이며 멀티스레드를 지원함.이는 freelist 자료구조가 교체의 원인이 되었는데 (아마 bins 를 얘기하는 듯) 기존의 dlmalloc 의 경우 freelist 자료구조가 모든 쓰레드에서 접근가능했고, 두개의 스레드에서 동시에 malloc 을 할 경우에 하나의 스레드만이 크리티컬 섹션에 진입할 수 있었기 때문에 퍼포먼스가 하.. 더보기
동적 메모리 관련 보호되어 있는 글입니다. 더보기
directly run python code using vim vim 에서 파이썬 스크립트 작성하다 F9 번 눌러서 바로 실행하기.Edit .vimrc and add below code.autocmd FileType python nnoremap :exec '!python' shellescape(@%, 1) 더보기
When sidebar(unity) disappeared in Ubuntu 우분투에서 사이드바가 사라졌을 때 아래와 같이 처리. in a terminal:export DISPLAY=:0 sudo dconf reset -f /org/compiz/ and thensetsid unity I hope it'll be useful. http://askubuntu.com/questions/17381/unity-doesnt-load-no-launcher-no-dash-appears 더보기
root ssh 접속 차단 ssh 에서 로그인 차단--> /etc/ssh/sshd_config--> PermitRootLogin 을 yes 에서 no 더보기
명령어 치환. Command substitution 더블 쿼터는 쉘 메타캐릭터 문자(와일드카드 같은 것)을 막지 않음. Command substitution allows the output of a command to replace the command itself. Command substitution occurs when a command is enclosed as follows: $(command)or`command` Bash performs the expansion by executing command and replacing the command substitution with the standard output of the command, with any trailing newlines deleted. Embedded newlines are n.. 더보기