
AndroidDriveSignity es una utilidad de Python diseñada para omitir la verificación de firma de controladores en el kernel de Android (ARMv8.3), facilitando la carga de controladores personalizados
AndroidDriveSignityAndroidDriveSignity es un script de Python diseñado para parchear archivos del kernel de Android(ARMv8.3), lo que permite cargar controladores sin estar sujetos a diversas comprobaciones de verificación, específicamente las verificaciones de firma. Esta herramienta tiene como objetivo facilitar el proceso de desarrollo y pruebas al permitir a los desarrolladores omitir las medidas de seguridad integradas del kernel que impiden que se carguen controladores no oficiales o modificados.
check_modinfo, check_version y module_sig_check) para evadir los mecanismos de verificación de firma de controladores.Prepara los archivos necesarios: Asegúrate de tener el archivo binario del kernel (kernel_file_path), el archivo de la tabla de símbolos kallsyms (kallsyms_file_path) y un destino para el kernel parcheado (output_file_path).
Ejecuta AndroidDriveSignity: Navega al directorio del script en tu terminal o símbolo del sistema y ejecuta:
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
Si hay dos particiones, prioriza probar "boot_a":
adb shell su -c "dd if=$(readlink /dev/block/by-name/boot_a) of=/data/local/tmp/boot.img"
Si solo hay una partición, entonces es "boot.img":
adb shell su -c "dd if=$(readlink /dev/block/by-name/boot) of=/data/local/tmp/boot.img"
Luego, extrae la imagen de arranque a tu máquina local:
adb pull /data/local/tmp/boot.img
Finalmente, usa magiskboot para extraer el archivo del kernel de boot.img.
magiskboot --unpack boot.img
Obtendrás dos archivos: uno es el kernel(tu archivo de kernel) y el otro es 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
Puedes obtener un ejemplo del controlador de Android aquí
LinuxAndroid