Está genial el tuto y me ha servido de mucho. A ver si podeis ayudarme con una duda.
Estoy tratando de ver un poco, en tiempo real, el funcionamiento. Para ello, tal y como dices en el tuto, abro con el Olly user32.dll y busco la dirección de FindNextFileW ... efectivamente los comandos que indicas son los que aparece y así queda claro el porqué coger 7 bytes.
Lo que me gustaría hacer a continuación, una vez cargada la dll que oculta los files que comienzan por miniRoot, es ver en el Olly el código que he cargado y cómo se ha alterado el contenido de la librería.
El problema lo tengo en que no se cómo averiguar esa dirección, es decir ...
std::cout << (LPVOID)GetProcAddress(GetModuleHandle("kernel32.dll"), "FindNextFileW") << '\n';
Eso muestra la dirección de la librería pero desde la DLL, que es cuando se carga el fake, no puedo hacer un cout y con MessageBox no consigo mostrar la dirección, que es un BYTE []
La idea es algo así:
Buffer=(BYTE *) malloc (12);
VirtualProtect((void *) Buffer, 12, PAGE_EXECUTE_READWRITE, &ProteVieja);
memcpy(Buffer,DirFN,7);
MessageBox(0, (LPCSTR)Buffer, "", 0);
que supuestamente me debería dar la dirección de memoria donde se carga ... ¿o no?