Sprachen: English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Français | Deutsch | Español | Italiano | Русский | العربية
Minimales NeverC Android-Kernelmodul (.ko). Bootstrapt kallsyms_lookup_name über kprobe, gibt eine Lademeldung aus und beendet sich sauber. Einfachste End-to-End-Validierung: Kompilierung → Linking → insmod.
cd examples/android-kernel-hello
neverc make # debug: -g (Standard beim ersten Build)
neverc make release # release: -O2 --strip
neverc make debug # zurück zu debugWählen Sie ein anderes Kernel-Preset z. B. mit
neverc make KERNEL=612 release. neverc make release wählt
-O2 --strip. Das Makefile schreibt die gewählten Werte für KERNEL und
PROFILE in .nvk-build-flags, sodass spätere Aufrufe von make push,
make run und make ohne Ziel dasselbe Artefakt verwenden. Ohne diese
Statusdatei verwendet make standardmäßig debug. make debug oder ein
ausdrückliches PROFILE=... ersetzt das gespeicherte Profil; make clean
löscht die Statusdatei, sodass der nächste Build wieder debug verwendet.
NeverC schreibt fünf Klassen von IDA inspirierten, nicht reservierten Release-Namen:
Funktionen fn_HEX, ausführbare typfreie Labels code_HEX, Objekte obj_HEX,
andere typfreie Labels sym_HEX und absolute Symbole abs_HEX. Für gewöhnliche
allozierte Definitionen ist HEX eine deterministische analysis EA, die aus
dem endgültigen Layout der SHF_ALLOC-Sektionen abgeleitet wird (abs_HEX
verwendet stattdessen den absoluten st_value); sie ist weder hash (Hashwert)
noch encryption (Verschlüsselung), file offset (Datei-Offset), ELF virtual
address (virtuelle ELF-Adresse) oder runtime kernel address
(Kernel-Laufzeitadresse). NeverC speichert weder reservierte sub_/loc_-Formen
noch absichtlich leere gewöhnliche Namen.
Die Release- und Strip-Richtlinie
beschreibt die exakt zu erhaltenden Namen, IDAs synthetische extern-Ansicht,
die Sicherheitsgrenzen sowie die Reihenfolge von Finalisierung und Signatur.
neverc make runOder manuell:
adb push nvk_hello.ko /data/local/tests/
adb shell su -c 'insmod /data/local/tests/nvk_hello.ko'
adb shell su -c 'dmesg | grep neverc_krt_hello'Auf dem Gerät streamt cat /proc/kmsg den Kernel-Ringpuffer in Echtzeit — ähnlich wie DbgView unter Windows. Nutzen Sie es, wenn insmod nur mit einer vagen Meldung scheitert oder Sie den echten Ablehnungsgrund sehen müssen (vermagic, modversions, Section-Größe usw.).
Terminal 1 (laufen lassen):
adb shell
su
cat /proc/kmsgTerminal 2:
adb shell su -c 'insmod /data/local/tests/nvk_hello.ko'Neue Zeilen erscheinen in Terminal 1 beim Laden. Mit Ctrl+C beenden.
Hinweis: dmesg -w fehlt auf manchen Android-Builds; /proc/kmsg braucht root, ist für Modul-Bring-up aber zuverlässig.
neverc make rmmodOder manuell:
adb shell su -c 'rmmod neverc_krt_hello'