일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 개발
- OpenAI 개발
- c++
- Python.h: No such file or directory
- python3.11 설치
- python3.11 pip
- docker
- 임베디드 시스템 해킹
- Python3
- 리커버릿
- VSCode C++ 표준 버전 수정
- Recoverit
- GDB
- vhdx 파일 복구
- DYNAMIC Section
- tool
- vmware 반응 속도
- Seccomp bypass
- GEF
- pwntools
- z3 signed 이슈
- 공유 라이브러리는 왜 항상 같은 순서로 맵핑 될까?
- 지훈현서
- wsl2 복구
- 실시간로깅
- python
- pwn
- pip 에러 해결
- std::cerr
- Windows 부팅 오류
- Today
- Total
목록c++ (3)
OZ1NG의 뽀나블(Pwnable)
[개요] C++에서는 출력 스트림으로 stdout에 대응하는 std::cout가 존재하듯, stderr에 대응하는 std::cerr가 존재한다. 하지만, std::cerr를 실시간 로깅에 사용하는 경우, 특히 멀티 프로세싱 또는 멀티 스레딩 프로그램 개발에서의 실시간 로깅에 사용하는 경우 다음과 같은 문제가 발생할 수 있다. [문제 코드] std::cerr
[*] 클래스 생성자의 첫 번째 인자에는 항상 해당 클래스를 저장할 공간의 주소가 들어간다. // 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..