eXeL@B —› Основной форум —› Поиск "магического jmp" в Armadillo протекторе. |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 10 мая 2006 09:39 · Личное сообщение · #1 Есть прога Wealth-Lab Developer 4.0 Build 1. (Система анализа рынка) Лежит здесь: 63.99.108.115/WealthLab4Setup.exe. (13M) Защита армовская с привязкой к Machine Key. Зажата последней (?) Armadilloй. Без нанитов. Бьюсь уже давно но ничего не получаеться. Поясняю: 1) Разделяю потоки, нахожу точку входа, делаю дамп - всё проходит нормально. 2) Пытаюсь востановить импорт - НИЧЕГО не получаеться. Не могу получить "незапорченную" импорта. Просмотрел всё что нашел на эту тему. Проверил все варианты поиска "магического jmp". Безрезультатно. В импорте остаються запорченные участки. Есть у кого нить опыт поиска "магического jmp" на новых версиях армы? Все найденные туториалы по востановлению импорта не проходят. |
|
Создано: 10 мая 2006 10:06 · Личное сообщение · #2 |
|
Создано: 10 мая 2006 10:16 · Личное сообщение · #3 |
|
Создано: 10 мая 2006 10:43 · Личное сообщение · #4 |
|
Создано: 10 мая 2006 10:44 · Личное сообщение · #5 |
|
Создано: 10 мая 2006 10:58 · Личное сообщение · #6 Mario555 пишет: ну зачем же ходить на какой-то другой форум =) можно на этом обратится ко мне и "а некоторое кол-во $$$ все бы сделали" ;) Просто человек пришел с форума где вполне хватает квалифицированных людей в этой области. Денег им жалко вот и появляются не кракерских форумах в надежде поиметь халяву |
|
Создано: 10 мая 2006 11:17 · Личное сообщение · #7 |
|
Создано: 10 мая 2006 11:27 · Поправил: Federal · Личное сообщение · #8 |
|
Создано: 10 мая 2006 12:16 · Поправил: DanilinS · Личное сообщение · #9 Mario555 ->"ничего там не менялось в защите импорта уже очень давно... и магик переход в последних армах такой же как и раньше (т.е. как описано в статьях)" возможно они уже работают над ошибками Но стандартной вариант POP ECX, POP ECX, TEST EAX, JNZ SHORT ... ( замена на JMP SHORT ) не приводит к результатам. Импорт остаеться испорченым. Ещё замечание: при снятии дампа на работе программа запускаеться ( и только на работе , хотя и не без глюков. При проведении процедуры дома - не стартует а валиться. При сравнении дампов выясняеться, что на разных машинах импорт "портиться" по разному. Предполагаю, что данная функция завязана на Machine Key. Цель иследования: не денег срубить а поиграться с новой версией программы а заодно освоение методов защиты на примере армы. Благо опыт по исследованию защиты программ есть. Что интересно: PEiD 0.94 с внешним блоком сигнатур ( детектит арму до 4.40) не дает номера версии а только определяет "Armadillo v4.xx" |
|
Создано: 10 мая 2006 12:35 · Личное сообщение · #10 |
|
Создано: 10 мая 2006 12:37 · Личное сообщение · #11 |
|
Создано: 10 мая 2006 12:43 · Личное сообщение · #12 |
|
Создано: 10 мая 2006 13:21 · Личное сообщение · #13 DanilinS Если тебе все это нужно не в целях изученя Армы, а получения исправленной проги, то посмотри тут: http://exelab.ru/f/action=vthread&forum=1&topic=4791&page= 0 |
|
Создано: 10 мая 2006 14:32 · Личное сообщение · #14 YDS пишет: Если тебе все это нужно не в целях изученя Армы, а получения исправленной проги, то посмотри тут: http://exelab.ru/f/action=vthread&forum=1&topic=4791&page= 0 Уже было проверено. Не работает в данном конкретном случае. |
|
Создано: 10 мая 2006 19:36 · Личное сообщение · #15 |
|
Создано: 10 мая 2006 22:39 · Личное сообщение · #16 |
|
Создано: 11 мая 2006 10:31 · Поправил: DanilinS · Личное сообщение · #17 Выкладываю скрины и дампы импорта до и после исправления магического jmp. (160 к) Искался прыжок стандартно: бряк на импорт, после второго срабатывания - скролл вверх. Установка бряка, перезапуск, замена на jmp. b74b_11.05.2006_CRACKLAB.rU.tgz - Damp magic jump.rar Видно, что импорт исправился, но осталось небольшое количество мусора. |
|
Создано: 11 мая 2006 18:20 · Личное сообщение · #18 Очень странный у тебя прыг. Ну раз работает, то ладно. Смотри выше, у тебя явно присутсвует вторая проверка, просто ищи ещё одну проверку выше. Почитай мою статью про распаковку армы на библиотеке (я не выпендриваюсь, просто всё уже написано, отвечать одно и то же 10 раз надоело) ----- Недостаточно только получить знания:надо найти им приложение |
|
Создано: 12 мая 2006 09:45 · Поправил: DanilinS · Личное сообщение · #19 Спасибо Rascal. Разобрался с "оставшимися" следами в секции импорта. Как оказалось это следы 0 слов. Их можно безболезненно удалить. Но ... в секции импорта есть ряд фунций, которые IRec не в состоянии был распознать: ссылки на 7636A2** (1 Функция), 72FD****(6), 771B**** (10), 7639****-763A****(7), 71A9****-71AA****(20). Несмотря на то, что программа работает мне хочеться разобраться с этим вопросом, что это за библиотеки. И что делать в этом случае? Сама прога явно написана на Delphi. ( Скорее всего Delphi 6) . При анализе программ на Дельфи по данным адресам ничего не грузиться ( по крайней мере стандартные программы с стандартными библиотеками) и не используется. В импрте стандартных дельфийских прог ссылок на эти адреса нет. Так-же счас разбираюсь с взаимодействием "навесной" армодиловской защиты с самой прграммы. Интересно, как сама программа узнает о том, демо ключ в арме сидит или нет. В принципе это уже не обязательно, так как вся защита в основной проге реализуеться проверкой одной подпрограммы. Если она возвращает в EAX 0 - это демо, а если <> 0 - не демо Но просто хочется больше узнать о армовской защите. |
|
Создано: 12 мая 2006 16:30 · Поправил: Rascal · Личное сообщение · #20 DanilinS пишет: Интересно, как сама программа узнает о том, демо ключ в арме сидит или нет Следи за вызовами GetEnvironmentVariable. Арма задаёт для этого процесса свои переменные, которые как раз и читаются программой при помощи GEV DanilinS пишет: 0 слов Да, точно, разделитель между модулями арма заполняет не 0 а мусором, забыл чё-то этот вариант А эти адреса в импорте, они ведут в память, если да покажи дизасм кода, на который указывают ----- Недостаточно только получить знания:надо найти им приложение |
|
Создано: 12 мая 2006 21:55 · Личное сообщение · #21 |
|
Создано: 13 мая 2006 12:19 · Личное сообщение · #22 |
|
Создано: 15 мая 2006 11:04 · Личное сообщение · #23 И импортом разобрался. Проблема была в том, что в момент, когда импорт восстановился ( и прога улетела в исключение) некоторых библиотек в памяти не было. Естественно создалось впечатление "указателей в никуда". А если дать программе поработать чуть дальше то библиотеки встанут на свое место. В общем с импортом разобрался полностью. Счас весь импорт полностью и корректно восстановлен. Распакованная программа работает корректно (в демо ес-но ) во всех режимах. При работе с программой под Олей выявлена сильная любовь к вылету и зависаниям. По моему это связано с тем, что программа работает в 2 потока и остановка одного потока Олей приводит нарушению межпоточного взаимодействия. Ещё странность: запуск заарменной проги приводит к формированию целой ветки реестра с всякой вспомогательной информацией. Распакованная прога не формирует этой ветки. Но работает . По схеме взаимодействия "навесной" защиты и программы. GetEnvironmentVariable вызываеться всего 3 раза: 1) переменная "FINGERPRINT", размер буфера 14h байт. Вызывается в начале программы и содержит Machine Key. Возможно отсутствие данной переменной в распакованной проге вызывает сбой инициализации и не формирования ветки реестра. 2) переменная "WL", размер буфера 8 байт. Вызываеться в подпрограмме проверки DEMO-режима. В запакованной и распакованной проге не содержит ничего. Возможно содержимое появиться при вводе "правильного" ключика, которого нет. 3) переменная "USERNAME". Используется для показа имени в About. Кто скажет, можно задавать EnvironmentVariable в Оле или придется свой загрузчик писать? |
|
Создано: 17 мая 2006 14:08 · Личное сообщение · #24 Дальнейшии иследования: 1) подтвердились мысли о роли FINGERPRINT в инициализации. При установки переменной FINGERPRINT со значением, похожим на Machine Key программа при первом старте правильно устанавливала ветку реестра. Подпрограмма стения FINGERPRINT вызываеться при инициализации 6 раз и участие FINGERPRINT в инициализации до конца не ясно, так как в месте вызова прогрмма линейна, без каких либо проверок. 2) Что интересно, что для чтения армовских переменных из переменных окружения память выделяется но не чиститься! И если таких переменных нет то там лежит мусор. Счас копаю "WL" |
|
Создано: 17 мая 2006 16:29 · Личное сообщение · #25 |
|
Создано: 18 мая 2006 13:37 · Личное сообщение · #26 Сча !!! Размечтался. Тама ещё Nanomites были. Пришлось их лечить. Вылечил нормально. Теперь имею полностью рабочую полнофункциональную версию. А я грешным делом подумал что это у них первая версия глюкавая. Баг-лист там действилельно шикарный ... На днях хотят выложить версию 4.0 Build 2. Быстро ошибки правят. Опять ломать-развлекаться |
|
Создано: 18 мая 2006 17:05 · Поправил: Federal · Личное сообщение · #27 |
|
Создано: 18 мая 2006 19:27 · Личное сообщение · #28 |
|
Создано: 19 мая 2006 10:12 · Поправил: DanilinS · Личное сообщение · #29 yc пишет: DanilinS так поделисъ ... а надо? Возьми и сам сломай. Заодно и опыта наберешся. Если серьезно - возьми Wealth-Lab Developer 3.0 из последних билдов. Генераторы ключей для неё можно легко найти. Разницы с WLD 4.0 практически нет. Если на номер версии не смотреть - так вообще не отличить. В WLD 4 переписан компилятор языка. А с учетом того, что это первый билд - система получилась немного сыровата. Список багов: www.wealth-lab.com/cgi-bin/WealthLab.DLL/getpage?page=WLD3Release.htm Хотя если надо - куда нить выложу. |
|
Создано: 19 мая 2006 13:24 · Личное сообщение · #30 |
. 1 . 2 . >> |
eXeL@B —› Основной форум —› Поиск "магического jmp" в Armadillo протекторе. |