일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- GDB
- Seccomp bypass
- OpenAI 개발
- 임베디드 시스템 해킹
- Recoverit
- python
- 리커버릿
- wsl2 복구
- Windows 부팅 오류
- z3 signed 이슈
- Python3
- docker
- pwn
- vhdx 파일 복구
- python3.11 설치
- 지훈현서
- GEF
- DYNAMIC Section
- c++
- pwntools
- Python.h: No such file or directory
- tool
- std::cerr
- pip 에러 해결
- 개발
- 실시간로깅
- python3.11 pip
- VSCode C++ 표준 버전 수정
- vmware 반응 속도
- 공유 라이브러리는 왜 항상 같은 순서로 맵핑 될까?
- Today
- Total
목록전체 글 (141)
OZ1NG의 뽀나블(Pwnable)
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
[*] 클래스 생성자의 첫 번째 인자에는 항상 해당 클래스를 저장할 공간의 주소가 들어간다. // cpp new test #include using namespace std; class PageHeap{ public: int a = 1; int b = 2; PageHeap(){ cout
[*] tcmalloc을 분석하다가 아래와 같은 코드를 봤는데 뭔지 잘모르겠어서 삽질해보게 되었다. new (&pageheap_.memory) PageHeap; 먼저 두괄식으로 결과부터 말하자면 보통 C++에서 동적 할당할 때 사용하는 new operator는 정적할당도 가능하다는 것이다. (정확히는 정적할당된 공간에 클래스를 저장한다) [*] 사용법 new (void * address) Class; 위와 같은 형태로 구성된다. 결과 : address에 Class가 할당된다. 정적 변수에 클래스를 할당 할 수 있다. [*] 테스트 코드 // cpp new test #include using namespace std; class PageHeap{ public: int a = 1; int b = 2; Pag..
[*] tcmalloc 코드를 분석하다가 Span 구조체의 멤버 변수 선언부에 `:`으로 신기하게 변수가 선언된 부분이 있어서 찾아보다가 알게된 bitfield에 대해 정리해봤따. [*] bitfield? C/C++ 구조체에 있는 문법으로 특정 변수의 크기를 비트 단위로 정할 때 사용한다. struct { unsigned int a : 16; unsigned int b : 16; unsigned short c; } typedef test; 위와 같이 선언한다면 a와 b 변수는 원래는 4바이트의 크기를 갖는 unsigned int 형이지만 16비트로 크기 제한을 걸었기 때문에 실제로는 2바이트의 크기만을 갖게 된다. (근데 타입은 유지함..) 이 경우 a와 b 변수는 unsigned short int 형으..