
AndroidDriveSignity é um utilitário Python projetado para contornar a verificação de assinatura de drivers no kernel Android (ARMv8.3), facilitando o carregamento de drivers personalizados
AndroidDriveSignityO AndroidDriveSignity é um script Python desenvolvido para aplicar patches em arquivos de kernel do Android(ARMv8.3), permitindo o carregamento de drivers sem estar sujeito a várias verificações, especificamente as verificações de assinatura. Esta ferramenta visa facilitar o processo de desenvolvimento e teste, permitindo que desenvolvedores contornem as medidas de segurança integradas ao kernel que impedem o carregamento de drivers não oficiais ou modificados.
check_modinfo, check_version e module_sig_check) para contornar os mecanismos de verificação de assinatura de drivers.Prepare os Arquivos Necessários: Certifique-se de ter o arquivo binário do kernel (kernel_file_path), o arquivo da tabela de símbolos kallsyms (kallsyms_file_path) e um destino para o kernel patchado (output_file_path).
Execute o AndroidDriveSignity: Navegue até o diretório do script no seu terminal ou prompt de comando e execute:
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 houver duas partições, priorize tentar "boot_a":
adb shell su -c "dd if=$(readlink /dev/block/by-name/boot_a) of=/data/local/tmp/boot.img"
Se houver apenas uma partição, então é "boot.img":
adb shell su -c "dd if=$(readlink /dev/block/by-name/boot) of=/data/local/tmp/boot.img"
Em seguida, puxe a imagem de boot para sua máquina local:
adb pull /data/local/tmp/boot.img
Por fim, use magiskboot para extrair o arquivo de kernel do boot.img.
magiskboot --unpack boot.img
Você obterá dois arquivos: um é o kernel(seu arquivo de kernel), e o outro é 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
Você pode obter um exemplo do driver Android aqui
LinuxAndroid