일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- windows kernel
- libc.so
- windows
- SCP
- patchelf
- frida-dump
- elf 헤더
- cmake
- pwndbg
- sgerrand
- JOP
- PLT
- 계산기
- WinDBG
- brop
- kernel debug
- top chunk
- ntwritefile
- dangling pointer
- kaslr
- canary leak
- libc-database
- ioploaddrivers
- HOS
- RAO
- randtbl
- Android
- fastbin
- house of force
- return to libraty
- Today
- Total
목록Tools (5)
sh711 님의 블로그

라이브러리 변경 patchelf --replace-needed libc.so.6 [변경 라이브러리 경로] [파일명] ld 변경patchelf --set-interpreter [ld 경로] [파일명] 로컬에서 glibc 빌드 시 ld버전 등의 문제로 원활하게 빌드가 불가능하다아래 링크 도커 이미지를 통해 손쉽게 원하는 glibc 버전 환경 구성이 가능하다https://github.com/sgerrand/docker-glibc-builder GitHub - sgerrand/docker-glibc-builder: A glibc binary package builder in DockerA glibc binary package builder in Docker. Contribute to sgerrand/doc..
Windbg는 gdb 와 같은 동적 분석 도구이다.지원되는 아키텍처는 x64, ARM 이며 gdb와 달리 윈도우의 실행 파일 PE(Portable Executable) 형식에 맞춰줘 있으며, 추가적으로 윈도우 커널(NT)을 디버깅할 수 있는 강력한 기능이 있다. https://learn.microsoft.com/ko-kr/windows-hardware/drivers/debugger/ WinDbg 설치 - Windows driversWindows 디버거 및 WinDbg 설치에 대한 개요는 여기에서 시작합니다.learn.microsoft.com해당 링크에서 설치가 가능하다. 1. 디버거 유형 확인첫번째로 디버깅할 유형을 정해야 한다.1.1 커널 모드운영 체제 및 권한 있는 프로그램은 커널 모드에서 실행된다...

로컬과 wsl로의 파일 전송 및 여러가지 테스트를 할때 주로 ssh를 통해 진행한다. SCP를 통한 파일 전송1. 단일 파일을 원격지로 전송할 때구문 : scp [옵션] [파일명] [원격지_id]@[원격지_ip]:[받는 위치]scp testfile [user]@[IP]:~/test 파일이 전송된 것을 확인 2. 여러 파일을 포함하고 있는 디렉터리를 원격지로 전송할 때구문 : scp [옵션] [디렉터리 이름] [원격지_id]@[원격지_ip]:[보낼 경로]scp -r scpTest [user]@[IP]:~/test 디렉터리가 전송된 것을 확인 3. 단일 파일을 원격지에서 로컬로 가져올 때구문 : # scp [옵션] [원격지_id]@[원격지_ip]:[원본 위치] [받는 위치]scp [user]@[IP]:~..

gdb는 프로그램을 동적으로 분석할 수 있는 동적 분석 도구이다.strace 등과 같이 ptrace를 사용해 프로그램 실행 흐름을 제어할 수 있으며 가장 기본적인 디버깅 도구이다.1. 설치gdb를 설치해준다.apt-get updateapt install gdb 프로그램 gdb 디버깅 주로 사용되는 옵션 및 명령gdb 프로그램 이름gdb attach -p [PID] : pid 프로세스 디버깅run : 실행entry : ELF 헤더를 기준으로 entry 포인트 진입start : main() 함수 진입disassemble 함수명 : 함수 디스어셈블set disassembly-flavor intel : intel 방식의 표현으로 바꿔줌break *메모리 : 특정 위치 브레이크 포인트info registers :..

1. iOS 앱Apple의 iOS 앱은 앱스토어에 등록될 때 FairPlay DRM(Digital Rights Management) 를 사용하여 앱의 바이너리 코드를 암호화하여 등록된다. 암호화되는 영역은 다음과 같다.1. 바이너리 코드 (Mach-O 실행 파일)이 암호화는 앱이 App Store에서 다운로드될 때 적용되고, 실행 시 iOS 커널이 복호화하여 메모리에 로드보호 대상: 앱의 코드 섹션(.text), 데이터 섹션(.data) 일부2. 네트워크 트래픽 (App Transport Security, ATS)iOS 앱은 기본적으로 HTTPS를 강제하는 ATS(App Transport Security)를 사용즉, 네트워크 요청 데이터(HTTP 요청/응답)가 암호화보호 대상: 앱 내에서 이루어지는 네..