Сейчас на форуме: Rio, CDK123, zds, tyns777, tihiy_grom, morgot, rmn (+5 невидимых)

 eXeL@B —› Программирование —› Обход механизма DEP
Посл.ответ Сообщение

Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 01 ноября 2008 12:27
· Личное сообщение · #1

Доброго всем времени суток.
Суть проблемы: при включенном виндовом DEPе некая прога подает собственно из-за него же...
Конечная цель: предотвратить падение, независимо от того включен он или выключен

Можно ли как-нибудь обойти DEP из режима ядра? Посбрасывать например битики NX для всех страниц определенного процесса? Или еще что-нить? В инете информация скудная, найти удалось немного, тем более об особенностях реализации его в винде. Буду благодарен за любую информацию по этой теме. Советы, ссылки, мысли и т.п. Может кто сталкивался с подобной проблемой?




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 01 ноября 2008 12:43 · Поправил: coderess
· Личное сообщение · #2

Статья по обходу, там есть и код
www.securitylab.ru/analytics/263899.php
Про DEP
www.securitylab.ru/analytics/216376.php

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 01 ноября 2008 12:58
· Личное сообщение · #3

Спасибо coderess, очень ценная инфа... Странно как сам "пропустил"?
Буду разбираться.




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 01 ноября 2008 13:24
· Личное сообщение · #4

А не проще какую-нибудь секцию обозвать sforce3?



Ранг: 49.0 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 02 ноября 2008 18:23
· Личное сообщение · #5

Gideon Vi пишет:
А не проще какую-нибудь секцию обозвать sforce3?

Разве это не для висты? 2003 на такое не купится.




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 02 ноября 2008 23:30
· Личное сообщение · #6

Начиная с ХР, вроде, покупаются винды. Эту тему обсасывают регулярно, поднимите форум.




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 03 ноября 2008 02:27
· Личное сообщение · #7

simplix пишет:
Разве это не для висты?


нет

simplix пишет:
2003 на такое не купится.


с чего бы? Отдельных версий таких упаковщиков/протов, как: аспак, аспр, форс и т.д. под 2003 нет, следовательно и там должно работать, так как изначально сделано из соображений совместимости




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 03 ноября 2008 02:29
· Личное сообщение · #8

Archer пишет:
Начиная с ХР, вроде, покупаются винды.


начиная с 2к, вроде, но точно не скажу, так как сам 2к не смотрел



Ранг: 63.8 (постоянный), 2thx
Активность: 0.030
Статус: Участник

Создано: 03 ноября 2008 04:40
· Личное сообщение · #9

Gideon Vi пишет:
А не проще какую-нибудь секцию обозвать sforce3?

а если так обозвать одну секцию не в exe а в одном из модулей которые подгружаются в процесс, поможет ли это?




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 03 ноября 2008 07:41
· Личное сообщение · #10

drin пишет:
а если так обозвать одну секцию не в exe а в одном из модулей которые подгружаются в процесс, поможет ли это?


Не думаю, но что мешает проверить?




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 03 ноября 2008 12:12
· Личное сообщение · #11

drin пишет:
не в exe а в одном из модулей

То, что при подгрузке DLL сравниваются секции на имена типа sforce это точно, а работает или нет не проверял.

-----
Yann Tiersen best and do not fuck




Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 06 ноября 2008 08:11 · Поправил: kelz
· Личное сообщение · #12

Насчет секций не проверял, но на метод описанный здесь http://www.securitylab.ru/analytics/263899.php 2003 винда не ведется ни из пользовательского режима, ни из режима ядра. Может я что-нить не так делаю?

Code:
  1. void*  func  = KeServiceDescriptorTable->ntoskrnl.ServiceTable[0xED];
  2. // 0xED - индекс NtSetInformationProcess для 2003 
  3. unsigned flags = 0x02; // MEM_EXECUTE_OPTION_ENABLE
  4. __asm
  5. {
  6.     push 4;
  7.     lea eax, flags
  8.     push  eax;
  9.     push  0x22; // ProcessExecuteFlags
  10.     mov   eax, pid; // PID процесса
  11.     push  eax;
  12.     mov   ebx, func;
  13.     call   dword ptr [ebx];
  14.     add  esp,0x10;
  15. }




Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 06 ноября 2008 08:34
· Личное сообщение · #13

Кстати, с секцией sforce3 тоже почему-то не помогает... Установил ей атрибуты read,write, поместил в нее код, на который передаю управление... Один пень исключение 0xC0000005!
Винда: 2003 server r2 SP2...




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 06 ноября 2008 12:11
· Личное сообщение · #14

kelz пишет:
Винда: 2003 server r2 SP2...


ну видимо я ошибся, а simplix был прав. Однако, очень странно, что нигде не всплывала информация о несовместимости некоторых протов и 2к3. kelz, у тебя приложения под форсом/аспром нормально пашут?



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 06 ноября 2008 13:52
· Личное сообщение · #15

Не знаю, это рабочий комп, не попадались такие проги, а специально в инете искать это на полдня... Если кто знает где лежит что-нить упакованное этими монстрами, буду признателен за ссылочку - самому интересно стало



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 06 ноября 2008 14:22
· Личное сообщение · #16

kelz пишет:
Если кто знает где лежит что-нить упакованное этими монстрами

Сам ASProtect собою же и защищен

-----
Реверсивная инженерия - написание кода идентичного натуральному





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 06 ноября 2008 14:26 · Поправил: PE_Kill
· Личное сообщение · #17

Gideon Vi аспр вполне корректно написан. Но у него до версии 1.23 RC4 были максросы в SDK которые выполняли код в стеке для проверки на распакованность, вот видимо для такого и сделана совместимость. Так что если под аспром что то работает то не факт что деп пропускает.

kelz пишет:
Кстати, с секцией sforce3

Точку не забыл в начале поставить?

-----
Yann Tiersen best and do not fuck




Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 06 ноября 2008 14:38
· Личное сообщение · #18

Пробовал и с точкой и без оной. Блокнот запаковал аспром - нормально работает, также как и сам аспр при включенном DEPe




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 06 ноября 2008 14:45
· Личное сообщение · #19

PE_Kill пишет:
Но у него до версии 1.23 RC4 были максросы в SDK


ага, вот версию, до которой это безобразие было, точно не знал, спасибо.

Однако, насколько я помню стар, там стек активно и в четвёрке (пятерку не смотрел) юзался, значит должны быть проблемы?


 eXeL@B —› Программирование —› Обход механизма DEP
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати