일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- docker
- IMAGE_IMPORT_DESCRIPTOR
- Windows Terminal
- oh-my-zsh
- GetProcAddress()
- DOS Stub
- sctf 2021
- Windows
- ubuntu
- samsung ctf
- PE Header
- Tutorial
- attack vector
- WSL
- 리버싱 핵심원리
- web
- powerlevel10k
- BOF
- Windows 11
- DOS Header
- NT Header
- NT File Header
- zsh theme customization
- Buffer Overflow
- PE file format
- IMAGE_EXPORT_DIRECTORY
- stack based buffer overflow
- SQL Injection
- NT Optional Header
- RVA
- Today
- Total
목록전체 글 (16)
나만의 메모노트

IAT (Important Address Table) 개념 : 프로그램이 어떤 라이브러리에서 어떤 함수를 사용하고 있는지를 기술한 테이블 Windows OS의 핵심 개념인 Process, Memory, DLL 구조 등에 대한 내용이 함축되어 있음 DLL 로딩 방식 중 Implicit Linking에 대한 메커니즘을 제공하는 역할 디버거를 통해 IAT 확인 해보기 대상 프로그램 : notepad.exe CALL [1001104] → notepad.exe에서 kernel32.dll의 CreateFileW를 호출하는 명령어 CALL 명령어를 통해 호출하는 주소는 IAT 메모리 영역 (.text 섹션의 메모리 영역) 1001104 주소에 저장된 7C810CD9라는 값을 통해 CreateFileW를 호출 (직접 ..

NT Header IMAGE_NT_HEADERS NT Header의 구조체 3개 멤버로 구성 PE Signature : 50450000h(“PE”00) 값을 가짐 File Header 구조체 Optional Header 구조체 크기 : F8 (248byte) File Header IMAGE_FILE_HEADER 구조체 파일의 개략적인 속성을 나타냄 주요 멤버 각 멤버별 값들의 설정이 부정확할 경우 비정상 실행 1) Machine Machine 넘버는 CPU별로 고유한 값을 가짐 (32bit Intel x86 호환칩 = 14C의 값) winnt.h 파일에 정의된 Machine 넘버의 값 2) NumberOfSections 섹션의 개수 해당 값은 반드시 0보다 커야 함 정의된 섹션 개수와 실제 섹션이 다르면..

notepad.exe를 대상으로 Hex editor를 통해 바이너리 코드를 살펴보며 PE File Format 이해하기 Dos Header 초기 PE File Format Microsoft가 널리 사용되던 DOS 파일에 대한 하위 호환성을 고려하여 제작 PE Header의 첫 부분은 DOS EXE Header, 이후 IMAGE_DOS_HEADER 구조체로 확장 IMAGE_DOS_HEADER 구조체 크기 : 40h (64byte) 주요 멤버 e_magic : DOS signature (4D5A 👉 ASCll값으로 "MZ"를 의미함) e_lfanew : NT Header의 offset을 표시 NT Header 구조체의 위치를 가리킴 파일에 따라 가변적인 값을 가짐 Dos Stub Dos Header 아래에 ..

개요 PE (Portable Excutable) Windows OS에서 사용되는 실행 파일 형식 UNIX에서 사용되는 COFF(Common Object File Format) 기반 Windows OS에서만 사용 다른 OS로 이식성이 용이함 PE File PE32 : 32bit 형태의 실행 파일 PE+/PE32+ : 64bit 형태의 실행 파일 PE File Type OBJ를 제외한 모든 파일이 실행 가능한 파일 DLL, SYS 파일 등은 셸(Explorer.exe)에서 직접 실행할 수 없으며, 다른 형태의 방법(debugger, service, etc)을 이용하여 실행 가능 PE Header 실행 파일이 실행되기 위해 필요한 모든 정보가 구조체 형식으로 저장되어 있음 메모리 적재 위치, 실행 위치, 실행..
🔭 Working & Learning - - - - - - - - - - - 📅 History [최종학력] 《2011.03.02 - 2014.02.06》 영남공업고등학교 유비쿼터스전자과 졸업 《2014.03.02 - 2021.08.18》 단국대학교 소프트웨어학과 학사 졸업 [이력] 《2014.03 - 2014.07》 [알바] 위너스PC방 《2015.04.20 - 2017.04.19》 대한민국 공군 제19전투비행단 항공전자장비정비병 《2017.07 - 2018.01, 2018.07 - 2018.11》 [알바] 이화어학원 학생조교 《2017.07 - 2018.05》 [알바] 파리바게트 주말마감 《2018.07.18 - 2018.07.20》 2018 대학생 금융보안캠프 수료 《2018.08.01 - 2018...

공부 목적으로 Cheat Engine을 이용하여 간단한 게임 핵을 만들어보았다. 이 싱글 게임은 어릴적 학교 컴퓨터실에서 많이 해봤던 피카츄 배구다. 이 게임은 포켓몬스터의 마스코트 캐릭터 피카츄가 몬스터볼을 사용해 배구를 하는 것으로 1명 또는 2명의 플레이어가 간단한 조작만으로 플레이가 가능한 싱글 게임이다. 2명의 플레이어가 서로 머리를 이용하여 몬스터볼을 치거나 스매쉬를 날려 가장 많은 포인트를 획득하는 플레이어가 승리를 가져가게 된다. 그럼 이제 치트 엔진을 이용해서 어떠한 상황에서도 내 점수만 올라가도록 메모리를 변조해보자!! 1. 메모리 분석 가장 먼저 Cheat Engine에 피카츄 배구를 Attach해줘야 한다. 그래야 메모리 분석을 할 수 있다. 그럼 이제 실제로 피카츄 배구를 플레이 ..