# CTF Workspace

Рабочая папка для решения задач с winpwn. Библиотека — в `../go_pwner/`, не трогай.

## Структура

```
workspace/
├── go.mod              ← replace winpwn => ../go_pwner (не трогай)
├── template/           ← шаблон нового solve-скрипта
│   └── main.go
│
├── bof_basic/          ← стек overflow, базовый
├── task1_leak/         ← info leak → redirect (нет ASLR)
├── task2_rop/          ← BOF + ROP chain + DEP
├── task3_fmtstr/       ← format string (нет скомпилированного бинаря)
│
├── heap_lfh/           ← UAF + LFH grooming
├── heap_typemix/       ← UAF type confusion, без LFH
├── heap_overflow/      ← adjacent chunk overflow, NT Heap backend
├── heap_segment/       ← adjacent chunk overflow, Segment Heap
├── heap_info_leak/     ← OOB read + ASLR bypass + UAF
│
└── demos/              ← демо API winpwn, не задачи
    ├── pe_multitool/   ← checksec, IAT/EAT, ROP-сканер
    ├── shellcraft_winexec/ ← генерация PIC x64 shellcode
    └── leak_msvcrt/    ← поиск system() + cmd.exe в msvcrt.dll
```

Каждая задача:
```
task1_leak/
├── main.go    ← solve-скрипт, запускать отсюда: go run .
├── task1.exe  ← бинарь-цель
├── flag.txt   ← флаг (открывается целевым процессом)
└── src/
    └── task1.c  ← исходник задачи
```

## Запуск

```
cd C:\tools\workspace\task1_leak
go run .
```

## Новая задача

```
cd C:\tools\workspace
mkdir mynew
cd mynew
# скопируй бинарь: copy C:\path\to\chal.exe .
# скопируй шаблон: copy ..\template\main.go .
go run .
```

## Документация

- `C:\tools\go_pwner\USAGE_RU.md` — краткий справочник по-русски
- `C:\tools\go_pwner\USAGE.md` — полный гайд на английском
