Langues: English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Français | Deutsch | Español | Italiano | Русский | العربية
← Documentation · ← Projet NeverC
Exemples compilables démontrant les capacités de compilation croisée de NeverC. Tous compilent depuis macOS / Linux — aucun environnement Windows requis.
| Exemple | Description | Fonctionnalités clés |
|---|---|---|
| Serveur de jeu autoritaire | Backend de jeu multiplateforme | Tick fixe 60 Hz, sessions TCP, entrée UDP/QUIC, protection rejeu |
| Collecteur anti-triche | Ingestion de télémétrie renforcée | mTLS, NRPC streaming, télémétrie HMAC, pipeline d'audit borné |
| Exemple | Description | Fonctionnalités clés |
|---|---|---|
| Pilote noyau Windows | Pilote WDM minimal | Compilation croisée .sys pour x64 (défaut) et ARM64, auto-LTO, éditeur de liens intégré |
| Pilote Windows + CET | Pilote avec Intel CET Shadow Stack | Code noyau compatible CET (x64 uniquement), /guard:ehcont |
| Pilote Windows + virgule flottante | Pilote avec virgule flottante/SIMD | Virgule flottante sécurisée en mode noyau sur x64 et ARM64 |
| Windows Ring3 EXE | Application console mode utilisateur | GetSystemInfo, énumération processus, VirtualAlloc |
| Windows Ring3 DLL | DLL mode utilisateur | ReadProcessMemory, VirtualAllocEx, énumération modules |
| Exemple | Description | Caractéristiques |
|---|---|---|
| Linux Hello World | Programme C minimal | Cross-compilation depuis macOS/Windows |
| Linux POSIX | Programmation système POSIX | pthreads, mmap, pipe, signaux |
| Linux Statique | Binaire entièrement statique | Liaison -static |
| Linux Réseau | Démo socket TCP | Client/serveur |
| Linux Math + zlib | Math + compression | Trigonométrie, zlib, CRC32 |
| Exemple | Description | Caractéristiques |
|---|---|---|
| Application macOS | Exécutable natif Mach-O | sysctl, uname, Mach host_info/task_info, introspection processus |
| Bibliothèque dynamique macOS | Bibliothèque native .dylib |
Mach vm_read/vm_write, vm_alloc/vm_dealloc, task_info, XOR |
| Exemple | Description | Caractéristiques |
|---|---|---|
| Android ELF | Binaire ARM64 natif pour appareils rootés | Cross-compilation Android, dlopen/liblog, /proc, détection root |
| Bibliothèque partagée Android | Bibliothèque .so native ARM64 |
Bibliothèque partagée, mmap RWX, chiffrement XOR |
Aucun arbre source noyau requis — NeverC compile contre le runtime minimal intégré. Source unique couvrant GKI 5.10–6.12.
| Exemple | Description | Caractéristiques |
|---|---|---|
| Kernel Hello | Module .ko minimal |
Bootstrap kallsyms via kprobe, validation insmod minimale |
| Template pilote noyau | Template de résolution dynamique de symboles | kallsyms_lookup_name, ABI stable GKI, 5.10–6.12 |
| Kernel Inline Interpose | Interpose inline sur do_faccessat |
Patch BTI/PAC sûr, mode context interpose, relocation PC-relative |
| Kernel Syscall Interpose | Table syscall / inline / context interpose | Remplacement sys_call_table, interpose inline, context interpose |
| Kernel Lowvis | Gestion de visibilité de module | Visibilité list/sysfs/proc, wrappers d'identifiants, état d'application SELinux |
| Kernel Full SDK | Intégration SDK complète | Netlink IPC, interposes, wrappers d'identifiants, visibilité de module, contrôle de politique SELinux, VMA, fichiers |
| Kernel Chardev | Périphérique caractère + ioctl | misc_register, dispatch ioctl, /proc seq_file |
| Kernel Netlink | IPC netlink bidirectionnel | Commandes PING/VERSION/ECHO, nvk_nl_open/nvk_nl_reply |
| Kernel Probe | Sonder une instruction arbitraire | neverc_krt_probe_register, contexte de registres complet, chaînage par priorité, saut/redirection |
| Kernel Multi-Fichiers | Module noyau multi-fichiers | Un seul NEVERC_KRT_BOOTSTRAP(), état partagé weak_odr, découpage init/interpose/utilitaires |
Chaque exemple suit le même modèle :
cd examples/example-name
neverc makePour le pilote Makefile lui-même, voir neverc build / make →.
Remplacez le chemin du compilateur si nécessaire :
neverc make NEVERC=/path/to/nevercLes exemples de pilotes Windows sélectionnent l'architecture avec ARCH
(x64 par défaut). L'exemple CET est réservé à x64 — CET est une fonctionnalité
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 signatureLes exemples Linux prennent en charge la sélection d'architecture :
neverc make TARGET=aarch64-linux-gnu # Build for ARM64
neverc make TARGET=x86_64-linux-gnu # Build for x86_64 (default)Les exemples macOS prennent en charge la sélection d'architecture :
neverc make TARGET=arm64-apple-macos # Build for Apple Silicon (default)
neverc make TARGET=x86_64-apple-macos # Build for IntelLes exemples Android ciblent ARM64 par défaut :
cd examples/android-elf
neverc make # Build
neverc make run # Build + push to device + run via adb- Chaîne d'outils unique : NeverC gère le préprocessing, la compilation, l'optimisation (auto-LTO) et l'édition de liens en une seule invocation
- SDK intégré : Windows SDK/WDK, sysroot Linux (Ubuntu 22.04), sysroot macOS (macOS 14) et sysroot Android (NDK r26c, API 21+) sont intégrés dans
runtime/— zéro dépendance externe - Indépendant de l'hôte : Compilez depuis macOS (arm64/x86_64), Linux (x86_64/aarch64) ou Windows avec des commandes identiques
- Multi-cible : Compilation croisée vers Windows PE (
.sys/.exe/.dll), Linux ELF, macOS Mach-O (.dylib) et Android ELF depuis n'importe quel hôte - Support du débogage : Passez
-gpour les infos de débogage DWARF ; inspectez avecllvm-dwarfdump