
Eu sempre tive interesse em engenharia reversa . Alguns dias atrás, eu queria olhar para alguns, jogos internos por diversão, mas ele estava empacotado e protegido pela EAC (EasyAntiCheat). Isso significa que sua alça foi removida e não foi possível despejar o processo do Ring3. Decidi tentar criar um driver personalizado que me permitisse copiar a memória do processo sem usar o OpenProcess. Como eu não sabia nada sobre o kernel do Windows , a estrutura de arquivos do PE, passei muito tempo lendo artigos e fóruns para fazer esse projeto.
Recursos
- Despejar qualquer módulo principal do processo usando um driver de kernel (x86 e x64)
- Reconstruir cabeçalho e seções PE32 / PE64
- Funciona em processos do sistema protegido e com alças despojadas (anti-cheats)
Nota : A tabela de importação não é reconstruída.
Uso
Antes de usar o KsDumperClient, o driver KsDumper precisa ser carregado.
Como não está assinado, é necessário carregá-lo da maneira que desejar. Estou usando o drvmap para Win10. Tudo é fornecido nesta versão se você quiser usá-lo também.
- Execute
Driver/LoadCapcom.bat
como administrador. Não pressione nenhuma tecla ou feche a janela ainda! - Execute
Driver/LoadUnsignedDriver.bat
como administrador. - Pressione enter no
LoadCapcom
cmd para descarregar o driver. - Corra
KsDumperClient.exe
. - Lucro!
Nota : O driver permanece carregado até a reinicialização; portanto, se você fechar o KsDumperClient.exe, poderá reabri-lo!
Nota2 : Embora possa despejar os processos x86 e x64, isso deve ser executado no Windows x64.
Referências
- https://github.com/not-wlan/drvmap
- https://github.com/Zer0Mem0ry/KernelBhop
- https://github.com/NtQuery/Scylla/
- http://terminus.rewolf.pl/terminus/
- https://www.unknowncheats.me/
Compile-se
- Requer Visual Studio 2017
- Requer o Windows Driver Kit (WDK)
- Requer .NET 4.6.1