Hola nenitas, os traigo un ejemplo de sistema de archivos virtuales (o VSF) en C++. Sólo es una prueba de concepto así que sólo se puede utilizar con un archivo. Lo que hace es hacer un hook (usando la librería MinHook) a tres funciones (CreateFileA, ReadFile y CloseHandle) para mostrar el contenido de un archivo que no existe físicamente. Para ello, emplea funciones como CreateFileMappingA y MapViewOfFile. El hook lo realizo en el propio proceso pero se puede realizar en cualquier proceso con cualquier técnica de inyección de DLL/código, la aplicación de la prueba de concepto os la dejo a vosotros :good:

Aquí os dejo el código:

Mostrar/Ocultar

NOTA: en mi proyecto desactivé el CFG y DEP, no sé si será necesario.
Por cierto, si os fijáis, el hook a CloseHandle no es necesario. Lo implementé porque estaba probando otra cosa. Supongo que podéis quitarlo.
Responder

Volver a “Fuentes”