Guindous naiti fai (windows 95 pa lo careta o win95 pa lo cheto)

Mirando el blojjjjj de un ex programador q participo en el guindow95 parece q el chabon se puso a hacer catarsi viteh y publico el siguiente codigo:

int TryToCallFunctionX(a, b, c)
{
    for each file in (  SystemDirectory,
                WindowsDirectory,
                ProgramFilesDirectory(RecursiveSearch),
                KitchenSink,
                Uncle.GetKitchenSink)
    {
        hInstance = LoadLibrary(file);
        fn = GetProcAddress(hInstance, "FunctionX");
        if (fn != nullptr) {
            int result = fn(a,b,c);
            FreeLibrary(hInstance);
            return result;
        }
        fn = GetProcAddress(hInstance, "__imp__FunctionX");
        if (fn != nullptr) {
            int result = fn(a,b,c);
            FreeLibrary(hInstance);
            return result;
        }
        fn = GetProcAddress(hInstance, "FunctionX@12");
        if (fn != nullptr) {
            int result = fn(a,b,c);
            FreeLibrary(hInstance);
            return result;
        }
        fn = GetProcAddress(hInstance, "__imp__FunctionX@12");
        if (fn != nullptr) {
            int result = fn(a,b,c);
            FreeLibrary(hInstance);
            return result;
        }
        FreeLibrary(hInstance);
    }

    return 0;
}

Y lo eplica asi:
El coso ete enumera cada archivo al system directory, guindow directory, program fail directory y posiblemente kirchner sink y los tios de kirchner (tan en todas e!).
INTENTA cargar cada uuno como una libreria y ve si tiene una funcion de salida llamada FunctionX (faa). Por si la duda INTENTA ___imp__, FunctionX ,FunctionX@12 y __imp__FunctionX@12. Si encuentra algun resultado, llama a la funcio.

Lo ma gracioso e q mientras cada llamada a GetProcAddress falla (buuuuuuuuu), la funsion q intentan llamar e una funcion internal del window manager q no la exportaron nunca. seguro pensaron “mmmmm aca no ta, vamo al user32 donde va la gilada” entonce fueron por toda las DLLs q se les vino al marote (q encima tiene nombre de mierda y en ingle re careta).

Social Share Toolbar

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *