Реверсеры помогите.
Решил я тут заняться ебанутыми делами, а именно отучить старые ВНки, которые запускаются онли на хрюше и ломаются на 7 и выше из-за антипиратской защиты, собственно, от этой самой защиты. Есть svpk-пакер, который достаточно просто лечится правкой пары байт, и всё работает норм. Но есть гниды со всякими safedisk и прочей хуетой, которые пытаются установить свой драйвер в систему, и по понятным причинам на новых системах оно ни хуя не работает, поэтому моя задача полностью вычистить эту дрянь. Столкнулся тут с новелкой ColorfulKiss, бинарник, в этом бинарнике находятся запакованными 1 экзешник и 2 dll. Спавнит 1 процесс, который постоянно висит на процессе игры и не дает к ней приатачится дебаггеру, потом еще распаковывает в /temp/ dll, 1 общая и 2 связанная с защитой. Секция с кодом новелки зашифрована и расшифровывается после проверки защиты. Нашел OEP и восстановил таблицу импортов. Всё должно быть заебись, но... Часть функций из игры прибита гвоздями к dll. Ну и ссылки на функции в dll, как я понял, вставляются при расшифровывании секции кода, основываясь на том, в какую часть памяти она подгружена.
Собственно, как быть в этом случае? Искать, какие именно функции перекинуты на dll'ку, я, вероятно, ёбнусь, так как там не прямые ссылки, а подобная шляпа. Есть идеи, куда копать?
Подробнее
КУПОН НА 1 помощь
1еуа1ес1] 11? 895С24 5С шоу сЫогс) риг 55: [е5р+5С], еЬх 74 0Р je со1 ог1чЛ И 55.40С1В4 8ВСР шоу есх,есЛ Е8 А47С0000 саП со1 ог1чЛ И 55.413Е50 С707 10734300 шоу сЫогс) риг 05: [ееЛ ], со1 ог1=и1 М 55.437310 ЕВ 02 ^р С01 0Г1ЧЛ И 55.40С1В6 ЗЗРР хог есЛ , ееЛ 805424 ОС 1еа ес1х,с1<люгО рсг 55:[е5р+С] С74424 5С РРРРРРРР тел/ с)!люгс1 риг 55:Ге5р+5С],РРРРРРРР 52 ри5 И ес1х 57 ри5 Ь есЛ Е8 1795 РРРР саП со1 огТи1 к155.4056Е0 8В4С24 5С тел/ есх^люгс) рег 55:[е5р+5С] 83С4 08 аеЗс! е5р,8 8946 50 тоу с!\л'о г с! риг с)5: [е51+5 0], еах 64:8900 00000000 тоу Олюгс! риг ГИ: Г 01. есх 5Р рор ееЛ 5 Е рор е51 5 В рор еЬх 83С4 54 ас1с! е5р,54 С2 0400 гet 4 В8 АВ290000 тоу еах,29АВ 59 рор есх 800408 1еа еах^люге) рег с15:[еах+есх] 8В00 тоу еах^люге) рег с15:[еах] РРЕО ]тр еах 8В49 50 шоу есх^люгс) рег с15:[есх+5 0] 8В01 тоу еах^люге) рег с15:[есх] РР60 14 jmp е1<люгс1 риг с)5:[еах+14] 90 пор 90 пор 90 пор 90 пор 90 пор 90 пор 90 пор 90 пор 53 ри5 И еЬх 8В09 тоу еЬх,есх 56 ри5 И е51 57 ри5*1 ееЛ 8В53 50 тоу ес1х,с1<люгО рег с15:[еЬх+5 0] 8В42 1С тоу еах^люге) рег с15: [ес1х+1С] 8ВЗ 2 гжл/ е51,с1<люг0 рег с15: [ ес1х] 50 ри5 И еах Ш Сценарий £1 Отладочные символы О Исходный КОД /* Ссылки ^ Потоки *Т| Дескрипторы 0 0012 РРЗ 8 : переменные / Структура 0012РРЗС -------------------------------------------------------------------------------------------- 0012РР40 ____________________________________________________________________________________________А 0012РР44 • 0012РР48 0012РР4С 0012РР50 0012РР54 0012РР58 0012РР5С 0012РР60 0012РР64 0012РР68 0012РР6С 10012РР70 0012РР74 0012РР78 0012РР7С 0012РР80 - 0012РР84 ПП17 РРЙЙ □0® * Трассировка [esp+ , Скрыть РРи £££ 00000539 L '&■' ЕВХ 7FFDC000 ЕСХ 00000501 L'd* EDX 00000001 [esp+ EBP 0012FFC0 [esp+ ESP 0012FF38 m ESI 00000000 EDI 00000000 [espt EIp 0040C1E3 0 0 и colorfulki 55.0040C1E3 EFLAGS 00000246 2F 1 PF 1 AF О OF 0 SF 0 DF О CF O TF 0 IF 1 LastError 00000002 (ERROR_FILE_NOT_FOUNO;) Laststatus соооооз4 Cstatus_object_name_not_found) GS 0000 FS 003B ES 0023 DS 0023 CS 001B SS 0023 ST(O) 4001EAF6606A2672 0000 STCl) 4003BA02AB62B5 DC4800 ST(2) 4005DE98499553AF7000 ST(3) 4009FE73443526170800 ST(4) 400CB145ECE7E2DDD000 ST(5) 40038EBEBEBEBEBEC000 ST(6) 400BE1C8000000000000 ST(7) 400CB145ECE7E2DDD000 X87TaaWord FFFF____________ Х87Г0 пусто 7.342575270962299783 Х87Г1 Пусто 23.35286595456594583 Х87Г2 Пусто 111.2974363960890685 Х87ГЗ Пусто 2035.602076124567475 Х87Г4 Пусто 11345.48135332564198 Х87Г5 Пусто 17.84313725490196134 Х87Г6 Пусто 7225.000000000000000 Х87Г7 Пусто 11345.48135332564198 По умолчанию (stdcall) l: [esp+4] 00000539 00000539 2: [esp+8] 00000501 ooooosoi з: [esp+c] 0042BC6F colorfulki55.0042BC6F 4: [esp+io] 00000000 00000000 5: [esp+14] 00000000 00000000 ▼ ▼ 5 Разблокировано А I ◄ ► 00401880 00000539 00000501 0042BC6F 00000000 00000000 01C4FC2 4 7FF0C000 FF676980 00000000 C07250C8 00000000 00003BC4 ED603C8C 8054B49A 8054B944 00000000 00080000 01C4FC2 4 00381AB1 возврат К colorfulki55.5Ub_401810+70 ИЗ colorfulki55.0040C1E3 возврат К colorfulki55.5Ub_42BC44+2B ИЗ COlorfulki55.5Ub_401810+6 возврат к 00381AB1 из 00381A6C ППППППРЦ I т ► По умолчанию Время под отладкой: 0:07:27:52
пидоры помогите,реактор помоги,ассемблер,реверс инженеринг
Собственно этим сейчас занимаюсь. Хотя конечно в идеале бы на корню выпилить эту грязь, но похоже придется идти на компромис. Сейчас сверяюсь где факапится процесс в 11 винде паралельно с процессом на хрюшке.
Нет.
Забей на плюсы, Винапи хандлятся из простых сей без плюсов легко и непренуждённо, а экосистема намного проще. Ну или можно на ассемблере то же самое провернуть.
Вот тут есть небольшой цикл статей по перехвату апи функций https://wasm.in/blogs/perexvat-api-funkcij-v-windows-nt-chast-1-osnovy-perexvata.386/. Так что да, если найти как именно программа общается с драйвером, можно это дело залогировать, (В том числе сняв со стека адреса возвратов, что бы потом было понятно где патчить)
Ещё можно попробовать как нибудь хитро модифицировать таблицу импорта или код вызова зашифрованных функций из дллки, что бы сдампить код функций в момент, когда они уже расшифрованы.
Мне кажется, ты просто не встречал что-то вроде vpclmulhqlqdq при реверсе
Жожо сила
Дамп получить не проблема это я сделал читай выше. Проблема в том, что при распаковки секции кода игры, оно вставляет ссылки на уже смапленную память, а адреса при каждом запуске меняются. Поэтому всё хуйня миша, давай по новой.
Там хотя-бы можно систему зафризить чтобы обойти попытку подключения дебаггера.
А потом уже на новой системе повторить обход защиты.
Так-то без деталей сложно разобраться, надо долго сидеть и реверсить что конкретно вызывается и что в памяти делается.
Я щас наверное шляпу напишу, но есть у меня одна ссылка на хабр, там про ковыряние хорошо написано...
Скидывать? Или лучше сразу самоустраниться?
https://habr.com/ru/articles/792932/
Пусть будет
Вот к чему я это...
Предыдущие части фурычат на всех виндах
А шо собсно драйвер не устанавливается? Нет подписи? Так можно запустить винду с отключением проверки этих подписей и можно ставить какой какой угодно драйвер.
Не выёбываюсь, прост мало-ли ты запамятовал. Удачи с этим всем <3
Это сейчас проблема с продвинутыми защитами, где антиотладка и в защиту входит виртуальная машина.