Содержимое стека и регистров при старте процесса Win32

Тема в разделе "WASM.BEGINNERS", создана пользователем roman_k, 27 фев 2006.

  1. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    leo





    Который, к тому же, не обязательно 7FFDF000h.
     
  2. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    S_T_A_S_

    PEB не обязательно = 7FFDF000h, но при старте проги ebx=PEB по крайней мере в XP SP2.



    Ваще я не понимаю о чем сыр-бор ;)

    Состояние стека и регистров ес-но зависит от версии ОС и в разных версиях оно может быть разным. Например в 98SE указатель на PEB сидит не в EBX, а в ESI. Но для конкретной версии винды часть регистров могут иметь вполне определенные значения, причем не только ebx,edi,esi,ebp, но и eax,edx,ecx - достаточно перейти по адресу возврата в kernel, покопаться в цепочке вызовов и определить что в каком регистре "зависло" на момент вызова OEP. Вот только вопрос зачем это нужно, т.к. ничего сверхинтересного и "секретного" там нет - тот же адрес PEB проще и надежнее получить через mov eax,fs:[30h], чем надеяться на ebх или на стек
     
  3. roman_k

    roman_k New Member

    Публикаций:
    0
    Регистрация:
    27 фев 2006
    Сообщения:
    4
    Адрес:
    Kursk
    Меня не было слышно, т.к. нагрузили основной работой -- торговлей компами.



    Очень приятно, что с пониманием отнеслись к неточно поставленному вопросу.



    А я тут сочинил прогу для подсчета энтропии. Помогает прикинуть, упакован ли файл или можно ли здорово упаковать. Написана на С, без RTL, компилирована MSVC 8.



    Отличительные черты (интересные моменты):

    1. На С.

    2. Без RTL. Как следствие, малый размер exe. Все никак не соберусь попробовать избавить Delphi (dcc32.exe) от толстого system.dcu. Подозреваю, что если не нужен writeln, try и т.д. это можно сделать.

    3. Многпоточность (3 потока) и события (CreateEvent/SetEvent/ResetEvent)



    Отдаю с сорцами. Делайте, что хотите, не вспоминайте плохим словом. BSD, в общем.



    Проверял под WinXP, Win2003Server, WINE.



    [​IMG] 1536998096__entropy_c.zip
     
  4. roman_k

    roman_k New Member

    Публикаций:
    0
    Регистрация:
    27 фев 2006
    Сообщения:
    4
    Адрес:
    Kursk
    Извините за оффтоп