1. C++ / Говнокод #6173

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    HMODULE nt=LoadLibrary("Ntdll.dll");
    PROCESS_BASIC_INFORMATION pbi={0};
    ZWQUERYINFORMATIONPROCESS _ZwQueryInformationProcess;
    _ZwQueryInformationProcess = (ZWQUERYINFORMATIONPROCESS)GetProcAddress(nt, "ZwQueryInformationProcess");
    DWORD rlg;
    SetLastError(0);
    _ZwQueryInformationProcess(divine,0,&pbi,sizeof(pbi),&rlg);
    printf("%d",GetLastError());

    источник: http://www.wasm.ru/forum/viewtopic.php?pid=426270#p426270

    Запостил: ReL, 31 Марта 2011

    Комментарии (15) RSS

    • улыбает LoadLibrary на ntdll.dll, в принципе ничего криминального, просто улыбает, если вспомнить, что она маппится ядром операционной системы и присутствует во всех процессах... улыбает отсутствие проверки на NULL после вызовов LoadLibrary и GetProcAddress, опять же ничего криминального, так как вызовы по-любому пройдут без ошибок, так кака ntdll.dll есть в процессе, и имя функции написано без ошибок, просто улыбает... и больше всего улыбает SetLastError(0) перед нтапи-вызовом и GetLastError после... и извиняйте, что в цпп запостил, наверное си разделу это гавнецо ближе...
      Ответить
      • >она маппится ядром операционной системы и присутствует во всех процессах
        А вот при Сталине На win9x такого не было!
        Ответить
        • > На win9x такого не было!
          Музейные экспонаты не в счет.
          Я вот лично начало 3й строки с первого взгляда воспринял вообще как тарабарщину.
          Ответить
          • вторая часть этой строки тоже хороша. надо же было так старательно выписывать имя переменной, чтобы соответствовало аццкому названию типа.
            Ответить
            • ацкое название типа и ацкое название переменной соответствует ацкому названию функции... в то время как можно было бы просто ntdll.lib подключить из DDK, или написать def-файл)
              Ответить
      • > извиняйте, что в цпп запостил, наверное си разделу это гавнецо ближе...

        я так понимаю, что надо создавать раздел wasm.ru, оттуда поступают просто-таки уникальные вещи, совершенно неописуемые в рамках какого-то одного языка
        Ответить
    • Я вернулся! Где здесь С++???
      Ответить
    • http://tinyurl.com/3rfes4y
      Ответить

    Добавить комментарий