[procfs_search.h] 메모리에서 특정 값의 주소 찾기
https://github.com/umbum/pwn/blob/master/tools/procfs_search.h
procfs에서 메모리 주소를 받아와 메모리 공간 내의 특정 값의 위치를 출력하는 프로그램.
gdb가 너무 구버전이라 find 명령어가 없는 경우 쓸만하다.
* `` objdump`` 또는 `` xxd``를 사용할 수 있지만 code section만 조회되며 동적으로 결정되는 다른 section, 예를 들면 so나 stack의 데이터는 찾을 수 없다.
Usage
파라미터 설정은 int mem_search(long startaddr, long endaddr)에서 하고
procfs_search()를 호출하면 알아서 돌아간다.
- char target_array[] : 찾을 value. "/bin/sh"같은 string으로 지정해도 된다.
- int forward_offset : 찾은 값에서 그만큼 앞쪽 주소부터 출력해준다.
- int backward_offset : 찾은 값에서 그만큼 더 출력해준다.
메모리 탐색 영역을 직접 지정하고 싶은 경우 mem_search을 바로 호출하면 된다.
target_array를 파라미터로 받지 않는 이유는 main stack frame이 크게 수정되는 것을 방지하기 위해서다.
'OS > LINUX & UNIX' 카테고리의 다른 글
STDIN _IO_FILE structure <_IO_2_1_stdin_> & fgets VS argv (0) | 2017.05.09 |
---|---|
[*-nix] 패키지 관련 및 OS update & upgrade (0) | 2017.04.13 |
생성자, 소멸자 low-level (0) | 2017.01.13 |
secure-execution mode (0) | 2017.01.11 |
ltrace & strace (0) | 2017.01.07 |