Языки: English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Français | Deutsch | Español | Italiano | Русский | العربية
← Документация · ← Проект NeverC
Полные собираемые примеры, демонстрирующие кроссплатформенную компиляцию NeverC. Все кросс-компилируются с macOS / Linux — среда Windows не требуется.
| Пример | Описание | Ключевые возможности |
|---|---|---|
| Авторитетный игровой сервер | Кроссплатформенный игровой бэкенд | Фиксированный tick 60 Гц, TCP-сессии, ввод UDP/QUIC, защита от replay |
| Сборщик античита | Усиленный сбор телеметрии | mTLS, потоковый NRPC, HMAC-телеметрия, ограниченный конвейер аудита |
| Пример | Описание | Ключевые возможности |
|---|---|---|
| Драйвер ядра Windows | Минимальный WDM-драйвер ядра | Кросс-компиляция .sys для x64 (по умолчанию) и ARM64, авто-LTO, встроенный линкер |
| Драйвер Windows + CET | Драйвер с Intel CET Shadow Stack | CET-совместимый код ядра (только x64), /guard:ehcont |
| Драйвер Windows + плавающая точка | Драйвер с плавающей точкой/SIMD | Безопасная плавающая точка в режиме ядра на x64 и ARM64 |
| Windows Ring3 EXE | Консольное приложение пользовательского режима | GetSystemInfo, перечисление процессов, VirtualAlloc |
| Windows Ring3 DLL | DLL пользовательского режима | ReadProcessMemory, VirtualAllocEx, перечисление модулей |
| Пример | Описание | Ключевые особенности |
|---|---|---|
| Linux Hello World | Минимальная программа на C | Кросс-компиляция с macOS/Windows |
| Linux POSIX | Системное программирование POSIX | pthreads, mmap, pipe, сигналы |
| Linux Статический | Полностью статический бинарник | Линковка -static |
| Linux Сеть | Демо TCP-сокетов | Клиент/сервер |
| Linux Math + zlib | Математика + сжатие | Тригонометрия, zlib, CRC32 |
| Пример | Описание | Ключевые особенности |
|---|---|---|
| Приложение macOS | Нативный исполняемый файл Mach-O | sysctl, uname, Mach host_info/task_info, информация о процессах |
| Динамическая библиотека macOS | Нативная .dylib библиотека |
Mach vm_read/vm_write, vm_alloc/vm_dealloc, task_info, XOR |
| Пример | Описание | Ключевые особенности |
|---|---|---|
| Android ELF | Нативный ARM64-бинарник для рутированных устройств | Кросс-компиляция для Android, dlopen/liblog, /proc, проверка root |
| Общая библиотека Android | Нативная ARM64 .so библиотека |
Разделяемая библиотека, mmap RWX, XOR-шифрование |
Исходный код ядра не требуется — NeverC компилирует против встроенного минимального рантайма. Один файл поддерживает GKI 5.10–6.12.
| Пример | Описание | Ключевые особенности |
|---|---|---|
| Kernel Hello | Минимальный .ko модуль |
Бутстрап kallsyms через kprobe, простейшая проверка insmod |
| Шаблон драйвера | Шаблон динамического разрешения символов | kallsyms_lookup_name, стабильный ABI GKI, 5.10–6.12 |
| Kernel Inline Interpose | Инлайн-хук на do_faccessat |
BTI/PAC-безопасный патч, контекстный хук, PC-относительная релокация |
| Kernel Syscall Interpose | Таблица syscall / inline / context interpose | Замена sys_call_table, инлайн-хук, контекстный хук |
| Kernel Lowvis | Управление видимостью модуля | Видимость list/sysfs/proc, обёртки учётных данных, состояние enforcement SELinux |
| Kernel Full SDK | Полная интеграция SDK | Netlink IPC, interpose, обёртки учётных данных, видимость модуля, управление политикой SELinux, VMA, файловый I/O |
| Kernel Chardev | Символьное устройство + ioctl | misc_register, диспетчеризация ioctl, /proc seq_file |
| Kernel Netlink | Двунаправленный netlink IPC | Команды PING/VERSION/ECHO, nvk_nl_open/nvk_nl_reply |
| Kernel Probe | Зонд на произвольной инструкции | neverc_krt_probe_register, полный контекст регистров, цепочка по приоритету, пропуск/перенаправление |
| Kernel Multi-File | Модуль ядра из нескольких файлов | Один NEVERC_KRT_BOOTSTRAP(), общее состояние weak_odr, разделение init/interpose/утилит |
Каждый пример следует одному шаблону:
cd examples/example-name
neverc makeО самом драйвере Makefile см. neverc build / make →.
При необходимости переопределите путь к компилятору:
neverc make NEVERC=/path/to/nevercПримеры драйверов Windows выбирают архитектуру через ARCH (по умолчанию x64).
Пример CET — только x64: CET — это функция x86:
neverc make ARCH=x64 # Build for x64 (default)
neverc make ARCH=arm64 # Build for ARM64
neverc make all-arch # Build every architecture the example supports
neverc make TESTSIGN=1 # Attach an Authenticode test signatureПримеры Linux поддерживают выбор архитектуры:
neverc make TARGET=aarch64-linux-gnu # Build for ARM64
neverc make TARGET=x86_64-linux-gnu # Build for x86_64 (default)Примеры macOS поддерживают выбор архитектуры:
neverc make TARGET=arm64-apple-macos # Build for Apple Silicon (default)
neverc make TARGET=x86_64-apple-macos # Build for IntelПримеры Android по умолчанию нацелены на ARM64:
cd examples/android-elf
neverc make # Build
neverc make run # Build + push to device + run via adb- Единая тулчейн: NeverC выполняет препроцессинг, компиляцию, оптимизацию (авто-LTO) и линковку за один вызов
- Встроенный SDK: Windows SDK/WDK, Linux sysroot (Ubuntu 22.04), macOS sysroot (macOS 14) и Android sysroot (NDK r26c, API 21+) встроены в
runtime/— ноль внешних зависимостей - Независимость от хоста: Сборка из macOS (arm64/x86_64), Linux (x86_64/aarch64) или Windows идентичными командами
- Мультиплатформенность: Кросс-компиляция в Windows PE (
.sys/.exe/.dll), Linux ELF, macOS Mach-O (.dylib) и Android ELF с любого хоста - Поддержка отладки: Передайте
-gдля отладочной информации DWARF; исследуйте сllvm-dwarfdump