eXeL@B —› Основной форум —› sys or exe ? |
Посл.ответ | Сообщение |
|
Создано: 09 мая 2012 12:48 · Личное сообщение · #1 |
|
Создано: 09 мая 2012 12:53 · Личное сообщение · #2 |
|
Создано: 09 мая 2012 12:56 · Личное сообщение · #3 |
|
Создано: 09 мая 2012 13:09 · Личное сообщение · #4 |
|
Создано: 09 мая 2012 13:21 · Личное сообщение · #5 субсистем не канает ибо нативный может быть как у драйвера так и у программы типа ntoskrnl по поводу "маленький" тоже както не очень,например у тогоже ntoskrnl и драйвера видюхи atikmdag.sys они абсолютно равны, 200 и 1000 соответственно по поводу импорта интересно что может импортировать драйвер обязательно и чего из этого точно не юзает прога? |
|
Создано: 09 мая 2012 13:28 · Личное сообщение · #6 |
|
Создано: 09 мая 2012 14:09 · Личное сообщение · #7 |
|
Создано: 09 мая 2012 14:16 · Личное сообщение · #8 |
|
Создано: 09 мая 2012 14:23 · Личное сообщение · #9 Да, бывают такие службы, которые тоже имеют Subsystem Native, как и драйвера, но это - редкость. По поводу таблицы импорта - для драйверов характерными являются импорт из hal.dll и ntoskrnl.exe, что для обычного ринг3 софта неприемлимо. Хотя, конечно, дровину можно собрать и вообще с пустой таблицей импорта, как, впрочем, и ринг3 ехе. Более мелкое выравнивание, как было написано в цикле статей Four-F, возможно. Но носит рекомендательный характер, т.е. если требование не соблюдается, то дровина грузиться всё равно будет. А вот ресурсы и расширение как раз не являются показателями, так что если они и есть, то не стоит на них полагаться. В качестве простой эвристики я бы посоветовал смотреть поле Subsystem, и если оно Native, то искать в таблице импорта ntosktrnl.exe. Следует учесть, что он может иметь и другое имя в зависимости от системы. ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 09 мая 2012 14:24 · Личное сообщение · #10 |
|
Создано: 09 мая 2012 14:27 · Личное сообщение · #11 |
|
Создано: 09 мая 2012 14:47 · Личное сообщение · #12 QQQ Теоретически можно добавить в таблицу импорта IMAGE_IMPORT_DESCRIPTOR, который опишет импортируемые функции для ntosktrnl.exe, но это будет значить, что такое ринг3 приложение должно статически подгрузить ntosktrnl.exe в своё адресное пространство. Раз так, значит ни о каком DONT_RESOLVE_DLL_REFERENCES не может быть и речи, т.е. загрузчик вызовет обычную LoadLibrary для загрузки в адресное пространство модуля ntosktrnl.exe. Это приведёт к тому, что все модули из таблицы импорта ntosktrnl.exe тоже начнут подгружаться. Т.е. для какого-то из этих модулей будет выполнен его DllMain. Это приведёт к тому, что произойдёт попытка обращения к коду, который расположен в ринг0, т.е. произойдёт исключение, и модуль подгружен не будет, и так будет со всеми модулями, юзающими код, расположенный в ринг0. Так что работать такой софт не будет. Мы же предполагаем, что код, который вы анализируете - рабочий, т.е. может быть запущен без модифкаций. ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 09 мая 2012 15:09 · Личное сообщение · #13 |
|
Создано: 09 мая 2012 15:14 · Личное сообщение · #14 |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 09 мая 2012 15:39 · Личное сообщение · #15 |
|
Создано: 09 мая 2012 15:59 · Личное сообщение · #16 |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 09 мая 2012 16:13 · Личное сообщение · #17 |
|
Создано: 09 мая 2012 16:28 · Личное сообщение · #18 |
|
Создано: 09 мая 2012 16:32 · Личное сообщение · #19 Code:
Но если обычный драйвер, не WDM и не UP, то только эмпрически: импорт, базовый адрес, секции, alignment ----- Реверсивная инженерия - написание кода идентичного натуральному | Сообщение посчитали полезным: mak |
|
Создано: 09 мая 2012 16:56 · Личное сообщение · #20 + проверка чексуммы как одна из дополнительных проверок. и как было сказано Subsystem = 1 А если хидер потерт?! Что тогда? Можно взять обыкновенный блокнот и драйвер пустышку, накатать свой SysLoader и далее смотреть что происходит на MmCheckSystemImage ... так как будет выдана ошибка error code 2001 (ERROR_BAD_DRIVER) - The specified driver is invalid ... если его пускать как ограниченные права плюс запуск при старте, до рестарта системы он не запустится, зато будет ясно кто он. Уже зная что там происходит напишите свой Эмулятор для теста на Системный файл. Как один из вариантов ... ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 09 мая 2012 17:05 · Личное сообщение · #21 QQQ пишет: ничего никуда добавлять нельзя и запускать темболее!!! Мы как на разных языках говорим. Это ж не вы будете добавлять, а добавлять будет автор драйвера или приложения, котороы вы в дальнейшем хотите анализировать. Всё и определяется чистым чтением. mak пишет: Уже зная что там происходит напишите свой Эмулятор для теста на Системный файл Ну да, конечно. А потом он убьёт гидру, расчистит конюшни, ну, и дальше там по списку... ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 09 мая 2012 17:38 · Личное сообщение · #22 Вопрос в том, чтобы не изобретать костыли, а использовать то, что уже есть, или модифицировать под себя. Драйвера скрывают весьма удачно. Из исходников вин2к Code:
Что частично уже указал Hexxx. Детект по остальному лишь вероятный и одним чтением не обойтись. 1de1_09.05.2012_EXELAB.rU.tgz - sysload.c ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
eXeL@B —› Основной форум —› sys or exe ? |