Сейчас на форуме: (+7 невидимых) |
![]() |
eXeL@B —› Протекторы —› DYAMAR OBFUSCATOR |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 01 июня 2010 10:10 · Поправил: pavka · Личное сообщение · #1 |
|
Создано: 01 июня 2010 11:11 · Личное сообщение · #2 |
|
Создано: 01 июня 2010 13:01 · Поправил: Coderess · Личное сообщение · #3 |
|
Создано: 01 июня 2010 13:49 · Личное сообщение · #4 =) интересно , купить можно 25 баксов , скинуться по 5 кому интерсно и купить , хотя рано или поздно появится в сети .. на сайте не так уж и много сказано , интереснее смотреть в живую ... судя по примерам там тэмплэйты всеравно используются помимо графа ...обратная задача возможна , интересно а исключения есть сеховые ... ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube ![]() |
|
Создано: 01 июня 2010 15:12 · Личное сообщение · #5 Как и у любого generic обфускатора, обфускация не стойкая (опять детишки взялись за обфускацию): ; не вызывают исключений, не меняют флаги: 1. mov ebx, ebx 2. lea esi, [esi] 3. xchg ebp, ebp ; FPU wait ; Jcc в качестве NOP jnz short $+2 ; двойной обмен значений регистров через игры со стэком (может быть опасно) 1. xchg eax, edi mov [esp-0F00h], edi ; может возникнуть Access violation mov edi, eax mov eax, [esp-0F00h] 2. xchg eax, ebp push ebp mov ebp, eax pop eax 3. mov [esp-0F00h], eax mov eax, [esp-0F00h] ; двойной NOT (не меняет флаги, не вызывает исключений) not edx not edx ; JMP через мусор (безопасное удаление при отсутствии ссылок на мусор) E9 03 00 00 00 00 00 90 ; величайшая дурость делать длинный прыжок - это сразу палится ; затирание стэка всякой фигнёй 1. mov word ptr [ebp-21Ch], cs 2. mov word ptr [ebp-240h], ds 3. pushf pop dword ptr [ebp-218h] 4. mov dword ptr [ebp-728], 10001h Вот скрипт (небезопасный) который может убрать почти всё в демке: Code:
Если же делать по-умному (с анализом кода, чтобы шаблоны не повредили данные/код), то даже самый гнилой деобфускатор уберёт всё разом. ClockMan пишет: VM_prot одуванчик Отличная трава. mak пишет: =) интересно как всегда, в общем-то Забавно, что на сам прот обфускатор повесить забыли. ![]() |
|
Создано: 01 июня 2010 17:00 · Личное сообщение · #6 |
|
Создано: 01 июня 2010 22:14 · Личное сообщение · #7 |
|
Создано: 01 июня 2010 22:46 · Личное сообщение · #8 |
|
Создано: 01 июня 2010 22:56 · Личное сообщение · #9 |
|
Создано: 01 июня 2010 23:25 · Личное сообщение · #10 int_256 пишет: с первых же шагов можно набить с 10 шаблонов Шаблоны использовать это ламерство. Гораздо лучше создать плуг для ольги, который поможет не только с этим недопротом. Coderess пишет: но не знаю стоит ли она своих денег!? Может и стоит, в данном случае снять обфускацию не значит снять протектор. Оригинальную структуру файла восстановить не просто. В будущих версиях наверняка начнёт писать пакер и/или ВМ. И в полной версии есть вот это: Instructions mutation Если верить скриншоту, то может и не всё так плохо. ![]() |
|
Создано: 02 июня 2010 00:52 · Личное сообщение · #11 |
|
Создано: 02 июня 2010 00:56 · Поправил: Модератор · Личное сообщение · #12 ClockMan Сравнивать вмпрот с говном на палочке это не круто. P.S. Не понимаю чего народ испугался скриншотов на странице www.dyamar.com/product.html . Автор не профессионал, если для него более важно сделать красивый дизайн сайта и все эти гламурные картиночки, вместо того чтобы приложить листинги IDA реально "красивых" примеров обфускации. Я не думаю, что скрины из IDA были даны из демки, а в них я ничего не увидел интересного. Проект который появился только что, вряд ли можно сравнивать с вмпротом, который писался годами, и кстати на первых порах тоже был жалкой игрушкой (но уже тогда требовал скриптов или создания инструмента). ![]() |
|
Создано: 02 июня 2010 03:41 · Личное сообщение · #13 Натравил на файло - обычный hello world. почему-то по адресу 00401000h первые 19h полезных байт затёрлись всяким мусором....из-за этого весь смысл замечательного повествования был утерян....да и ваще убого как-то. не стоит это даже 25 баксов.....один только интерфейс вытягивает на то, чтобы впарить сей продукт какому-нибудь обворожительному нубу. Code:
обфускатор.......сильно! ![]() ![]() |
|
Создано: 02 июня 2010 11:44 · Личное сообщение · #14 |
|
Создано: 02 июня 2010 15:57 · Личное сообщение · #15 |
|
Создано: 02 июня 2010 16:02 · Поправил: dyamar · Личное сообщение · #16 |
|
Создано: 02 июня 2010 16:19 · Личное сообщение · #17 |
|
Создано: 02 июня 2010 16:29 · Личное сообщение · #18 |
|
Создано: 02 июня 2010 16:32 · Поправил: dyamar · Личное сообщение · #19 |
|
Создано: 02 июня 2010 16:44 · Личное сообщение · #20 Я же не сам обфускатор прошу, а обычный блокнот, на котором будет висеть PRO-версия протектора. На счёт говна на палочке, я лишь имел в виду, что вмпрот даже демо-версии нельзя сломать скриптом, который пишется за 10 минут. Проект слишком молодой, чтобы сравнивать эти два протектора (ваш и тот, который писался годами). ![]() |
|
Создано: 02 июня 2010 16:54 · Поправил: dyamar · Личное сообщение · #21 |
|
Создано: 02 июня 2010 17:33 · Личное сообщение · #22 фубля, даже codedoctor без проблем расчистил это говно Code:
----- SaNX ![]() |
|
Создано: 02 июня 2010 17:42 · Личное сообщение · #23 SaNX пишет: даже codedoctor Фубля, выкиньте доктора. Не забываем, что проект на элементарных ловушках ломает функционал. Ну другое дело, скриптами тут уже не разрулишь. Например, здесь требуется трассировка: Code:
Вот это ещё можно убрать скриптами: Code:
Code:
Что за любовь к числу 0xF00? Такие вещи тоже слишком палятся. Небольшое разнообразие бы не помешало. На эту же тему: Code:
Опять же плохо. Скрипту скормят шаблон, а в нормальном коде программы такое не встретится. Хотя бы вставлять между двумя инструкциями другие NOP-подобные операции разной длины. Пример: Code:
Скрипту такое уже не скормишь. Устанешь шаблоны и правила набивать. Удачи проекту. Комментировать больше не буду. ![]() ![]() |
|
Создано: 02 июня 2010 17:43 · Поправил: dyamar · Личное сообщение · #24 |
|
Создано: 02 июня 2010 17:50 · Поправил: Модератор · Личное сообщение · #25 SaNX жжошь)) Деобфускация и лечение после доктора: push 70h ; функционал сломан - говорим спасибо доктору, за то что убрал "лишнюю" инструкцию ; правильно, нахуй она? PUSH 010015E0 CALL calc_Obf.010127C8 ;MOV DWORD PTR SS:[ESP-F00],EAX ; долбоёб детектед - функционал сломан ![]() ;MOV EAX,EDI ;MOV EDI,DWORD PTR SS:[ESP-F00] ;MOV EBX,EAX XOR EBX,EBX ;MOV DWORD PTR SS:[ESP-F00],EDI ; опять поломка функционала ;MOV EDI,ECX ;MOV ECX,DWORD PTR SS:[ESP-F00] PUSH EBX ;WAIT ;MOV EAX,EDI ; и снова поломка функционала MOV EDI,DWORD PTR DS:[<&KERNEL32.GetModu>; kernel32.GetModuleHandleA ;WAIT ;MOV DWORD PTR SS:[ESP-F00],ECX ;MOV ECX,EBX ;MOV EBX,DWORD PTR SS:[ESP-F00] ;XCHG EAX,ECX ;XCHG EAX,EBX CALL EDI CMP WORD PTR DS:[EAX],5A4D JNZ calc_Obf.0102FB77 SaNX Доктор вот это хотя бы убрал? Code:
![]() |
|
Создано: 02 июня 2010 18:19 · Поправил: SaNX · Личное сообщение · #26 Первую команду йа забыл скопипастить ![]() Code:
int пишет: MOV DWORD PTR SS:[ESP-F00],EAX ; долбоёб детектед - функционал сломан (неправильно удалена инструкция "xchg eax, edi" нихуя не сломан. после калла в eax значение есть. А до кодедоктора заносилось из edi. Так что доктор все правильно тут сделал, нехуй гнать ![]() блять, дальше проверил - тоже все правильно, содержимое регистров совпадает в ключевых местах. ----- SaNX ![]() |
|
Создано: 03 июня 2010 00:50 · Личное сообщение · #27 |
|
Создано: 03 июня 2010 01:39 · Личное сообщение · #28 SaNX Вот именно, нехуй гнать. Запусти программу и убедишься, что функционал сломан. SaNX пишет: после калла в eax значение есть. А до кодедоктора заносилось из edi. Вот что было: Code:
Ты согласен с тем, что этот блок ничего не меняет? Меняет стэк в небезопасной зоне - любая модификация ниже ESP может быть потёрта (и будет). Строго говоря, эти изменения уходят в никуда, а значит весь блок можно заменить на ничего или на NOP'ы. Влиять факт удаления может только в случае наличия RDTSC/CRC методов защиты. Более того, сама эта обфускация может оказаться фатальной. Если бы значение было выбрано поменьше, скажем 0Ch, факт поломки функционала был бы на лицо и поймать его в этом случае не сложно. Ну а при таком значение поломка тоже будет, но редко. P.S. Бля думайте перед тем как писать. У одного ROL=SHL, другой не может проверить трассировкой факт поломки функционала. ![]() P.P.S. Небольшой оффтоп: SaNX пишет: нихуя не сломан. после калла в eax значение есть Ильфак тоже так думал, что после CALL'а всегда EAX меняется. А вот CheckESP его не меняет. Досадная ошибка привела к невозможности нормальной декомпиляции проектов скомпилированных в режиме _DEBUG, где CheckESP делается везде, где это может быть нужно. ![]() |
|
Создано: 03 июня 2010 05:25 · Личное сообщение · #29 |
|
Создано: 03 июня 2010 06:02 · Поправил: SaNX · Личное сообщение · #30 int пишет: SaNX Вот именно, нехуй гнать. Запусти программу и убедишься, что функционал сломан. бляяяя. Доктором деобфусцировал, запустил. Работает и считает даже бля. Ну и? int пишет: P.S. Бля думайте перед тем как писать. У одного ROL=SHL, другой не может проверить трассировкой факт поломки функционала. в том и дело, что проверил, уже выше писал. Все работает сцуко, и значения регистров сходяццо блять. PS: вот тебе после доктора файл проверь сам хуле. Деобфусцировано до mov ecx, 7C6Fh add ecx, 3E37h jnz loc_10618D4 включительно. ----- SaNX ![]() |
. 1 . 2 . >> |
![]() |
eXeL@B —› Протекторы —› DYAMAR OBFUSCATOR |
Эта тема закрыта. Ответы больше не принимаются. |