Сейчас на форуме: asfa (+6 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Помогите со взломом триала игр от Turbogames.ru |
<< . 1 . 2 . |
Посл.ответ | Сообщение |
|
Создано: 26 февраля 2010 10:14 · Личное сообщение · #1 Здравствуйте.. Такая проблема: Уже не первый день пытаюсь пробиться к триалу игры от Turbogames.ru - Зенерчи, но всё безуспешно.. и дамп делал и пытался процесс подловить.. Всё безтолку.. Помогите пожалуйста разобраться в зломе этих игр.. Только пожалуйста по подробней и на примере игры Зенерчи.. В инете нашёл взомщики, но они меня не интересуют, ибо хочу развивать крэкерские способности и хочу сам добиться успешного взлома.. Помогите пожалуйста, поддержите последователя.. Зарание спасибо.. ![]() |
|
Создано: 27 марта 2010 19:05 · Личное сообщение · #2 Vovan666 пишет: Ну як дети малые rapidshare.com/files/368339300/clip0001.rar Да на видео всё получается, но применименимо именно к этой игрухе у меня опять не вышло. При запуске распакованного .ехе игра начинает загружаться затем выскакивает ошибка: Runtime Error! D\Games\Zenerchy\game_dump_.exe R6002 -floating point not loaded Попробовал загрузить в Ольку другую игруху, так там вообще всё не так, хотя прот тот-же: до нулей не доходит, а стопорится на int3 и ни в какую. Ну да я не об этом, что ещё за плавающая запятая? И с чем её едят? Я заметил такой нюанс, на видео после поиска IAT получается 12 библиотек dll , а у меня 11. Может в этом дело? ![]() |
|
Создано: 27 марта 2010 20:15 · Личное сообщение · #3 |
|
Создано: 28 марта 2010 02:32 · Поправил: ClockMan · Личное сообщение · #4 почему в программах рассспакованных и написаных на с++8,9 возникает ошибка R6002 В программах есть дополнительная проверка файла,код всегда одиннаковый, вот кусок с него MOV EAX,[EAX+24]================>загрузка флага секции,(всегда считывает с секции .rdata-вторая секция по стандар-ту), если флаг равен 40000040 то SHR EAX,1F======================>при сдвиге в ЕАХ будет 0, NOT EAX AND EAX,1 MOV DWORD PTR [EBP-4],-2 MOV ECX,[EBP-10] MOV FS:[0],ECX POP ECX POP EDI POP ESI POP EBX MOV ESP,EBP POP EBP RETN========>выходим TEST EAX,EAX========>проверка(еах=1,проверку прошли) JE SHORT ХХХХХХХХ===>eax=1,прыжка небудет PUSH DWORD PTR [EBP+8] CALL [ХХХХХХХХ] если зайти в эту функцию и пройти по F7 то выйдим на область кода записывающий нужные адреса поверх адресоов вызывающих преславутую ошибку" Когда вы снимаете дам,программа дампер ставит всем секциям флаг со значением С0000040,поэтому программа падает.Если все секции стоят на своём месте просто исправти флаг на значение 40000040,(вторая секция по счёту),если там куча мала то просто пропатчим код заменив (NOT EAX на XOR EAX,EAX) а (AND EAX,1 на ADD EAX,1). ниже привожу маску для поиска этого кода 8B 40 24 C1 E8 1F F7 D0 83 E0 01 C7 45 FC FE FF FF FF 8B 4D F0 64 89 0D 00 00 00 00 59 5F 5E 5B 8B E5 5D C3 ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. ![]() |
|
Создано: 28 марта 2010 05:59 · Личное сообщение · #5 |
|
Создано: 28 марта 2010 10:33 · Личное сообщение · #6 EugenCr пишет: Реально непонятно зачем зоопарк изобретать, когда все так просто Да задолбал ты со своим Registry Trash Keys Finder, здесь портал по исследованию защиты,а не по запуску чистильщиков реестра, к тому же после твоего способа слетает рега у армовских(и не только) прог. Тогда уж проще удалять HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved и тогда будут снова 30мин. ![]() |
|
Создано: 28 марта 2010 17:59 · Личное сообщение · #7 Уфф, наконец-то разжевали эту тему, спасибо всем! ClockMan, чётко объяснил, спасибо! Все секции у меня вроде стояли на месте, но при исправлении атрибутов .rdata программа вообще не запускалась почему-то (ошибка при инициализации приложения). По маске код я не смог найти, (может не правильно искал), добрался по другому: поставил бряк на подключении к секции .rdata , затем Search for-> command-> MOV EAX,[EAX+24] и по Ctrl+L нашел нужный участок. Пропатчивание NOT EAX и AND EAX,1 исправило проблему. Попробовал и по-другому, где TEST EAX,EAX и затем JE SHORT ХХХХХХХХ , менял JE на JMP на следующую строку, тоже работает ( а может так неправильно?) Vovan666, отдельное спасибо за видео. Но тёмные пятна для меня всё-равно остались. Откуда взялось значение 000009AFh, которое надо прибавить к ОЕР? И ещё интересно, почему другая игра, запакованная тем-же Йодой ведёт себя в Ольке по-другому, не доходит до нулей. Это что получается, обход защиты данного протектора для разных программ будет индивидуальным, стандартного пути нет? ![]() |
|
Создано: 29 марта 2010 01:35 · Личное сообщение · #8 |
|
Создано: 29 марта 2010 09:00 · Личное сообщение · #9 |
|
Создано: 29 марта 2010 09:02 · Личное сообщение · #10 |
|
Создано: 06 апреля 2010 15:02 · Личное сообщение · #11 WriteProcessMemory мне не побороть, он борет меня пока-что ![]() Сейчас хочу спросить о другом, выше я писал : ...интересно, почему другая игра, запакованная тем-же Йодой ведёт себя в Ольке по-другому, не доходит до нулей... Ковыряя эту другую игру( Тайна Фараонов), при запуске в Оле она стопорнулась на int3, через строку выше прямой переход JMP на этот int3, а ещё выше сравнение TEST DWORD PTR DS:[EDX],1 и переход JE на другую часть кода. Если на этом JE поставить харвардный бряк, а затем поменять Z флаг, чтобы переход осуществился то мы приходим к нулям. Вопрос: на момент сравнения в памяти по адресу EDX находится значение 3F , не могу понять, откуда оно там взялось. Установка бряков в эту область памяти, чтобы поймать момент записи значения, ничего не даёт- они не срабатывают? ( На момент выполнения кода в стеке есть запись ntdll.KiFastSystemCallRet, это случаем не антиотладочная функция?) ![]() |
|
Создано: 06 апреля 2010 16:57 · Поправил: gena-m · Личное сообщение · #12 На момент выполнения кода в стеке есть запись ntdll.KiFastSystemCallRet, это случаем не антиотладочная функция? KiFastSystemCall Быстрый вызов системного сервиса через sysenter KiFastSystemCallRet Адрес команды возврата(ret) из KiFastSystemCall Это функции из механизма обработки исключений, а этот механизм может применятся для борьбы с отладчиками, но это совершенно не значит что он применяется только для этого, поскольку обработчики исключений почти всегда сопровождают работу процедур, а так же применяются для других задач. ----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше ![]() |
|
Создано: 06 апреля 2010 17:22 · Личное сообщение · #13 DoctorZLO пишет: не могу понять, откуда оно там взялось Во время этой расшифровки Code:
![]() |
|
Создано: 14 мая 2010 14:01 · Личное сообщение · #14 |
|
Создано: 14 мая 2010 14:49 · Личное сообщение · #15 |
<< . 1 . 2 . |
![]() |
eXeL@B —› Вопросы новичков —› Помогите со взломом триала игр от Turbogames.ru |