아니, 로컬에서는 실행되는 라이브러리가 다른데, 어떻게 알 수 있음?gdb로 매핑되는 라이브러리를 보고 싶어도 remote라서 못 보잖음.=> 아래 사이트를 들어가서 확인할 수 있다.https://libc.blukat.me/?q=write%3A250%2C_ex
사용되는 라이브러리가 무엇인가?도커파일이 주어졌을 때, 도커파일을 빌드 후 실행해서 pwndbg를 통해 실행되는 라이브러리가 무엇인지 확인한다.메모리 상태는?아 그냥 주어진 도커파일에다가 이것저것 설치 후에 그냥 거기서 익스를 짜자. 그게 마음 편함.중간에 복붙합시다.
pwndbg에서 ASLR 켜기set disable-randomization off도커 내부에서 gdb 돌릴 수 있게 하기docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined파이썬 string to int명
strings -tx "binaryfilename"를 쉘에 입력해서 바이너리 내부 문자열들을 다 뽑아낸 다음,그 내부에서2010 GCC: (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0와 같은 문자열을 찾아서 해당 도커에서 바이너리를 돌려보면 된다.
gdb로 디버깅을 진행할 때, breakpoint를 설정해 주어야만 해당 위치에서 멈추고 디버깅을 시작할 수 있다.물론 이 부분은 b main 을 통해서 해결할 수 있는데, 문제는 파일이 stripped 된 상태인 경우이다.이 경우, 모든 debugging symbol