Реверсеры помогите. / ассемблер :: реверс инженеринг :: пидоры помогите (реактор помоги)

пидоры помогите ассемблер реверс инженеринг 

Реверсеры помогите.

КУПОН
НА 1 помощь,пидоры помогите,реактор помоги,ассемблер,реверс инженеринг

Решил я тут заняться ебанутыми делами, а именно отучить старые ВНки, которые запускаются онли на хрюше и ломаются на 7 и выше из-за антипиратской защиты, собственно, от этой самой защиты. Есть svpk-пакер, который достаточно просто лечится правкой пары байт, и всё работает норм. Но есть гниды со всякими safedisk и прочей хуетой, которые пытаются установить свой драйвер в систему, и по понятным причинам на новых системах оно ни хуя не работает, поэтому моя задача полностью вычистить эту дрянь. Столкнулся тут с новелкой ColorfulKiss, бинарник, в этом бинарнике находятся запакованными 1 экзешник и 2 dll. Спавнит 1 процесс, который постоянно висит на процессе игры и не дает к ней приатачится дебаггеру, потом еще распаковывает в /temp/ dll, 1 общая и 2 связанная с защитой. Секция с кодом новелки зашифрована и расшифровывается после проверки защиты. Нашел OEP и восстановил таблицу импортов. Всё должно быть заебись, но... Часть функций из игры прибита гвоздями к dll. Ну и ссылки на функции в dll, как я понял, вставляются при расшифровывании секции кода, основываясь на том, в какую часть памяти она подгружена.

Собственно, как быть в этом случае? Искать, какие именно функции перекинуты на dll'ку, я, вероятно, ёбнусь, так как там не прямые ссылки, а подобная шляпа. Есть идеи, куда копать?

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еуа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
пидоры помогите,реактор помоги,ассемблер,реверс инженеринг
Еще на тему
Развернуть
Не пробовал копать процесс защиты? Может его накурить чем-нить, чтобы он не зудил
Segaman Segaman 23.07.202417:45 ответить ссылка 0.2

Собственно этим сейчас занимаюсь. Хотя конечно в идеале бы на корню выпилить эту грязь, но похоже придется идти на компромис. Сейчас сверяюсь где факапится процесс в 11 винде паралельно с процессом на хрюшке.

ivdos ivdos 23.07.202417:48 ответить ссылка 2.1
А ты программист?

Нет.

ivdos ivdos 23.07.202417:48 ответить ссылка 5.1
Просто есть утюг сломанный... Не знаешь какого-нить программиста?)
natioru natioru 23.07.202418:16 ответить ссылка 15.2
Давай сперва зайдём в раздел "аниме", там точно помогут.
MagnusKos MagnusKos 23.07.202417:55 ответить ссылка 20.0
А не проще запускать их на виртуальной машине со старой ОС?
Это не спортивно.
ivdos ivdos 23.07.202418:05 ответить ссылка 9.2
Ну и в целом мне опыта набраться в этом деле. Может я потом дорасту до уровня взлома денувы(не дорасту).
ivdos ivdos 23.07.202418:19 ответить ссылка 2.7
Ну тут зависит от того, какая у тебя цель. Если цель запустить старую ВН на новой ОС - целесообразно использовать виртуальную машину. Если интересно именно поковыряться с защитой - тот тут да, это уже другое дело.
А на embeded версиях не пробовал? Просто интересно...
В защиты обычно встроены антиотладочные проверки в том числе на запуск в виртуалке, но это возможно обойти если защита кривая и запускать в виртуалке с выделленной аппаратурой.
DSX3 DSX3 23.07.202422:34 ответить ссылка 0.0
Но есть ли такие проверки в древней как говно мамонта защите? И если есть, то мешают ли они запускать взломанные игры?
Капец конечно что мотивированные люди творят, советом не помогу, так что просто держи мой скромный плюс и желаю удачи
Sova777 Sova777 23.07.202418:01 ответить ссылка 9.3
Чот мне кажется что вычистить это будет проблемно, может действительно проще наебать саму защиту. Хукнуть функции, через которые оно обращается к драйверу, и вернуть валидный ответ. Так можно универсальный кряк для всех игр с этой защитой сделать. Если не выйдет - поищи, где защита хранит список функций, ссылки на которые нужно пропатчить, там скорее всего где-то таблица с ними должна быть
Ну драйвер ставится только на хрюшку и ниже, на 7 и выше он просто не устанавливается. Игра то по сути уже крякнута на хрюше, то есть оно не проверяет валидность диска. Просто запускает игру. Но в 11 винде драйвер не может установиться и после этого игра завершает свой процесс. То есть сейчас моя задача убедить игру что драйвер установлен и работает.
ivdos ivdos 23.07.202418:11 ответить ссылка 0.6
Ну так я и говорю, к драйверу она стучится через WIndiowsAPI, скорее всего через банальный CreateFileEx, может что-то и поекзотичнее использует. Но суть в том, что это можно легко хукнуть, так как все WinAPI функции имеют специальный пролог. Добавь в таблицу импорта свою дллку, которая будет патчить апи функции для общения с драйвером.
Бля, так не хочется лезть в С++ потому что я дурачок и он меня пугает. Возможно обойдусь меньшей кровью. Хотя в любом случае придется писать свою dllку для хуков. Жизнь боль.
ivdos ivdos 23.07.202418:35 ответить ссылка -1.1
Бляха, ассемблер его не пугает а плюсы страх страшный. WinApi вещь специфичная, но не очень сложная. Если уж цель образовательная лучше в эту сторону смотреть.
Для меня ассемблер понятнее чем эти плюсы. Там миллион спецификаций, куча костылей, опять же синтаксис его. Бррр...
ivdos ivdos 23.07.202419:51 ответить ссылка -0.3
Используй C без плюсов, он ближе к асму.
О, родная душа.

