Сейчас на форуме: (+8 невидимых) |
eXeL@B —› Протекторы —› VMProtect (Туторы, скрипты, плагины, ...) |
. 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 14 . 15 . >> |
Посл.ответ | Сообщение |
|
Создано: 18 марта 2010 11:56 · Поправил: kioresk · Личное сообщение · #1 Решил создать отдельную тему по VMProtect'у, чтобы собирать в одном месте информацию по этому проту и обсуждать детали. Для начала ответ на самый распространенный вопрос. 1. Почему OllyDbg вылетает при запуске программы, защищенной VMProtect'ом? Потому что VMProtect использует баг с переполнением буфера в старых версиях dbghelp.dll, из-за которого отладчик падает. Чтобы обойти его необходимо исправить баг в dbghelp.dll или положить в папку отладчика новую версию файла dbghelp.dll, который можно взять из комплекта Debugging Tools for Windows: Добавлено Microsoft включил дистрибутив Debugging Tools в состав пакета Windows SDK (который весит достаточно прилично), поэтому вот альтернативные ссылки на: 1. 2. |
|
Создано: 18 марта 2010 14:03 · Личное сообщение · #2 |
|
Создано: 18 марта 2010 14:25 · Личное сообщение · #3 kioresk пишет: 1. Почему OllyDbg вылетает при запуске программы, защищенной VMProtect'ом? Потому что в ней есть баг, который VMProtect успешно использует. Чтобы обойти его необходимо положить в папку с OllyDbg новую версию файла dbghelp.dll, который можно взять из комплекта Debugging Tools for Windows: Баг не в Ольке, а в самой dbghelp.dll, которая, подгружая отладочные символы, не выполняет проверку на переполнение буфера, в результате специальным образом составленная Debug Directory вызывает тихое выпадение отладчика в осадок. Я фиксил это дело вручную, без всяких Microsoft'ов. c9a8_18.03.2010_CRACKLAB.rU.tgz - DBGHELP.DLL ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 18 марта 2010 15:12 · Поправил: kioresk · Личное сообщение · #4 |
|
Создано: 06 апреля 2010 00:30 · Личное сообщение · #5 Не уверен, но похоже 16-битная логика не работает правильно. Вот кусок обработчика (без сохранения флагов и без обфускации) для 16-битной логики: not dword ptr [ebp+0] mov ax, [ebp+0] sub ebp, 2 and [ebp+4], ax Для тех кто не шарит в дискретной математике поясню: это не стрелка Пирса (и вообще не функция Шеффера), а значит функция не базисная и ей невозможно эмулировать логику. Что это? Баг конкретной версии (или вообще целой линейки) или обфускация (попытка запутать деобфускатор)? Пока неизвестно, но дальнейшие исследования это помогут выяснить. |
|
Создано: 06 апреля 2010 01:09 · Личное сообщение · #6 |
|
Создано: 06 апреля 2010 09:40 · Личное сообщение · #7 progopis пишет: Что это? Баг конкретной версии (или вообще целой линейки) или обфускация (попытка запутать деобфускатор)? Приведенной информации мало для правильного ответа, необходимо знать что положили по [ebp], сохраняются ли флаги после and, и дальнейшее использование переменной по [ebp+2] и/или по [ebp+4]. В общем это может быть как и обфускацией, так и простым and с двумя short значениями и т.д. ----- Everything is relative... |
|
Создано: 06 апреля 2010 13:32 · Личное сообщение · #8 Vamit progopis пишет: без сохранения флагов и без обфускаци Т.е. флаги сохраняются, я об этом указал. На самом деле я ступил. Ибо: not dword ptr [ebp+0], а не not word ptr [ebp+0] т.е. Not делается сразу на два операнда. Так что вы, Vamit, не правы в своём утверждении: Vamit пишет: Приведенной информации мало для правильного ответа Это самый настоящий Nor16. |
|
Создано: 06 апреля 2010 14:21 · Личное сообщение · #9 |
|
Создано: 06 апреля 2010 15:05 · Личное сообщение · #10 |
|
Создано: 06 апреля 2010 17:25 · Личное сообщение · #11 К вопросу о логике: NOR = Not Or -> Not (a or b) - истина только если a = b = false (стрелка Пирса) NAND = Not And -> Not (a and b) - ложь только если a = b = true (штрих Шеффера) Законы де Моргана (доказываются построением таблицы): NOR = Not (a Or b) = (Not P) And (Not b) - VMProtect (использует последнюю формулу) NAND = Not (a And b) = (Not a) Or (Not b) - Obsidium (использует первую формулу) |
|
Создано: 23 мая 2010 12:48 · Поправил: BAHEK · Личное сообщение · #12 |
|
Создано: 23 мая 2010 12:58 · Личное сообщение · #13 |
|
Создано: 27 мая 2010 23:26 · Личное сообщение · #14 На счет новизны незнаю, но в теме ни одного руководства не встретил ----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes |
|
Создано: 04 июня 2010 10:45 · Поправил: BAHEK · Личное сообщение · #15 |
|
Создано: 04 июня 2010 12:29 · Личное сообщение · #16 |
|
Создано: 04 июня 2010 18:04 · Поправил: ThugboyZ · Личное сообщение · #17 |
|
Создано: 06 июля 2010 20:38 · Личное сообщение · #18 Обещал одному товарищу описать анти-отладку, надо ли выложить поноценную статью с описанием как разбиралась антиотладка или же хватит простого перечисления того, что было найдено? Пока методы обнаружения виртуальных машин (вмваре и иже с ними) не разбирал, т.к. не было актуально. P.S. На unpack.cn выложен очередной патч для ольки, который в комплекте с нашим с Киореском скриптом и плагинами помогает обойти всё. Скрипт смогу выложить после одобрения со стороны Киореска. |
|
Создано: 06 июля 2010 21:23 · Личное сообщение · #19 |
|
Создано: 06 июля 2010 21:54 · Личное сообщение · #20 |
|
Создано: 06 июля 2010 22:04 · Личное сообщение · #21 |
|
Создано: 06 июля 2010 22:26 · Личное сообщение · #22 Олькин баг стронг не перекрывает. И синих экранов мне хватает на фантоме. Нах юзать стронг? Bronco пишет: А дальше нельзя было закинуть ??? Я всегда выкладываю там. Здесь мой труд не уважают (это не понты, здесь реально другая тематика форума). P.S. Свою работу я выкладываю на паблик не с целью пиарить свой ник. Мне нужны баг-репорты. По предыдущему патчу я не получил никаких комментариев. На unpack.cn хоть UB дают за посты, что может пригодиться в дальнейшем (там много чего интересного выкладывают). Здесь набивать ранг и выслушивать "твой патч на фиг нам не упал" мне не интересно. |
|
Создано: 06 июля 2010 22:46 · Личное сообщение · #23 int пишет: Олькин баг стронг не перекрывает Да забивай все отладочные регистры любыми железяками и не будет косяка с темповым бряком //один-два рабочих, остальные какие хочешь( исполнение, запись, чтение), и куда хочешь. А ваще непонятно, раз там заливаешь, нах тогда здесь постить ??? ----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
|
Создано: 06 июля 2010 22:48 · Личное сообщение · #24 Bronco пишет: Да забивай все отладочные регистры любыми железяками и не будет косяка с темповым бряком Темповый бряк в таком случае будет в виде Int3 и тоже можно спалить, если сделать правильно. Здесь я постил по поводу антиотладки, обещал статью одному товарищу, хочу узнать мнение людей как лучше её оформить. А вообще уже оффтоп пошёл. |
|
Создано: 06 июля 2010 22:59 · Личное сообщение · #25 Bronco пишет: int пишет:На unpack.cn выложен очередной патч для ольки А дальше нельзя было закинуть ??? int пишет: P.S. Свою работу я выкладываю на паблик не с целью пиарить свой ник. дык где работа, выложил китайчегом, чтоб скачать нужно 10 юб, и где паблик, тот же приват ----- Лучше быть одиноким, но свободным © $me |
|
Создано: 06 июля 2010 23:11 · Личное сообщение · #26 |
|
Создано: 06 июля 2010 23:23 · Личное сообщение · #27 Таким образом останавливаюсь на варианте со статьёй - поверхностные результаты выкладывать не буду. Патч в атаче. Со статьёй, правда, придётся подождать, мне надо выполнить текущую работу. 679d_06.07.2010_CRACKLAB.rU.tgz - ollydbg.1.10-patch.rar P.S. Это последний патч для оли 1.10. Дальнейшая работа будет только по 2-ой ольке - включение поддержки плагинов. ClockMan |
|
Создано: 06 июля 2010 23:46 · Поправил: ClockMan · Личное сообщение · #28 |
|
Создано: 07 июля 2010 02:02 · Поправил: Gideon Vi · Личное сообщение · #29 |
|
Создано: 07 июля 2010 02:09 · Личное сообщение · #30 Gideon Vi пишет: он включает в себя исправление дизасма? Да, там внутри описаны все патчи. P.S. Будьте осторожны! Патч затирает байты без проверки старых! Т.е. если есть какие-то другие патчи, могут быть конфликты (обычно конкуренция за место в конце секции .text). В этом случае сами примените патч на чистую ольку, потом перенесите изменения патча на вашу сборку. P.P.S. Сопоставил патч Бумбокса (косметический) и свои в единую сборку, сейчас надо протестировать совместимость с плагинами. |
. 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 14 . 15 . >> |
eXeL@B —› Протекторы —› VMProtect (Туторы, скрипты, плагины, ...) |