скрыть процесс от SoftIce

Тема в разделе "WASM.WIN32", создана пользователем Athlon, 15 янв 2006.

  1. Athlon

    Athlon New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2006
    Сообщения:
    10
    Адрес:
    Ukraine
    На собеседовании при приеме на работу меня попросили скрыть процесс от SoftIce - это возможно????

    Все варианты которые я нашел не могут справится с SoftIce. Что по этому поводу думают эксперты
     
  2. Drakon

    Drakon New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2004
    Сообщения:
    85
    Адрес:
    Russia
    Да-да... Меня тоже интересует этот вопрос.

    И ещё я нашёл несколько защит от отладки SoftIce'ом... Но это не спасает. :dntknw: Может кто даст линки?
     
  3. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    Достаточно удалить процесс из списка EPROCESS и по командам proc и addr в софтайсе он выводиться не будет.

    Если надо сделать антиотладку, то проще будет просто грохать систему при запуске айса.
     
  4. Drakon

    Drakon New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2004
    Сообщения:
    85
    Адрес:
    Russia
    Ms Rem, а что за список EPROCESS? =) Как получить его адрес? Это типа массив? Я просто посмотрел определине EPROCESS (сразу подумал, что это связный список) и ничего не нашёл там для себя.
     
  5. Athlon

    Athlon New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2006
    Сообщения:
    10
    Адрес:
    Ukraine
    Для доступа к списку EPROCESS используется NtQuerySystemInformation ?

    Если так, то дадите ссылочку на пример ее использования на С++? А то я не могу заставить ее работать. В проекте на MS Visual C++ 6.0 компилятор ругается, наверно чего-то не подключил
     
  6. Athlon

    Athlon New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2006
    Сообщения:
    10
    Адрес:
    Ukraine
  7. Drakon

    Drakon New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2004
    Сообщения:
    85
    Адрес:
    Russia
    Т. е. проблема решается перехватом ZwQuerySystemInformation?

    А насчёт антисайса - скинь линки плиз.
     
  8. Athlon

    Athlon New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2006
    Сообщения:
    10
    Адрес:
    Ukraine
    Проблема похоже так и решается, но по NtQuerySystemInformation нет инфы в MSDN, я пользуюсь January 2001 MSDN.
     
  9. Drakon

    Drakon New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2004
    Сообщения:
    85
    Адрес:
    Russia
    И не должно быть. =) Она не документирована.
     
  10. Drakon

    Drakon New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2004
    Сообщения:
    85
    Адрес:
    Russia
    Athlon, такой я видел и не раз. Это несерьёзно.
     
  11. SnugForce

    SnugForce New Member

    Публикаций:
    0
    Регистрация:
    2 май 2005
    Сообщения:
    373
    Адрес:
    Из домУ
    2 Ms Rem

    А как узнать что Ice запущен? Думаю CreateFile не прокатит :dntknw:
     
  12. Athlon

    Athlon New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2006
    Сообщения:
    10
    Адрес:
    Ukraine
    тем не менее работает, проверял на SoftIce 4.05 и Win XP
     
  13. Drakon

    Drakon New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2004
    Сообщения:
    85
    Адрес:
    Russia
    Я не про то. А про то, что об этом на сайтах по отладке написано. =) Как обходить.
     
  14. Athlon

    Athlon New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2006
    Сообщения:
    10
    Адрес:
    Ukraine
    Ms Rem, что ты подразумеваешь под удалить процесс из списка EPROCESS? Я нашел пример где переопределяется указатель предыдущего процесса в списке EPROCESS так, чтобы через скрываемый процесс перепрыгивали при просмотре. Такой финт работает только на диспечер задач, SoftIce все видит.
     
  15. CARDINAL

    CARDINAL Member

    Публикаций:
    0
    Регистрация:
    23 янв 2004
    Сообщения:
    551
    Адрес:
    Moscow
    Athlon

    Значит удалить еще и из PsPCidTable надо, наверное
     
  16. Athlon

    Athlon New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2006
    Сообщения:
    10
    Адрес:
    Ukraine
    CARDINAL, а подробности можно? - любой линк(статья ,пример, хоть что-нибудь)
     
  17. CARDINAL

    CARDINAL Member

    Публикаций:
    0
    Регистрация:
    23 янв 2004
    Сообщения:
    551
    Адрес:
    Moscow
    Athlon

    статей сколько угодна, почитай на сайте Ms-Rem'а статьи. Там про это и написано.
     
  18. Athlon

    Athlon New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2006
    Сообщения:
    10
    Адрес:
    Ukraine
    Слышал, что можно скрыть процесс замаскировав его под скринсейвер, деталей пока не знаю, что вы об этом думаете?



    Прочитал статью Ms Rem'а о нулевом кольце - там все детально описано.



    Тему можно считать закрытой!!!
     
  19. Athlon

    Athlon New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2006
    Сообщения:
    10
    Адрес:
    Ukraine
    Saint German

    Как я с тобой свяжусь? и о чем говорить, я там не работаю, а только хочу устроится, не факт что мне это удастся
     
  20. Athlon

    Athlon New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2006
    Сообщения:
    10
    Адрес:
    Ukraine
    Не могу получить список модулей с помощью ZwQuerySystemInformation. Информацию о процессах с помощью той же процедуры получаю нормально, может я использую неправильную структуру SYSTEM_MODULE_INFORMATION, вот какой вариант я использую:



    typedef struct _SYSTEM_MODULE_INFORMATION

    { //SystemInformationClass 11

    ULONG Reserved[2];

    PVOID Base;

    ULONG Size;

    ULONG Flags;

    USHORT Index;

    USHORT Unknown;

    USHORT LoadCount;

    USHORT ModuleNameOffset;

    CHAR ImageName[256];

    }SYSTEM_MODULE_INFORMATION, * PSYSTEM_MODULE_INFORMATION;



    typedef struct _STSTEM_MODULE_INFORMATION_EX

    {

    ULONG ModuleCount;

    SYSTEM_MODULE_INFORMATION *Modules;

    }SYSTEM_MODULE_INFORMATION_EX, * PSYSTEM_MODULE_INFORMATION_EX;



    подскажите что не так, если ошибка в структуре