Забей на плюсы, Винапи хандлятся из простых сей без плюсов легко и непренуждённо, а экосистема намного проще. Ну или можно на ассемблере то же самое провернуть.

Вот тут есть небольшой цикл статей по перехвату апи функций https://wasm.in/blogs/perexvat-api-funkcij-v-windows-nt-chast-1-osnovy-perexvata.386/. Так что да, если найти как именно программа общается с драйвером, можно это дело залогировать, (В том числе сняв со стека адреса возвратов, что бы потом было понятно где патчить)

Ещё можно попробовать как нибудь хитро модифицировать таблицу импорта или код вызова зашифрованных функций из дллки, что бы сдампить код функций в момент, когда они уже расшифрованы.
>Там миллион спецификаций
Мне кажется, ты просто не встречал что-то вроде vpclmulhqlqdq при реверсе
Ревёрсер, который боится C++, чего только не встретишь в интернете...
посмотри туторы по Armadillo и CopyMem II
Kon Diter Kon Diter 23.07.202418:04 ответить ссылка -1.2
Если запустить файл под виртуальной с одиннадцатой виндой используя для визуализации hyper v ты сможешь с уровня гипервизора подключиться к файлу игры в любой момент, хотя придется попотеть с переходом от ядра к пользовательскому процессу. После этого у тебя будет полный дамп памяти игры с раскованным кодом и либой. Про хипер отладчик почитай Ман Setting Up Network Debugging of a Virtual Machine - KDNET. Таким образом обходиться в общем виде большинство старых защит такого типа.

