
AndroidDriveSignity est un utilitaire Python conçu pour contourner la vérification de signature des pilotes dans le noyau Android (ARMv8.3), facilitant le chargement de pilotes personnalisés.
AndroidDriveSignityAndroidDriveSignity est un script Python conçu pour patcher les fichiers du noyau Android(ARMv8.3), permettant le chargement de pilotes sans être soumis à diverses vérifications, notamment les vérifications de signature. Cet outil vise à faciliter le processus de développement et de test en permettant aux développeurs de contourner les mesures de sécurité intégrées au noyau qui empêchent le chargement de pilotes non officiels ou modifiés.
check_modinfo, check_version et module_sig_check) pour contourner les mécanismes de vérification de signature des pilotes.Préparez les fichiers nécessaires : Assurez-vous de disposer du fichier binaire du noyau (kernel_file_path), du fichier de table de symboles kallsyms (kallsyms_file_path) et d'une destination pour le noyau patché (output_file_path).
Exécutez AndroidDriveSignity : Accédez au répertoire du script dans votre terminal ou invite de commandes, puis exécutez :
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
S'il y a deux partitions, privilégiez « boot_a » :
adb shell su -c "dd if=$(readlink /dev/block/by-name/boot_a) of=/data/local/tmp/boot.img"
S'il n'y a qu'une seule partition, il s'agit alors de « boot.img » :
adb shell su -c "dd if=$(readlink /dev/block/by-name/boot) of=/data/local/tmp/boot.img"
Ensuite, récupérez l'image de démarrage sur votre machine locale :
adb pull /data/local/tmp/boot.img
Enfin, utilisez magiskboot pour extraire le fichier noyau de boot.img.
magiskboot --unpack boot.img
Vous obtiendrez deux fichiers : l'un est le kernel(votre fichier noyau), et l'autre est 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
Vous pouvez obtenir un exemple de pilote Android ici
LinuxAndroid