Перейти к содержанию

krocki

Разработчики
  • Постов

    743
  • Зарегистрирован

  • Посещение

  • Победитель дней

    110

Весь контент krocki

  1. Взломал я эту игру Hudson's Adventure Island! Читы я вшил в игру на: Бессмертие. Вечные жизни. Вечное время. Не терять время при ударе об булыжник. Не терять оружие. Начать игру с максимальным оружием и скейтбордом. Начать игру с 9-жизнями. Ангел улетает, но эффект остаётся. Скачать взломанную игру Hudson's Adventure Island. Если кому надо, я так-же русифицировал эмулятор FCEUX v2.2.2. Скачать эмулятор FCEUX-RU.
  2. Бл......Это же марио китайский! Помню его на приставке денди - макинтош ещё играл. Ностальгия! Так я её и не прошёл, где то завис на каком то уровне.
  3. Адрес хоть правильный нашёл? Пробовал изменить его значение на 2 + заморозить и перезапустить игру...
  4. Может как то так! DIV Без знаковое деление • если делитель размером в байт, то делимое должно быть расположено в регистре ax. После операции частное помещается в al, а остаток — в ah; • если делитель размером в слово, то делимое должно быть расположено в паре регистров dx:ax, причем младшая часть делимого находится в ax. После операции частное помещается в ax, а остаток — в dx; • если делитель размером в двойное слово, то делимое должно быть расположено в паре регистров edx:eax, причем младшая часть делимого находится в eax. После операции частное помещается в eax, а остаток — в edx. mov ax,10234 mov bl,154 div bl ;ah=остаток, al=частное
  5. В общем я решил по настроению сделать пошаговую инструкцию для новичков по взлому игр Dendy, NES и Nintendo. И так приступим... 1: Скачиваем с интернета эмулятор FCEUX v2.2.22: Запускаем эмулятор и открываем с помощью него игру, например - Contra (U) [!].nes.3: Начинаем играть в игру и видим две жизни у нашего героя.4: В меню эмуляторе нажимаем на Tools > Cheats, появится окно поиска адресов.5: В этом окне жмём на кнопку Reset, справа появится адреса и их значения.6: Далее вводим значение 02 где 0x 00 и жмём на кнопку Known Value.7: Переходим обратно в игру и теряем одну жизнь и опять переходим в окно Cheats Search.8: Вводим значение 01, где 0x 02 и жмём опять на кнопку Known Value.8: Так проделываем пока не будет один адрес: 0032 это и есть адрес наших жизней.9: Далее в меню эмулятора нажмите на Debug > Degugger появится большое окно отладчика.10: Справа с верху есть три кнопки две из-них не активны и одна кнопка с названием Add нажмите на неё.11: Появится окно Add BreakPoint, вводим в поле где адрес, наш адрес жизней 0032 - 0032 и ставим галочку где Write и жмём ОК.12: Переходим обратно в игру и теряем ещё одну жизнь, сразу должен сработать бряк в отладчике и он покажет в самом верху слева нашу инструкцию уменьшения жизней 07:DA03:D6 32 DEC $32,X @ $0032 = #$0213: Подводим к этой инструкции курсор мышки, в самом низу отладчика будет отображаться информация.Информация: CPU Address 07:DA03, Offset 0x01DA13 in file "Contra (U) [!].nes" (NL file: 7)14: Далее в меню эмулятора нажмите на Debug > Game Genie Decoder/Encoder появится окно создания кодов.15: Вводим в поле Address - DA03, в поле Compare вводим значение в НЕХ'е D6, а где Value вводим значение НЕХ'е 60, справа верху появится наш Game Genie код ATEIUZVI. Вот мы и сделали свой Game Genie код на вечные жизни. Пояснение:DA03 - Это адрес где сработал наш бряк на уменьшение жизней.D6 - Это первый байт нашей инструкции (07:DA03:D6 32 DEC $32,X @ $0032 = #$02).60 - Это байт инструкции RTS, которая затирает наш оригинальный байт D6, что бы жизни в игре не уменьшались. Как вшить этот чит-код в игру на вечные жизни, что бы больше не париться для его ввода? 1: Скачиваем с интернета программу WinHEX желательно русскую, не забудьте ввести ключ продукта для активации, а лучше скачивайте крякнутую или портейбл версию, ну или любой другой НЕХ-Редактор.2: Запускаем программу WinHEX и перетаскиваем в неё туда файл игры Contra (U) [!].nes.3: Появится много чисел и букв, это называется НЕХ-Кодами.4: Далее в меню программы жмём Навигация > Перейти к смещению, появится окно.5: Вводим в поле наше смещение 01DA13 и жмём ОК (Это смещение выдал наш отладчик в информации или где мы создавали Game Genie код, там он тоже отображался пока игра была запущена).6: И мы сразу перейдём на наше смещение и увидим знакомый нам код инструкции D6 32.7: Заменяем D6 на 60 и жмём в программе WinHEX сохранить, то есть жмём на дискетку с изображением верхнем в левом углу программы.Вот и всё, закрываем программу WinHEX, запускаем эмулятор с игрой и наслаждаемся.
  6. А на эту игру чит-коды на бессмертие есть? А то можно было найти инструкцию активации чит-кода и больше не мучиться.
  7. Может такое случилось после установки патчей в игру. А также желаю удачного взлома этой игры.
  8. А ну теперь понятно! А то у меня винда 32 битная стоит.
  9. Это что-то новое! Какой то новый регистр rbx, я такое в первые вижу, и он чё реально работает?
  10. Для меня хобби копаться в HEX-Коде.

  11. С таким я один раз сталкивался, всё дело в приоритетах. Дело в том что при подключении отладчика к адресу неважно на чтение или запись, очень много инструкций работают с твоим адресом и приоритет нагрузки идёт на отладчик и по этому игрушка CRASH'ся. У вы что-то сделать с этим не получится. В общем ищи альтернативную инструкцию которая может работать, путём анализа.
  12. Вот скрипт на мгновенную постройку для версии игры 1.12 [ENABLE]RA3_1.12.GAME+30F42E:jmp RA3_1.12.GAME+8D6D60RA3_1.12.GAME+8D6D60:mov dword ptr [esi+1C],42C80000cvttss2si eax,[esi+1C]jmp RA3_1.12.GAME+30F433[DISABLE]RA3_1.12.GAME+30F42E:cvttss2si eax,[esi+1C]
  13. Я знаю только 3 способа сделать фильтр. 1-й это найти указатель (Но в стратежках не актуален он или они, поскольку там много юнитов, только если ты хорошо знаешь ASM). 2-й это дата структуры. (Очень хорошо подходит для стратег, поскольку там работают с многими данными). 3-й это сравнение регистров. (Желательно использовать в стрелялках и гонках где только одна единица юнита). Это крайняя мера, если 1 и 2 вариант не помогает. Все игры разные, пробуй все способы. Поскольку у тебя стратежка где много чего, поэтому способ №2 будет более актуален. Просто делай побольше фильтров, если с одним фильтром перестаёт работать. Бывает так что приходиться проходить игру и ломать походу прохождения, поскольку не знаешь будет ли скрипт - работать после перехода на следующий уровень. В общем удачного тебе хака этой игрушки.
  14. Baracuda Походу жизни в игре хранятся в как ком то модуле, а не в exe'ке, причём модуль этот запакован в каком то файле архива игры. По этому Cheat Engine не может определить модуль, и автоматом выдаёт виртуальный адрес тебе. Такое я в первые встретил в игре Quake 3 Arena, там такая же фигня, модуль жизней в архиве запакован. Единственное что ты можешь сделать: Это распаковать полностью архив где находиться модуль, какой ни будь спец. прогой. Ну и попробовать запустить игру извлечёнными файлами, а сам архив игры удалить или переместить в другую любую папку. P.S - Обычно так делают моды для игр, извлекают файлы из архивов игры и редактируют, потом обратно запаковывают.
  15. Да вроде как то так: mov(cmp) регистр,[Rangers+12345678]mov(cmp), регистр,[регистр+38]mov(cmp), регистр,[регистр+4]mov(cmp), регистр,[регистр+0]mov(cmp) [регистр+F0],значение MOV - Вшить. CMP- Сравнить. Как говорится смотря что хочешь сделать. Варианты разные есть.
  16. Помню на одну игрушку 5 фильтров (Указателей) вешал на одну инструкцию. Так что можно. И не только можно использовать структуру для фильтра.............Можно использовать регистры + части адресов как фильтры. Где то здесь на форуме я уже писал об этом одному чуваку, поищи найдёшь.
  17. Это вопрос логики. Тогда используй сразу 2-3 фильтра сравнения структур.
  18. LIRWНу если есть такая инструкция которая работает только стобой, конечно лучше её использовать и ненужны не какие фильтры. Тупо записываешь значение в инструкцию и всё. Интересно! А на броню и патроны тоже такое есть. RamilА твой скрипт работает как хорошая заморозка для указателя, а сама инструкция ни-чё не даёт. Так что используй скрипт как у LIRW
  19. Ramil Ты просто используешь указатели или используешь их в скрипте как фильтр? Если используешь просто указатели, то нужно выставлять максимальное значение и заморозку в 1-секунду. А можно использовать указатели в скрипте типо так: Образец: [ENABLE]Alloc(newmem,32)Label(returnhere) newmem:mov edx,[edi+6C]mov [esi],edx[[[[[BF2.EXE+623DC0]+DC]+4]+3C]+10],3B9AC9FFjmp returnhere BF2.EXE+D58E28:jmp newmemreturnhere: [DISABLE]Dealloc(newmem)BF2.EXE+D58E28:mov edx,[edi+6C]mov [esi],edx Поставь на адрес жизней бряк на запись, потрать немного жизней, получишь инструкцию вычитания жизней, переходишь в отладчик, делаешь авто-скрипт на эту инструкцию, вставь по образцу свой указатель со значением в скрипт, вроде всё.
  20. Прикольно! Если чё загружай таблицы скриптов на официальном сайте CHEAT ENGINE \ TABLES.
  21. Да я вроде сверху понятно объяснил как да-чё. Это типо как найти правильный адрес, а там тебе надо найти место адреса, правильное смещение + значение, вот и всё, ничего сложного. Ну а насчёт образца от lamalamaz, как я понял это не стратежка же, походу дела там одна персона, поэтому придётся скрипт + фильтр писать по другому, хотя может и сработает, в жизни всякое бывает. Так же можешь использовать фильтр, как кусок адрес - регистра какого ни будь, если часть куска статична и работает только с тобой и на всех твоих юнитов. Образец: ------------------------------------------- Дополнительная информация 12345678 - test eax,eax 12345678 - mov [ebx,edx] 12345678 - mov [esi+16A8],eax 12345678 - mov [esi+16AC],eax 12345678 - push ebx copy memory Вероятное значение указателя: 00351028 EAX=000000FF EDX=00000012 EBP=FFFFFFFA EBX=45856F10 ESI=00351028 ESP=0088914A ECX=FF88AA21 EDI=006DD720 EIP=12345678 Выше приведены знач. регистров после выполнения инструкции -------------------------------------------------------------------------------------- Берём только SI, и часть адреса 1028, ну с остальными так же можно. Только не используй IP (EBP), это смещение к нашему (общему) коду. И прописываем в скрипте. Типо так: [ENABLE] Alloc(newmem,128)Label(returnhere)Label(originalcode)Label(сode) newmem:cmp si,1028 // 1028 - Кусок адреса. je code jmp originalcode: code: mov word ptr [esi+B8],270F // Добавляем всём своим 9999-жизней. jmp returnhere // Можно попробовать и без неё, если не сработает скрипт. В большинстве случаев она ненужна. originalcode:comiss xmm0,[esi+B8]jmp returnhere GAME.EXE+12345678:jmp newmemnop // ХЗ не знаю сколько байт занимает эта инструкция comiss xmm0,[esi+B8], тебе видней.nopreturnhere: [DISABLE]Dealloc(newmem)GAME.EXE+12345678:comiss xmm0,[esi+B8] А с указателями запаришься делать фильтр сразу тебе скажу, по этому либо регистры, либо анализ данных.В общем учись и читай здесь на форуме статейки их здесь полно. Кстати гляжу у меня после этого репутация ЛАМЕР появилась...........АААААА!!!!!! ну афигеть блин.Ненавижу ламеров, хоть убейся. Хотя бы юзер.
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.