言語: English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Français | Deutsch | Español | Italiano | Русский | العربية
NeverC のクロスプラットフォームコンパイル機能を示すビルド可能なサンプル集。すべて macOS / Linux からクロスコンパイル可能 — Windows ビルド環境不要。
| サンプル | 説明 | 主要機能 |
|---|---|---|
| Windows カーネルドライバ | 最小 WDM カーネルドライバ | macOS/Linux から .sys をクロスコンパイル、自動 LTO、内蔵リンカ |
| Windows ドライバ + CET | Intel CET シャドウスタック付きカーネルドライバ | CET 対応カーネルコード、/guard:ehcont |
| Windows ドライバ + 浮動小数点 | 浮動小数点/SIMD 付きカーネルドライバ | カーネルモード安全浮動小数点 |
| 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 数学 + 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 | root 端末向けネイティブ ARM64 バイナリ | Android クロスコンパイル、dlopen/liblog、/proc 情報、root 検出 |
| Android 共有ライブラリ | ネイティブ ARM64 .so ライブラリ |
共有ライブラリ、mmap RWX、XOR 暗号化 |
カーネルソースツリー不要 — NeverC は組み込みの最小ランタイムに対してコンパイルします。単一ソースで GKI 5.10–6.12 をカバー。
| サンプル | 説明 | 主要機能 |
|---|---|---|
| カーネル Hello | 最小 .ko モジュール |
kprobe 経由の kallsyms ブートストラップ、最小限の insmod 検証 |
| カーネルドライバテンプレート | 動的シンボル解決テンプレート | kallsyms_lookup_name、GKI 安定 ABI、5.10–6.12 |
| カーネルインラインフック | do_faccessat のインラインフック |
BTI/PAC セーフパッチ、コンテキストフックモード、PC 相対リロケーション |
| カーネル Syscall フック | syscall テーブル / inline / context interpose | sys_call_table 置換、インラインフック、コンテキストフック |
| カーネル低可視性 | モジュール可視性管理 | list/sysfs/proc 可視性、資格情報ラッパー、SELinux 強制状態 |
| カーネル Full SDK | 完全 SDK 統合 | Netlink IPC、interpose、資格情報ラッパー、モジュール可視性、SELinux ポリシー制御、VMA、ファイル I/O |
| カーネル Chardev | キャラクタデバイス + ioctl | misc_register、ioctl ディスパッチ、/proc seq_file |
| カーネル Netlink | 双方向 netlink IPC | PING/VERSION/ECHO コマンド、nvk_nl_open/nvk_nl_reply |
| カーネル Probe | 任意の命令をプローブ | neverc_krt_probe_register、全レジスタコンテキスト、優先度チェーン、スキップ/リダイレクト |
| カーネル複数ファイルモジュール | 複数ファイルのカーネルモジュール | NEVERC_KRT_BOOTSTRAP() は一度だけ、weak_odr 共有状態、init/interpose/helper の分割 |
すべての例は同じパターンに従います:
cd examples/example-name
neverc make必要に応じてコンパイラパスを上書きします:
neverc make NEVERC=/path/to/nevercLinux の例はアーキテクチャ選択をサポートします:
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 IntelAndroid の例はデフォルトで ARM64 を対象とします:
cd examples/android-elf
neverc make # Build
neverc make run # Build + push to device + run via adb- 単一ツールチェーン:NeverC は前処理、コンパイル、最適化(自動 LTO)、リンクを 1 回の呼び出しで処理します
- バンドル 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で検査可能