Сейчас на форуме: laslo, UniSoft, bartolomeo (+6 невидимых) |
eXeL@B —› Программирование —› SEH DEP. |
Посл.ответ | Сообщение |
|
Создано: 26 ноября 2011 23:13 · Личное сообщение · #1 |
|
Создано: 27 ноября 2011 02:59 · Поправил: Модератор · Личное сообщение · #2 |
|
Создано: 27 ноября 2011 07:19 · Личное сообщение · #3 |
|
Создано: 27 ноября 2011 11:12 · Личное сообщение · #4 |
|
Создано: 27 ноября 2011 11:31 · Поправил: Clerk · Личное сообщение · #5 PE_Kill Это не имеет отношению к запуску. Исключение это ситуация не частая и исключительная. Тут есть немного матчасти |
|
Создано: 27 ноября 2011 11:45 · Личное сообщение · #6 Clerk пишет: Как это обойти ? 1 - убрать в екзешке IMAGE_DLLCHARACTERISTICS_NX_COMPAT, не катит для dll 2 - использовать валидные модули, пусть прот распаковывает на место оригинального имейджа (знаю что баян, но так делают все нормальные проты). 3 - ставить VEH и эмулировать обработку исключений. Это единственный вариант для x64 если нужно морфить/виртуалить код использующий исключения. 4 - использовать жесткие хаки с патчем кода ntdll в памяти. Это как раз ваш подход. ----- PGP key |
|
Создано: 27 ноября 2011 11:51 · Поправил: Clerk · Личное сообщение · #7 ntldr 1, 2 не подходит. 3 - не реально всё проэмулить, слишком толстый код. 4 - хз. Использовать модуль значит затирать проекцию кодом. Тут возникают проблемы: 1. Size >= Size'. Память для файловых проекций резервируется блоками, вроде по 16К, тоесть её нельзя расширить. Это значит что в модуле должно быть пустое место, но тогда а) нельзя использовать сжатие данных и б) нельзя создать универсальный двигатель, будет нужен модуль. 2. Проекция связана с файлом. Это значит что исходный модуль испорчен(если новая проекция не в пределах RW секций). Тоесть будет детект при анализе всякими детекторами. Это не подходит. |
|
Создано: 27 ноября 2011 12:49 · Поправил: Alchemistry · Личное сообщение · #8 Мда, очередное обсуждение сферического коня в вакууме. Clerk пишет: Тоесть будет детект при анализе всякими детекторами. Это не подходит. Какими такими детекторами? Ты о чем? Да кому нужно гавнокод твой детектить епта) Пойти ты уже наконец - твой лабораторные эксперименты интересны только тебе и больше никому. Ты не имеешь никакого отношения ни к производству малвари, ни к ее поддержке. Уймись и прими пилюлю. |
|
Создано: 27 ноября 2011 13:08 · Личное сообщение · #9 Clerk пишет: Это не имеет отношению к запуску. Исключение это ситуация не частая и исключительная. Как раз там происходят исключения и они в памяти. Сейчас вот набросал тестовый пример с сехом и исключением в памяти, деп включен и всё работает. 7797_27.11.2011_EXELAB.rU.tgz - MysticalSEH.rar ----- Yann Tiersen best and do not fuck |
|
Создано: 27 ноября 2011 13:32 · Личное сообщение · #10 |
|
Создано: 27 ноября 2011 13:57 · Личное сообщение · #11 |
|
Создано: 27 ноября 2011 14:01 · Личное сообщение · #12 |
|
Создано: 27 ноября 2011 14:26 · Личное сообщение · #13 PE_Kill Не работает при принудительно включенном DEP. Сделай на семерке bcdedit.exe /set {current} nx AlwaysOn и перезагрузись. Вывод: нужны либо валидные модули либо эмуляция. ----- PGP key |
|
Создано: 27 ноября 2011 16:40 · Личное сообщение · #14 |
|
Создано: 27 ноября 2011 16:58 · Личное сообщение · #15 |
|
Создано: 27 ноября 2011 18:24 · Поправил: Clerk · Личное сообщение · #16 PE_Kill Дык не половина, он весь не рабочий. Я же не спрашивал кто что может, а задал вопрос про решение проблемы. Сам то я есчо со древних времён юзаю сех через стаб(единственный недостаток - нужно немного править хидер, тоесть в директорию конфигурации свою запись запилить). Также и апишки дёргаю. Это ведь до тупого просто - находим стаб в системном модуле и через него юзаем нужный код. А сех просто - регаем VEH/UEF и обрабатываем сех-цепь, сохраняем ссылки в массиве и загружаем на их место стабы. Так делаю я в обеих модах. Но это не кошерно, я хотел другое решение, собственно для этого и создал тему. В простейшем случае никакие морфы не нужны. Вот я хочу услышать идеи решения сей задачи. |
|
Создано: 28 ноября 2011 00:14 · Личное сообщение · #17 |
|
Создано: 28 ноября 2011 00:28 · Личное сообщение · #18 Clerk пишет: Собрал кодес, чтоб хоть на что то опираться. Хоть не напечатал последовательность из 00101110100010011101011001... и на том спасибо. Clerk пишет: Вех юзается. ХЗ что там юзается, 5 минут потрассировал манипуляции с KiUserExceptionDispatcher -> задолбало, закрыл. Такие семплы сам смотри и отталкивайся от них. ----- Yann Tiersen best and do not fuck |
|
Создано: 28 ноября 2011 20:20 · Поправил: Clerk · Личное сообщение · #19 |
|
Создано: 28 ноября 2011 21:28 · Личное сообщение · #20 Clerk Разбирайтесь сами с кодом, очень маловероятно что ктото захочет в этом дерьме копаться. Если не хотите сами - это не проблема, платите деньги и ребята решат вашу проблему оперативно. Ветка называется |
|
Создано: 29 ноября 2011 02:15 · Личное сообщение · #21 |
|
Создано: 29 ноября 2011 06:16 · Личное сообщение · #22 Clerk пишет: Сурс стоит денег. А ресерч это же профиль сего форума, решайте Стою на дороге в лыжи обутый, то ли лыжи не едут, то ли я ебанутый... Сурс чего стоит денег? Его кто то тут просил что ли? Чего ресечить, твой бинарь что ле? Кому он нужен то, ты же его выложил как семпл, чтобы от чего то отталкиваться: Clerk пишет: Собрал кодес, чтоб хоть на что то опираться. А теперь предлагаешь его ресечить? Проспись что ле, я уж не знаю. ----- Yann Tiersen best and do not fuck |
|
Создано: 29 ноября 2011 07:37 · Личное сообщение · #23 |
|
Создано: 29 ноября 2011 18:46 · Поправил: Clerk · Личное сообщение · #24 PE_Kill Вы ребята ошибаетесь. Я ведь с вами пытаюсь говорить по нормальному, я забыл всё что вы писали, вме эти гадости. Но вы должны понимать, особенно меня зная, что мимо сказанное не всегда валидно. Да, я вчера написл в 2-х темах про деньги. Первая тема - я и сейчас думаю что сказал корректно, чувак заюзал эльфака тулзу и даже не поправил листинг, это не куда не годится. Если бы я хоте задать такой вопрос(маловероятно конечно, я бы уделил этому времени столько, сколько требуется), то задал бы его конкретно с понятным кодом. Вы же меня начинаете обвинять не понятно в чём. В своё оправдание я могу сказать что за всё время, а это не один год, я не заработал ни цента в сети. Меня невчем обвинять. Я не имею к блеку никакого отношения. Далее, на счёт кода. Семпл выше запилен на морф. Алгоритм прост: o Изолируем(проще говоря морфим) KiU* в буфер. o Трассируем граф и заменяем ссылку на две процедуры на свой стаб. o Этот стаб возвращает нужное нам значение. o Получаем управление в вех и выполняем с-маршрутизацию - переключение на отморфленный код. Есть 2 графа. Первый описывает оригинальный код. Второй описывает код отморфленный. Между ними есть связь - ссылки, имея одну можно получить ссылку на соответствующий код. Просто, вот сути в сурсе: Code:
Так работает семпл. Но код это выполняющий это двигатель(GCBE), полноценный движок(там несколько лишних модулей, но это не важно). Он позволяет решать задачи, которые большинство решить не может физически. Посему выкладывать сие в виде сурса нельзя. Думаю вы это прекрасно понимаете. Вот я выложил бинарь. Я думал что комуто это интересно, ктото готов уделить своё время пониманию алгоритма(не ресерч). Это я и хотел сказать, возможно я криво написал, но я считаю что я прав и меня невчем обвенить. Если вам не интересно, то мне сказать нечего. Текущую задачу можно решить проще, на аверлабе есть решение Это самое простое, что можно придумать. Мне оно не нравится. Вообще я привык решать задачи довольно тонким образом, но эффективным. В этом случае придётся использовать барьер для сех, а это великогеморно. |
|
Создано: 29 ноября 2011 18:48 · Личное сообщение · #25 |
|
Создано: 30 ноября 2011 19:26 · Личное сообщение · #26 |
eXeL@B —› Программирование —› SEH DEP. |
Эта тема закрыта. Ответы больше не принимаются. |