C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Вопрос по SoftIce
Deem
Отправлено: 29.04.2005, 13:38


Мастер участка

Группа: Участник
Сообщений: 327



В примерах обнаружения ентого гада пытаются создать файл
\\.\.SICE или \\.\.NTICE. ( Видимо он их создает во время работы.)
А это где? \\.\. ?
Так вот:
CODE

hFile = CreateFileA("\\\\.\\NTICE", GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, 0);


Отредактировано Deem — 29/04/2005, 13:41
Deem
Отправлено: 29.04.2005, 16:46


Мастер участка

Группа: Участник
Сообщений: 327



Еще один вдогонку:

SoftIce, когда под ним запущен процесс, выставляет для него доступ на запись или полный доступ. Для каких кусков? Или для всего кода?
Если для всего, то можно узнать, что работаешь под ним, попытавшись сам в себя писать. Конечно в try: если вдруг не под ним, то будет ругня.

Нет сейчас под рукой этого гада, чтоб проверить. Если окажется правдой моя теория, то врага всегда можно будет вычислить без проблем и незаметно для него.
xim
Отправлено: 29.04.2005, 19:36


Станционный диспетчер

Группа: Участник
Сообщений: 143



Найти их можно в реестре smile.gif
Это два драйвера в системе (судя по функции). Скорее всего SI их использует для отладки других драйверов.
Deem
Отправлено: 04.05.2005, 09:56


Мастер участка

Группа: Участник
Сообщений: 327



Ясно. Спасибо.
Gedeon
Отправлено: 04.05.2005, 12:47


Ветеран

Группа: Модератор
Сообщений: 1742



Вообще говоря, не Вам первому пришло в голову искать SI в системе и на все эти вещи находятся другие, к-рые его прячут, где-то читал, уже не помню.
Vlad
Отправлено: 04.05.2005, 12:56


Машинист паровоза

Группа: Участник
Сообщений: 231



А смысл всей этой затеи? Если сломать, все равно сломают если стоящая прога, а так...только мороки больше wink.gif Вначале отрубят проверку на софтайс, а потом дальше ломанут sad.gif
Deem
Отправлено: 10.05.2005, 12:19


Мастер участка

Группа: Участник
Сообщений: 327



В нынешних exe с ассемблером неперевес не сильно побегешь. Если не знаешь где иска — не найдешь. Прежде чем отрубить защиту, ее надо найти. Если она новая и сама прячется, то не найдешь.
Если хакеру придется долго искать — плюнет. smile.gif
А еще виртуальная машина — вещь! Хакер знает ассемблер ито не каждый, многие пользуются стандартными приемами поиска и генерации ключей. А мой язык хакер точно не знает.
Но самое лучшее — самомодифицирующийся код. Плохо только, что функции известные надо вызывать для доступа на запись. smile.gif Хотя никто не мешает выполнять код в стеке — разрешено всем.
Sl@Sh
Отправлено: 11.05.2005, 08:25


Мастер участка

Группа: Участник
Сообщений: 383



Я совершенно не представляю как это сделать, но что если навести хакера на ложную защиту ? Дать ему как-то понять что это защита. Таких ложных можно 10 шт. наделать, а настоящую хорошо спрятать.
xim
Отправлено: 11.05.2005, 09:05


Станционный диспетчер

Группа: Участник
Сообщений: 143



Все эти потуги бесмысленны. Что касается самомодифицирующегося кода помогут отладчики. Ложные куски защиты даже и без отладки SI или W32DASM видны в любом дизассемблере.
QUOTE

В нынешних exe с ассемблером неперевес не сильно побегешь

Еще как побегаешь. ООП+процедурное программирование очень даже помогает при поиске ключевых моментов защиты.

Вернуться в Вопросы программирования в C++Builder