Жожо сила
textor textor 23.07.202418:09 ответить ссылка 11.2
> дамп памяти игры с раскованным кодом и либой.
Дамп получить не проблема это я сделал читай выше. Проблема в том, что при распаковки секции кода игры, оно вставляет ссылки на уже смапленную память, а адреса при каждом запуске меняются. Поэтому всё хуйня миша, давай по новой.
ivdos ivdos 23.07.202418:17 ответить ссылка 0.4
По идее, в XP нету встроенного ASLR, так что с некоторой долей вероятности подменой адресов занимается одно из сторонних ASLR решений, которые были тогда популярны, и, возможно, есть какие-то известные способы с ними разбираться. Нашел упоминания систем WehnTrust и Ozone HIPS, может, стоит копать в этом направлении...
На все годные внки уже все сделано, а для тех, у кого за плечами 1000 внок и приходится копаться в мусоре- проще просто пользоваться 'virtual windows xp', весь мусор все равно не перекрякаешь, проще один раз скачать виртуалку, которая запустит все, что душе угодно.
Как я уже сказал выше я решил совместить приятное с полезным. Начальный план побольше опыта получить.
ivdos ivdos 23.07.202418:39 ответить ссылка 2.0
приколы для даунов со знанием ассемблера
villy villy 23.07.202418:29 ответить ссылка 8.2
Благое дело! Надеюсь у тебя получится
luuke luuke 23.07.202418:39 ответить ссылка -0.7
С таким уровнем упоротости наверное интереснее какой нибудь с++ погрызть и потом рубить кучу бабла всю оставшуюся жизнь
vlkam vlkam 23.07.202418:39 ответить ссылка -0.3
энтузиазм так не работает
Vetala Vetala 23.07.202420:44 ответить ссылка 1.2
ссылки на функции они хоть и случайные, но смещение относительно модуля одно и то же. Поэтому можно сдампить память несколько раз, посмотреть что меняется - это адреса. Надо высчитать смещение относительно начала модуля. Можно дописать в конец секции кода свои функции-трамплины для всех этих функций и в коде вызывать уже их. А там складывать вычисленное смещение с адресом загрузки dll-ки и вызывать. Надо будет dll-ку подгрузить и ее адрес засунуть в глобальную переменную. в какой-то отдельной функции, которую сделать точкой входа (и также записать в конец секции кода).
wataru wataru 23.07.202419:28 ответить ссылка 3.2
По делу говоришь
Бля, я чет тупанул и не подумал об этом. Спасибо. Это очень неплохой вариант.
ivdos ivdos 23.07.202419:48 ответить ссылка 1.1
Может попробовать через емуль и SoftIce понять как оно работает?
Там хотя-бы можно систему зафризить чтобы обойти попытку подключения дебаггера.
А потом уже на новой системе повторить обход защиты.

Так-то без деталей сложно разобраться, надо долго сидеть и реверсить что конкретно вызывается и что в памяти делается.

Я щас наверное шляпу напишу, но есть у меня одна ссылка на хабр, там про ковыряние хорошо написано...

Скидывать? Или лучше сразу самоустраниться?

https://habr.com/ru/articles/792932/

Пусть будет

19:42
"Di'^AA Й
Инструмент для этого я не помню. Гуглим "DLL dependency". Первая ссылка ведет на Dependency walker. По названию вроде то, что нужно. Скачиваем, запускаем, указываем исполнимый файл. Получаем несколько ошибок и предупреждение. Игнорируем, чтобы не тратить на них время.
Dependency

Вот к чему я это...

Да нет, подкинули уже годных идей.
ivdos ivdos 23.07.202419:57 ответить ссылка 7.9
Походу в Green Green 3 тоже какой-то пидорский драйвер, потому что на свежих виндах она не запускается, а на ХР работает (правда без звука).
Предыдущие части фурычат на всех виндах
Vetala Vetala 23.07.202420:48 ответить ссылка 0.6
Могу чекнуть. Поставлю на закачку.
ivdos ivdos 23.07.202420:54 ответить ссылка 0.1
Да, там тоже защита, причем пакер в пакере хех.
ivdos ivdos 23.07.202421:24 ответить ссылка 0.3

А шо собсно драйвер не устанавливается? Нет подписи? Так можно запустить винду с отключением проверки этих подписей и можно ставить какой какой угодно драйвер.

Не выёбываюсь, прост мало-ли ты запамятовал. Удачи с этим всем <3

Ковырял лет 10 назад несколько программ, также из спортивного интереса. Простенькие защиты не сильно сложно было обойти. Надо было найти энтри поинт уже расшифрованного приложения и сдампить. Я тогда использовал ollydbg. Но вот неделю назад скачал x64dbg и открыл 64 бит приложение - я понял, что все позабыл и былого интереса больше нет.
Это сейчас проблема с продвинутыми защитами, где антиотладка и в защиту входит виртуальная машина.
не забываем прокачивать так же скил понимания того какой асм код будет если компилирования того или иного кода и умение этот код на плюсах расте и тд модифицировать так чтоб он в разы быстрее стал (руководствуясь ассемблером). Это чаще спрашивают и чаще на практике нужно. А взлом же работодателям крайне редко нужен если это не безопасность.
Mirn Mirn 24.07.202408:00 ответить ссылка -0.3
kamae1ka kamae1ka 24.07.202410:48 ответить ссылка -0.9
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
КУПОН
НА 1 помощь КУПОН
НА 1 помощь КУПОН
НА 1 помощь на 1 помочь