본문 바로가기

분류 전체보기337

포스팅 참고용) 유니코드 위 첨자 아래 첨자 https://unicode-table.com/kr/sets/superscript-and-subscript-numbers/ 위첨자 및 아래 첨자 번호: ⁰ ¹ ² ³ ⁴ ⁵ Character sets. 위첨자 및 아래 첨자 번호: ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎ unicode-table.com 유니코드 테이블 홈페이지 위 첨자 아래 첨자 외에도 유용한 유니코드 많음 https://unicode-table.com/kr/sets/superscript-and-subscript-letters/ 위첨자와 아래 첨자: ᵃ ₐ ᴬ ᵇ ᴮ ᶜ Character sets. 위첨자와 아래 첨자: ᵃ ₐ ᴬ ᵇ ᴮ ᶜ ᵈ ᴰ ᵉ ₑ ᴱ ᶠ ᶢ ᵸ ᴴ.. 2022. 9. 19.
5-4. Stack Memory 스택이란? 지역 변수, 매개 변수를 주로 보관하는 메모리 스택의 특징 스레드 당 한 개의 스택 생성(프로세스는 생성 시 1개의 주스레드를 가짐) 스택은 아래로 자란다 (높은 주소에서 낮은 주소 방향으로 커짐) 스택의 동작 방식 스레드가 만들어지면 1M 가상 공간을 예약한다. 그리고 1개를 확정해 놓고 다음 페이지도 같이 확정하는데 다음 페이지는 확정 시 PAGE_GUARD 보안 옵션을 같이 걸어놓음 PAGE_GUARD는 최초 접근 시 예외를 발생시키는 옵션 (윈도우가 처리) 그래서 현재 페이지를 다 쓰고 다음 페이지에 접근하면 예외가 발생하고 그 시점에서 다시 다음 페이지를 PAGE_GUARD 옵션으로 할당한다. 1M는 총 256페이지를 일컫는데, 곧 0~255개의 페이지를 의미한다. 253번까지 확정하.. 2022. 9. 19.
5-3. Heap Memory VirtualAlloc의 특징 메모리의 시작 주소는 64K의 배수여야 한다. 메모리 크기는 PAGE 크기의 배수여야 한다. 힙 메모리의 역할 VirtualAlloc에서 할당한 메모리를 필요한 만큼 떼어다가 주는 것 필요할 땐 빈 공간을 떼어다 주고, 반납하면 사용가능하도록 다시 처리해주는 알고리즘 힙 메모리의 특징 기본 힙은 1MB로 예약 되고, 크기는 모자라면 자동으로 증가한다. 힙은 필요하면 또 만들 수 있음 힙을 사용할 때는 기본 힙에서 할당할 지, 새로 만든 힙에서 할당할 지 결정해야 한다. 힙 사용하기 기본 힙 핸들 얻기 : GetProcessHeap(); 힙에서 메모리 할당 : HeapAlloc() 힙에서 메모리 해지 : HeapFree() HeapAlloc hHeap : 할당할 힙의 핸들 d.. 2022. 9. 18.
1. 해킹 도구 본 게시글은 메모리에 대한 깊은 이해를 위해 에이콘 출판사의 "봇을 이용한 게임 해킹" 서적을 보고 필기한 자료입니다. 따라서 디테일한 부분에서 본 서적의 실제 내용과 다를 수 있고 글쓴이의 주관이 들어가 있음을 참고해주시기 바랍니다. 문제 시 비공개 처리하도록 하겠습니다. 치트 엔진 게임 내의 메모리를 스캔할 수 있는 도구 메모리에는 HP, 공격력, 레벨 등 캐릭터에 민감한 데이터들이 올라와 있다. 목표로 하는 메모리의 값을 임의적으로 변화시키면서 오류를 줄여나가고 결국 해당 메모리 값을 추출할 수 있다. 포인터 스캐닝 포인터 체인을 사용하는 이유는 대규모 동적 메모리 할당이 발생할 때 게임 코드가 이를 참조할 수 있는 정적 주소가 대응되어야 하기 때문 게임 해커들은 포인터 체인을 찾아서 메모리에 접근.. 2022. 9. 18.