
Applica patch ai binari del kernel Android ARMv8.3 per disabilitare la verifica della firma dei driver, consentendo il caricamento di moduli kernel personalizzati per lo sviluppo e i test di sicurezza.
AndroidDriveSignityAndroidDriveSignity è uno script Python progettato per patchare i file del kernel Android(ARMv8.3), consentendo il caricamento dei driver senza essere soggetti a vari controlli di verifica, in particolare la verifica delle firme. Questo strumento mira a facilitare il processo di sviluppo e test consentendo agli sviluppatori di bypassare le misure di sicurezza integrate nel kernel che impediscono il caricamento di driver non ufficiali o modificati.
check_modinfo, check_version e module_sig_check) per aggirare i meccanismi di verifica della firma dei driver.Preparare i file necessari: Assicurati di avere il file binario del kernel (kernel_file_path), il file della tabella dei simboli kallsyms (kallsyms_file_path) e una destinazione per il kernel patchato (output_file_path).
Eseguire AndroidDriveSignity: Naviga nella directory dello script nel tuo terminale o prompt dei comandi ed esegui:
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
Se ci sono due partizioni, dai priorità al tentativo con "boot_a":
adb shell su -c "dd if=$(readlink /dev/block/by-name/boot_a) of=/data/local/tmp/boot.img"
Se c'è una sola partizione, allora è "boot.img":
adb shell su -c "dd if=$(readlink /dev/block/by-name/boot) of=/data/local/tmp/boot.img"
Quindi, trasferisci l'immagine boot sulla tua macchina locale:
adb pull /data/local/tmp/boot.img
Infine, usa magiskboot per estrarre il file kernel da boot.img.
magiskboot --unpack boot.img
Otterrai due file: uno è kernel(il tuo file kernel), e l'altro è 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
Puoi ottenere un esempio del driver Android qui
LinuxAndroid