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

    +143

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    char * hmod = (char *)GetModuleHandleW(L"msenv.dll");
    IMAGE_DOS_HEADER *pDosHeader = (IMAGE_DOS_HEADER *)hmod;
    IMAGE_NT_HEADERS *pNtHeaders = (IMAGE_NT_HEADERS *)(hmod + pDosHeader->e_lfanew);
    char *pcode = (hmod + pNtHeaders->OptionalHeader.BaseOfCode);
    char *ecode = (pcode + pNtHeaders->OptionalHeader.SizeOfCode);
    
    while (pcode < ecode - sizeof(int))
    {
        if((*(int *)pcode) == 0xFFFFDCB8 ||
           (*(int *)pcode) == 0xFFFFDC89 )
        {
            wchar_t buf[1024];
            wsprintfW(buf, L"%p\n", pcode);
            OutputDebugStringW(buf);
        }
        pcode++;
    }

    А как в студийном отладчике искать по памяти?

    Запостил: Ccik, 20 Июля 2015

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

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

    Ошибка компиляции комментария:
    1. Гости могут высказаться только во вторник, пятницу или субботу
    ava Семь раз отмерь — один отрежь, guest!
    А не использовать ли нам bbcode?
    • [b]жирный[/b] — жирный
    • [i]курсив[/i] — курсив
    • [u]подчеркнутый[/u] — подчеркнутый
    • [s]перечеркнутый[/s] — перечеркнутый
    • [blink]мигающий[/blink] — мигающий
    • [color=red]цвет[/color] — цвет (подробнее)
    • [size=20]размер[/size] — размер (подробнее)
    • [code=<language>]some code[/code] (подробнее)
    Проверочный код