보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.
git clone -b master http://github.com/JonathanSalwan/ROPgadget.git
sudo apt-get install libcapstone3
sudo pip install capstone
sudo pip install ropgadget
./ROPgadget.py --binary ./file
ROPgadget 디렉터리 가서 해야댐..
ref : https://github.com/JonathanSalwan/ROPgadget/tree/master
리눅스 syscall table for x86_64 (0) | 2017.05.12 |
---|---|
힙 스프레이 및 uaf? (0) | 2017.05.09 |
gcc checksec unprotect? (0) | 2017.05.08 |
2월 22일 system 공부 (0) | 2017.02.22 |
How2Heap - study (0) | 2017.01.24 |
dword ptr의 뜻이 전부터 궁금했는데.
결론은 word 2byte . Dword 4 byte
[] 적혀있는것은 포인터로 이해하면 되는데. 아마 이 개념은 원래 알고 있는 거긴한데
결론은 사이즈 표기? 라 이해해야되는건가... 그래서 좀더 검색 해서 정리해보려고 한다.
WinDef.h 에는 다음과 같이 Dword / word 가 정의 되어 있다.
typedef unsigned long DWORD;
typedef unsigned short WORD;
따라서 대부분 win32 기반하에선 DWORD는 4byte(32bit 기준)가 된다. 그럼 당연히 WORD는 2byte(16bit)이 된가고 생각하면 된다.
근데 여기서 또 궁금증이 생기는 것이 왜 32bit window에서 word의 size가 16bit이 될까 인데... 이는 하위 호환성이다.
intel 8086 processor 부터 이어지는 intel CPU Architecture의 하위 호환 문제 때매 컴파일러에서도 그냥 WORD를 16bit을 표현했다고 한다.
그 이외에도 VS에는 DWORD32 / 64 형을 지원 한다고 한다.
typedef unsigned int DWORD32, *PDWORD32;
typedef unsigned __int64 DWORD64, *PDWORD64;
DWORD32를 살펴보면 long대신에 int 가 쓰인다. 그럼 이게 좀 궁금해지는게 .. intel에서 하위 호환 문제를 해결 하기 위해서 규칙을 새웠는데 그걸 어기는것이 아닌가... 흠 잘 모르겠따..
출처 : http://wiki.kldp.org/wiki.php/32bitCodeTo64bit
Angr 설치 (0) | 2017.05.21 |
---|---|
linux remote ida debug (0) | 2017.05.08 |
Reversing _ 1 day(잠시중단) (2) | 2016.12.20 |
Anti Debugging (0) | 2016.11.30 |
CodeEnge_Basic L01~05 (0) | 2016.10.04 |