일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 네트워크 바이트 오더
- packet capture
- pcap packet capture
- 윈도우 커널 드라이버
- windows kernel debugging
- ucrtbase.dll
- IAT Hooking
- HackCTF
- Windows
- 윈도우 커널 디버깅
- 바이트 오더
- vcruntime.dll
- 개발하기
- hacking
- Windows Kernel Driver
- 포너블
- 개발 환경 준비
- Windows Kernel
- pwnable
- apphelp.dll
- Msvcrt.dll
- 윈도우 커널
- vcruntime140.dll
- 시스템해킹
- 해킹
- C언어 패킷캡쳐
- pcap packet
- Windows Kernel Debug
- arudino
- Network Byte Order
- Today
- Total
목록2021/09/20 (2)
미친해커

Step 9의 주제는 Shared Code이다. Shared Code란 코드를 공유하는 것을 말한다. 예를 들어 캐릭터가 존재하고 대미지를 받는 함수가 존재한다고 했을 때 대미지를 받는 함수를 캐릭터마다 만든다면 메모리 낭비가 심할 수 있다. 이런 경우 대미지를 받는 함수를 하나만 만들고 모든 캐릭터가 그 함수를 사용한다면 메모리를 최소화하여 사용할 수 있다. 그리고 이번 Step의 클리어 조건은 Restart game and autoplay 버튼을 눌렀을 때 Dave팀이 승리하면 된다. 우선 Restart game and autoplay 버튼을 눌러보자 우리팀이 모두 죽었다고 나오는 것을 확인할 수 있다. 그렇다면 일단 Dave의 체력을 검색해보자 (Restart game 버튼을 누르면 체력이 모두 초..

Step 8의 주제는 Multilevel pointers이다. Step 6의 포인터를 다중으로 설정해둔 문제이다. 간단하게 설명하자면 Step 6의 Pointer(포인터)는 1중 포인터로 주소를 한 번만 참조하면 원본 주소를 가리켜 값을 바꿀 수 있었지만 Step 8에서는 다중 포인터로 여러 번 참조해야 값을 바꿀 수 있는 문제이다. 위 그림과 같이 여러 주소를 거치는 것을 다중 포인터라고 부른다. 1994라는 값에 도달하기까지 총 4번의 주소를 참조해야만 주소가 바뀌어도 값을 변경할 수 있다. 위 그림과 같이 값을 찾아서 리스트에 저장해준다. 리스트에 저장되어 있는 값을 마우스 우클릭하여 Find out what writes to this address을 클릭하고 Chnage value 버튼을 눌러주면..