![]() |
eXeL@B —› Протекторы —› Вопросы по Obsidium |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 08 ноября 2008 16:24 · Поправил: Модератор · Личное сообщение · #1 Сегодня смотрел обсидиум на боликах.Впринципе ничё серьёзного не заметил и прогу распаковал,только осталось несколько вопросов. В коде встречается динамическая раскриптовка вида: 004XXXXX 68 90000000 PUSH 90 004XXXXX FF15 E267C000 CALL DWORD PTR DS:[C067E2] Это лечится бинарным копирование после расшифровки и занопливаем затем ненужных криптующих и раскриптующих call. Ещё в коде встречается такое: 00793857 55 PUSH EBP 00793858 68 3E397900 PUSH 0079393E 0079385D 64:FF30 PUSH DWORD PTR FS:[EAX] 00793860 64:8920 MOV DWORD PTR FS:[EAX],ESP 00793863 FF15 E667C000 CALL DWORD PTR DS:[C067E6] ---------------------------------------------------------------------- ---------- тут мусор ---------------------------------------------------------------------- ---------- jmp на нормальный код Весь этот мусор отрабатывает в секции протектора.Я никак чё-то не додумаюсь как эту хрень восстанавливать.С этой хернёй я боролся так: просто прилепил к дампу две секции протектора.Плюс конечно есть:не нужно востанавливать динамическую раскриптовку и прекрасно работают апи обсида.Возможно будет работать и регистрация.Не знаю не проверял.Но как-то не красиво получается,хочется обойтись без секций прота.Хотелось бы услышать кто как справляется с этим. ![]() Далее нашёл апи обсида: 0054783C - FF25 983E9B00 JMP DWORD PTR DS:[9B3E98] ; \GetRegState 00547842 8BC0 MOV EAX,EAX 00547844 - FF25 943E9B00 JMP DWORD PTR DS:[9B3E94] ; \name 0054784A 8BC0 MOV EAX,EAX 0054784C - FF25 903E9B00 JMP DWORD PTR DS:[9B3E90] ; \trial day 00547852 8BC0 MOV EAX,EAX 00547854 - FF25 8C3E9B00 JMP DWORD PTR DS:[9B3E8C] ; 0054785A 8BC0 MOV EAX,EAX 0054785C - FF25 883E9B00 JMP DWORD PTR DS:[9B3E88] ; \CheckRegCode Не могу понять нахера ещё одна апи.Для ключа что-ли?И как точно можно узнать что считывает каждая апи.Ну с CheckRegCode понятно:один раз считывается при проверке имени и ключа,а вот с остальными.....Трейсить эти апи в оригинале у меня не получается,слишком много исключений ![]() ![]() |
|
Создано: 08 ноября 2008 16:45 · Личное сообщение · #2 |
|
Создано: 08 ноября 2008 16:56 · Личное сообщение · #3 daFix пишет: с динамической раскриптовкой кода Это не обязательно обсид был.Похожая динамическая раскриптовка на память есть и в PC Guard.Там принцип почти такой же.Хрен знает кто у кого спёр ![]() Эти куски кода: 004XXXXX 68 90000000 PUSH 90 004XXXXX FF15 E267C000 CALL DWORD PTR DS:[C067E2] восстановить проблем нет никаких.Как я понял push указывает на длину раскриптованного кода,а call собственно раскриптовка.Тяжелее дело обстоит вот с этим: 00793863 FF15 E667C000 CALL DWORD PTR DS:[C067E6] Дело в том что адрес указывает в секции прота 00EXXXXX и 02XXXXXXX.Естественно если не лепить эти секции в дамп,то будет ошибка.Трейсить эту хрень тяжеловато-мусора до хера.Пока я понял что там вызываются апи обсида.Вообще у меня такое чувство что код ниже должен расшифроваться при наличии валидного ключа.Хотя возможно я и ошибаюсь ![]() ![]() |
|
Создано: 08 ноября 2008 18:04 · Личное сообщение · #4 |
|
Создано: 08 ноября 2008 18:56 · Личное сообщение · #5 |
|
Создано: 08 ноября 2008 19:10 · Личное сообщение · #6 |
|
Создано: 08 ноября 2008 19:27 · Личное сообщение · #7 Djeck пишет: Похожая динамическая раскриптовка Слово похожая и точно такая же имеют разный смысл,если ты не знал ![]() ![]() |
|
Создано: 08 ноября 2008 19:42 · Личное сообщение · #8 |
|
Создано: 08 ноября 2008 19:49 · Личное сообщение · #9 |
|
Создано: 08 ноября 2008 23:09 · Личное сообщение · #10 |
|
Создано: 09 ноября 2008 00:42 · Поправил: Djeck · Личное сообщение · #11 Bronco пишет: Ваще то Павычу больше присуще ирония&сарказм Стал замечать,что этот сарказм у него присущ только к определённым личностям Bronco пишет: Ё...некоторым надо индульгенции раздвать Кому именно? Всё это хорошо конечно,но мне бы желательно если бы кто подсказал каким макаром исправлять криптованные участки вида: 00793860 64:8920 MOV DWORD PTR FS:[EAX],ESP 00793863 FF15 E667C000 CALL DWORD PTR DS:[C067E6] В жизни не поверю что никто обсид не копал.И тем более не верю что никому такие участки не попадались ![]() |
|
Создано: 09 ноября 2008 09:05 · Личное сообщение · #12 Спорить с аминистрацией безполезно ;) Правило ты начальник я дурак ни кто не отменял ![]() Зачем плодить безсмымленые топики об одном и том же тем более речь идет о тех же прогах Нужна помощь в распаковке Obsidium : 18 апреля 2008 21:20:19 Djeck 131.9 (ветеран) http://exelab.ru/f/action=vthread&forum=1&topic=11712 тем боле что совет высказаный с немалым апломбомDjeck пишет: Это лечится бинарным копирование после расшифровки напоменает совет шарика все отнять и поделить ![]() ![]() |
|
Создано: 09 ноября 2008 10:36 · Личное сообщение · #13 |
|
Создано: 10 ноября 2008 12:08 · Личное сообщение · #14 я импорт восстанавливал даже не лазя в сам прот, делается оч просто - модифицируются системные библы т.о., что при вызове ф-ии с определенныем параметром в еах возвращается сам адрес ф-ии так что вся эта защита импорта просто гавно Djeck пишет: 00547854 - FF25 8C3E9B00 JMP DWORD PTR DS:[9B3E8C] ; cмори какие еще параметры передаются и скоко их ![]() |
|
Создано: 10 ноября 2008 13:17 · Поправил: daFix · Личное сообщение · #15 |
|
Создано: 10 ноября 2008 14:10 · Личное сообщение · #16 daFix пишет: PS: Надеюсь Djeck'а не забанили... Не, за что? ![]() ![]() Прога rapidshare.com/files/162387268/proga1.rar.html (6 метров) Распакованная rapidshare.com/files/162388029/Unpacked.rar.html (2 метра) daFix сразу говорю дамп на других системах не тестил.На моей всё запускается и работает прекрасно.Если вздумаешь сам с нуля распаковать,напиши в личку дам дерево impreka и скажу спёртые байты. Я сейчас сам просто разбираюсь с апи протектора. ![]() ![]() |
|
Создано: 11 ноября 2008 05:41 · Личное сообщение · #17 daFix пишет: В моём случае раскриптовка кода шла в стёке, и уже оттуда передавалось управление на раскриптованный кусок кода ![]() ![]() я импорт восстанавливал даже не лазя в сам прот, делается оч просто - модифицируются системные библы т.о., что при вызове ф-ии с определенныем параметром в еах возвращается сам адрес ф-ии так что вся эта защита импорта просто гавно К чему это столько телодвижений ? Там и банальным скритом все неплохо восстанавливается ![]() |
|
Создано: 11 ноября 2008 09:20 · Личное сообщение · #18 |
|
Создано: 11 ноября 2008 10:07 · Поправил: Ultras · Личное сообщение · #19 |
|
Создано: 11 ноября 2008 10:17 · Личное сообщение · #20 |
|
Создано: 11 ноября 2008 10:18 · Личное сообщение · #21 |
|
Создано: 11 ноября 2008 11:14 · Личное сообщение · #22 NIKOLA pavka уже выкладывал эти скрипты. Можно поискать на форуме - тем про Obsidium не так уж и много (всё-таки это не аспр). Вот кстати тоже попался Obsidium с динамической раскриптовкой. Но если подумать - раз в раскриптованном коде умещается и сам код и вызовы криптора и декриптора, то эти вызовы делал сам программист? То есть хочу я заблочить кусок кода - вставляю специальные инструкции (как было в аспре при криптовании кода) до и после этого кода, компилирую и кидаю в Obsidum? Я правильно понял? Просто не хочу засорять свой комп, ставя Obsidium и читая его мануал. Итак места нет. ![]() |
|
Создано: 11 ноября 2008 11:40 · Личное сообщение · #23 progopis пишет: То есть хочу я заблочить кусок кода - вставляю специальные инструкции (как было в аспре при криптовании кода) до и после этого кода, компилирую и кидаю в Obsidum? Code:
Это пример. ![]() |
|
Создано: 11 ноября 2008 18:45 · Поправил: progopis · Личное сообщение · #24 Как узнать использовали API протектора или нет? По принципу падает или нет? Вот файл приложил - анпак Obsidium и туда же добавил его DLL и не анпакнутую версию _http://rapidshare.com/files/162779919/Bulk_Image_Downloader.zip.html NIKOLA пишет: Это пример. Защиты в этом ноль с половиной, а вот локализовать защитный механизм помогает. В чём смысл? P.S. Мне бы ещё версию точно узнать... Опознайте плз! ![]() ![]() |
|
Создано: 11 ноября 2008 19:16 · Личное сообщение · #25 |
|
Создано: 11 ноября 2008 19:54 · Личное сообщение · #26 pavka пишет: по флажку при заполнении импорта Как всегда подробный ответ ![]() progopis я думаю советчик сверху говорил об этом: 021AA440 837F 04 00 CMP DWORD PTR DS:[EDI+4],0 <------------------если 0,то это апи обсида 021AA444 0F84 5F070000 JE 021AABA9 <-----------------------иначе дальше 021AA44A 0377 14 ADD ESI,DWORD PTR DS:[EDI+14] 021AA44D 8D34C6 LEA ESI,DWORD PTR DS:[ESI+EAX*8] 021AA450 0FB706 MOVZX EAX,WORD PTR DS:[ESI] 021AA453 A9 04000000 TEST EAX,4 021AA458 0F85 A1000000 JNZ 021AA4FF 021AA45E A9 01000000 TEST EAX,1 021AA463 75 71 JNZ SHORT 021AA4D6 021AA465 A9 80000000 TEST EAX,80 021AA46A 0F85 910B0000 JNZ 021AB001 021AA470 A9 40000000 TEST EAX,40 021AA475 0F85 33010000 JNZ 021AA5AE 021AA47B 0FB746 02 MOVZX EAX,WORD PTR DS:[ESI+2] 021AA47F 6A 01 PUSH 1 021AA481 50 PUSH EAX Обычно здесь: 021AA440 837F 04 00 CMP DWORD PTR DS:[EDI+4],0 бывает FF. Ну как я уже сказал при 0 апи обсида.Это место можно найти,когда будешь импорт восстанавливать.Потрейсь одну функцию и всё сам поймёшь.Кстати это и ответ,как можно узнать используется ли апи обсида.Я в своей программе просто скриптом чекал эту "проверку" Кстати ещё чаще встречается такой же код,но только с мусором: 0092433B 837F 04 00 CMP DWORD PTR DS:[EDI+4],0 <--------------------таже проверка 0092433F EB 01 JMP SHORT 00924342 00924341 1A0F SBB CL,BYTE PTR DS:[EDI] 00924342 JE 00924AA3 <-----------апи обсида 00924348 |EB 01 JMP SHORT 0092434B 0092434A |0003 ADD BYTE PTR DS:[EBX],AL 0092434C |77 14 JA SHORT 00924362 0092434E |EB 03 JMP SHORT 00924353 Правда не могу сказать точно,но помойму такой код в версиях поновее ![]() ![]() |
|
Создано: 12 ноября 2008 05:34 · Личное сообщение · #27 Djeck пишет: Как всегда подробный ответГде этот флажок никого ниебёт.Сам трейс и сам ищи флажок.К чему такие ответы?Теперь я понял откуда такой ранг. Я понимаю что ты хочешь показаться умнее чем ты есть на самом деле ![]() я думаю советчик сверху говорил об этом: В пердудщем созданом тобой топике Нужна помощь в распаковке Obsidium : 18 апреля 2008 21:20:19 Djeck 131.9 (ветеран) http://exelab.ru/f/action=vthread&forum=1&topic=11712 pavka пишет: 003A4590 7C800000 kernel32.7C800000 <-----------длл 003A4594 FFFFFFFF <--------------- флаг 003A4598 00000001 003A459C 00000000 003A45A0 00000000 003A45A4 00000644 003A4758 00000000 <------------------- Апи обсида 003A475C 00000000 <------------------==0 003A4760 00000002 003A4764 00000000 003A4768 00000000 003A476C 00001854 И не нужно давать глупые советы тем более не понимая о чем ты говоришь А ранг мне пофигу ![]() ![]() |
|
Создано: 12 ноября 2008 12:17 · Личное сообщение · #28 |
|
Создано: 04 января 2009 12:44 · Личное сообщение · #29 Есть у кого-нибудь, что-нибудь почитать по новому обсиду. Ну никак я непойму, что это такое: 00793857 55 PUSH EBP 00793858 68 3E397900 PUSH 0079393E 0079385D 64:FF30 PUSH DWORD PTR FS:[EAX] 00793860 64:8920 MOV DWORD PTR FS:[EAX],ESP 00793863 FF15 E667C000 CALL DWORD PTR DS:[C067E6] ---------------------------------------------------------------------- ---------- тут мусор ---------------------------------------------------------------------- ---------- jmp на нормальный код Уже и справку несколько раз прочитал, и свой крэкми запаковывал со всеми опциями и со всеми маркерами, всё равно не вижу похожий код. Эта опция хоть как называется кто знает?. ![]() ![]() |
|
Создано: 04 января 2009 19:28 · Личное сообщение · #30 ![]() Code:
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube ![]() |
. 1 . 2 . >> |
![]() |
eXeL@B —› Протекторы —› Вопросы по Obsidium |
Эта тема закрыта. Ответы больше не принимаются. |