
AndroidDriveSignity ist ein Python-Dienstprogramm, das entwickelt wurde, um die Treibersignatur-Überprüfung im Android-Kernel (ARMv8.3) zu umgehen und so das Laden benutzerdefinierter Treiber zu ermöglichen.
AndroidDriveSignityAndroidDriveSignity ist ein Python-Skript zum Patchen von Android-Kernel(ARMv8.3)-Dateien, das das Laden von Treibern ermöglicht, ohne verschiedenen Verifizierungsprüfungen, insbesondere Signaturverifizierungen, zu unterliegen. Dieses Tool soll den Entwicklungs- und Testprozess erleichtern, indem es Entwicklern erlaubt, die integrierten Sicherheitsmaßnahmen des Kernels zu umgehen, die das Laden von inoffiziellen oder modifizierten Treibern verhindern.
check_modinfo, check_version und module_sig_check), um die Signaturverifizierungsmechanismen von Treibern zu umgehen.Bereiten Sie die erforderlichen Dateien vor: Stellen Sie sicher, dass Sie die Kernel-Binärdatei (kernel_file_path), die kallsyms-Symboltabelle (kallsyms_file_path) und ein Ziel für den gepatchten Kernel (output_file_path) haben.
Führen Sie AndroidDriveSignity aus: Navigieren Sie im Terminal oder in der Eingabeaufforderung zum Verzeichnis des Skripts und führen Sie Folgendes aus:
python AndroidDriveSignity.py <kernel_file_path> <kallsyms_file_path> <output_file_path>
adb shell
su
echo 0 > /proc/sys/kernel/kptr_restrict
exit
exit
adb shell su -c "cat /proc/kallsyms > /data/local/tmp/kallsyms"
adb pull /data/local/tmp/kallsyms
Wenn es zwei Partitionen gibt, versuchen Sie zuerst "boot_a":
adb shell su -c "dd if=$(readlink /dev/block/by-name/boot_a) of=/data/local/tmp/boot.img"
Wenn es nur eine Partition gibt, dann ist es "boot.img":
adb shell su -c "dd if=$(readlink /dev/block/by-name/boot) of=/data/local/tmp/boot.img"
Ziehen Sie dann das Boot-Image auf Ihren lokalen Rechner:
adb pull /data/local/tmp/boot.img
Verwenden Sie schließlich magiskboot, um die Kernel-Datei aus boot.img zu extrahieren.
magiskboot --unpack boot.img
Sie erhalten zwei Dateien: eine ist der kernel(Ihre Kernel-Datei) und die andere ist ramdisk.cpio.
python AndroidDriveSignity.py kernel kallsyms new-kernel
move/mv new-kernel kernel
magiskboot --repack boot.img
adb reboot bootloader
fastboot flash boot new-boot.img
fastboot reboot
adb push demo.ko /data/local/tmp
adb shell su -c insmod /data/local/tmp/demo.ko
adb shell su -c "lsmod |grep demo"
adb shell su -c rmmod /data/local/tmp/demo.ko
Ein Beispiel für den Android-Treiber erhalten Sie hier
LinuxAndroid