(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으로 지정해도 된다.
- char
- int
- forward_offset
- 찾은 값에서 그만큼 앞쪽 주소부터 출력해준다.
- int
- int
- backward_offset
- 찾은 값에서 그만큼 더 출력해준다.
- int
메모리 탐색 영역을 직접 지정하고 싶은 경우 mem_search 을 바로 호출하면 된다. target_array를 파라미터로 받지 않는 이유는 main stack frame이 크게 수정되는 것을 방지하기 위해서다.
This post is licensed under CC BY 4.0 by the author.