TDL (carregador de motorista Turla)
Carregador de driver para ignorar a aplicação da assinatura do driver do Windows X64
Para mais informações, consulte
- Derrotando a aplicação da assinatura do driver x64 http://www.kernelmode.info/forum/viewtopic.php?f=11&t=3322
- Winnt/turla http://www.kernelmode.info/forum/viewtopic.php?f=16&t=3193
Requisitos e limitações do sistema
- x64 Windows 7/8/8.1/10.
- TDL projetado apenas para o X64 Windows, o Vista não listado como suportado porque é obsoleto.
- É necessário um privilégio administrativo.
- Os drivers carregados devem ser especialmente projetados para funcionar como "sem driver".
- Nenhum suporte SEH para motoristas de destino.
- Sem descarregamento do motorista.
- Somente o Ntoskrnl Import resolveu, tudo o mais depende de você.
- Exemplos de driver dummy fornecidos.
Você o usa por seu próprio risco. Algum AV preguiçoso pode sinalizar esse carregador como malware.
Diferenças entre DSEFIX e TDL
Enquanto o DSEFIX e o TDL usa vantagem da exploração do driver, eles são completamente diferentes no caminho do uso.
- DSEFIX manipula a variável do kernel chamada g_cienabled (Vista/7, ntoskrnl.exe) e/ou g_cioptions (8+. Ci.dll). A vantagem principal do DSEFIX é a simplicidade - você desliga o DSE - carregue seu driver (ou corrigido) e nada mais necessário. A principal desvantagem do DSEFIX é que, na versão moderna do Windows (8+), a variável G_CIOPTIONS está sujeita à proteção do patchguard (KPP), que significa que o dsefix é um potencial-gerador BSOD.
- O TDL não remende nenhuma variável de kernel, o que torna amigável o patchguard. Ele usa o código de shell pequeno que mapeia o seu driver para o modo kernel sem envolver o carregador do Windows (e como resultado sem acionar nenhuma parte do DSE) e o executa. Esta é a principal vantagem do TDL - desvio não invasivo do DSE. No entanto, existem muitas desvantagens - o primeiro e o principal -> seu motorista deve ser especialmente criado para ser executado como "sem driver", o que significa que você não poderá carregar nenhum driver, mas apenas especialmente projetado. Seu driver existirá no modo kernel como buffer de código executável, ele não estará vinculado ao PSLoadedModulelist, haverá outras limitações. No entanto, esse código funcionará no modo kernel e no aplicativo Modo do usuário poderá se comunicar com ele. Você pode carregar vários drivers, é claro que eles não estão conflitos entre si.
Como funciona
Ele usa a técnica de exploração WinNT/Turla VirtualBox Kernel Mode para escrever código na memória do kernel e após executar esse código. O TDL usa o código Shell de Bootstrap personalizado para mapear seu driver especialmente projetado e chamá -lo de ponto de entrada (DriverEntry), observe que os parâmetros do DriverEntry serão inválidos e não devem ser usados. Exemplos de drivers especialmente projetados disponíveis como DummyDrv e DummyDrv2. Seu DriverEntry será executado em IRQL Passive_Level até o Windows 10 RS1. A partir do Windows 10 RS2, seu código DriverEntry é executado no IRQL Dispatch_level.
Construir
O TDL vem com código -fonte completo. Para construir a partir da fonte, você precisa de versões U1 do Microsoft Visual Studio 2015 e posteriores. Para compilações de driver, você precisa do Microsoft Windows Driver Kit 8.1 e/ou acima.
Instruções
- Selecione Platform ToolSet primeiro para o projeto em solução que você deseja criar (Project-> Properties-> Geral):
- V120 para o Visual Studio 2013;
- v140 para o Visual Studio 2015;
- V141 para o Visual Studio 2017.
- Para V140 e acima, defina a versão da plataforma de destino (Project-> Properties-> Geral):
- Se v140, selecione 8.1 (observe que o Windows 8.1 SDK deve ser instalado);
- Se v141, selecione 10.0.17763.0 (observe que o Windows 10.0.17763 SDK deve ser instalado).
Remova a opção Linker /nocoffgrPinfo, onde não está suportado /indisponível.
Deprecação
TDL baseado no antigo driver Oracle VirtualBox, criado em 2008. Esse driver não foi projetado para ser compatível com as mais recentes versões do sistema de operação do Windows e pode funcionar incorretamente. Como o TDL totalmente baseado nessa versão exata do driver VirtualBox LPE, não é aconselhável usá -lo na versão mais recente do Windows. Considere este repositório como privado/abandonado. As únicas atualizações possíveis podem estar relacionadas apenas ao próprio carregador TDL.
Autores
(c) 2016 - 2019 Projeto TDL
Créditos