ArtemisPS3 - телепортер читов для Playstation 3
Приложение для запуска игр с чит-кодами, такими, как бесконечные жизни, здоровье, боеприпасы и т.д! Artemis.png
ВАЖНО!
Любое вмешательство в программный код игры вы делаете на свой страх и риск!
Будьте готовы к тому, что из-за запуска некорректного стороннего кода, игра и консоль может зависнуть!
Алгоритм работы всех взломщиков кодов для PlayStation 1, PlayStation 2, PlayStation 3 не отличается от этого приложения.
Желательно запускать проверенные значения, проверенные коды, соответствующие версии игры и версии обновлений, для которых были указаны чит-коды.
Чит-коды - это указатель адреса смещения в памяти запущенной игры и подмена по этому адресу значения кода.
Имейте в виду, что, если игра была обновлена на версию, для которой значения чит-кодов не предназначены, то в другой версии будут подменяться значения совершенно не по тому адресу, отвечающему в чите за определённое действие.
Если Ваша игра не соответствует коду диска, не соответствует номеру обновления, то в лучшем случае, запущенный код не будет иметь эффекта, в худшем - консоль может зависнуть.
ВНИМАНИЕ!
ПОСЛЕ ИГРЫ С КОДАМИ, ВАЖНО ПОЛНОСТЬЮ ВЫКЛЮЧАТЬ КОНСОЛЬ! Долго держать кнопку на джойстике и выбрать ОТКЛЮЧИТЬ СИСТЕМУ!
НЕ РЕКОМЕНДУЕТСЯ ВЫХОДИТЬ ИЗ ИГРЫ В МЕНЮ XMB, ЗАКРЫВАТЬ ИГРУ С ЗАПУЩЕННЫМИ КОДАМИ
Консоль может зависнуть и потребуется принудительное отключение питания или отключение провода.
А при последующем включении консоли будет произведена проверка и восстановление файловой системы.
Если игра зависает после активации кода, внимательно проверьте все параметры, соответствует ли версия игры, соответствует ли обновление, бывает и что код не рабочий, что тоже возможно, так как база существующих кодов значений универсальна, используется и PS3usercheat Code Unique, NetCheat PS3, с незначительными изменениями в написании строк кода, в таком случае пользуйтесь конвертером кодов.
Система взлома Playstation 3 с открытым исходным кодом, созданная в рамках инициативы Project Artemis
Ваша PS3 должна работать с CFW 3,55 или выше (поддерживаются DEX и CEX)!
На вкладке Коды создайте новый код и назовите его как хотите
В текстовом поле введите любые коды NetCheat PS3 (или используйте список кодов, щелкнув квадрат в левом нижнем углу)
Наконец нажмите Save All и укажите место сохранения для нового *.ncl
Создание расширенных списков читов (.ncl)
Новым в Artemis PS3 является возможность добавлять теги опций. Эти теги позволяют указать параметры для кода, который имеет несколько эффектов для одного адреса. Использование тегов вместо нескольких кодов сокращает общий список читов. Формат тега option очень специфичен и должен использоваться точно так, как описано:
Тег начинается с квадратных скобок, которые окружают идентификатор ([Z]).
Этот идентификатор должен быть коллекцией заглавных Z.
Например, тег, такой как [ZZZZ], имеет идентификатор ZZZZ. [zz] не является действительным идентификатором.
После открывающего тега находятся элементы или параметры.
Каждый элемент начинается со значения, которое представляет опция, знака равенства = и имени опции.
Элементы разделяются точкой с запятой ;.
Тег опции будет выглядеть примерно так: [ZZ] 0010 = Это 0x10; 0020 = Это 0x20
Но теперь мы должны закончить тег. Чтобы завершить тег опции, вы просто добавляете косую черту / перед идентификатором и окружаете что в скобках ([/Z]).
Наконец, чтобы фактически реализовать это как значение для кода, просто поместите идентификатор тега в любом месте кода, который вы хотите.
Например, в Jak 1 есть 4 различных типа эко-состояний, в которых вы можете находиться. Красный, синий, зеленый и желтый.
Каждый использует одну и ту же строку. Таким образом, соответствующий код, использующий теги параметров:
0 201FEE08 ZZ
0 201FEE18 FFFFFF7F
0 201FEE0C 00000040
[ZZ]01=Yellow;02=Red;03=Blue;04=Green[/ZZ]
Вшиваем читы Артемиса напрямую в EBOOT.BIN
Декриптуем конечно EBOOT.BIN в EBOOT.elf.
В читах для Артемиса, есть вот такого типа секции читов:
На первой позиции, после нуля, например первая строка 00173474 - это адрес чита. Следом идёт его значение - 38602710
В декриптованном EBOOT.elf адресация смещена назад ровно на 0x10000 шестнадцатеричных байт или 65536 десятичных байт.
От адреса 00173474 отнимаем 10000 получаем позицию в ELF - 00163474.
На этой позиции меняем байты на новое значение: 38602710
Так же, в читах для Артемиса встречаются такие строчки, начинающиеся не на 0, а на B
AoB Max + Infinite Ammo
0
tekman
B 00010000 04000000
B 54E7001E54A5043E386000017CE6412E808400807CE4302E 54E7001E54A5043E3980000091840008808400807CE4302E
Тут идёт поиск и замена байтовой последовательности
Ищем первое значение в файле EBOOT.elf: 54E7001E54A5043E386000017CE6412E808400807CE4302E
Меняем это значение на второе значение: 54E7001E54A5043E3980000091840008808400807CE4302E
EBOOT.elf потом конечно подписываем в EBOOT.BIN.
Вот и вся инструкция.
Если в папке ArtemisPS3-r5\ArtemisPS3-GUI\pkgfiles\USRDIR\USERLIST отсутствуют читы для вашей версии игры или региона, либо ваш EBOOT.BIN обновился на более новую версию, а читы у Артемиса устаревшие для старой версии игры, тогда ищем то старое обновление, под которое писались читы, декриптуем EBOOT.BIN, находим позицию.
Смотрим окружение вокруг позиции чита, и находим то же самое окружение в новом файле обновления или региона игры.
Таким образом легко портировать читы от любой версии и региона в другую.
Если вы не знаете как декриптовать EBOOT.BIN и обратно зашифровать, тогда читы писались значит не для вас, проходите мимо!
CodeUnique.png Формат читов CodeUnique 2.3 поддерживает утилита от Aldostools PS3 Cheat Editor
Она поддерживает файлы читов в форматах "st.dat", ".ps3cheat" и ".txt"
Может сохранять их в таких же форматах, и даже паковать в PKG.
Подробнее читайте в файле C:\PS3\ps3tools\tools\readme_ps3cheateditor.txt
Скачать базу читов: CheatsDB.rar 950 игр (ОБНОВЛЕНО: 17.08.2015)
пробовал поиграться с читами, но как-то не удачно
гидрика 4.85, хен 2.3.2
включил хен, запустил файлзилу, достал eboot.bin (пробовал из основной папки игры и из патча, по очереди патчил), PS3Tools -> cheat & saves -> ps3 cheats editor, нашел нужную игру, нажал patch ELF -> open elf, выбрал eboot.bin -> открыть, выбрал читы -> нажал patch ELF -> apply patch to elf -> ДА -> patch ELF -> make self -> сохранить, закинул новый eboot.bin обратно в консоль, но читы не работает
chuvachok, если установлен патч, тогда одноимённые файлы игры игнорируются, а грузятся файлы из патча. Ты в игре сколько угодно EBOOT.BIN меняй, переподписывай, от этого ничего не изменится, потому что он игнорируется, а грузится вместо него более новый файл из патча.
Я ничего не могу сказать по этому методу. Так как пока метод CodeUnique 2.3 от Алдоса у нас пока только в теории. Никто пока в этой теме это дело не проверял. Мы же пользуемся безотказным прямым низкоуровненвым методом вживления читов в EBOOT.BIN (вкладка Вшиваем читы и вкладка Видеоинструкция).
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
DruchaPucha, а то я не знаю опять детский сад включаешь? Там залил только Data Base, надеюсь другие догадаются.
А про размер в 3 раза меньше я имел в виду мой архив тот же, который твой https://www72.zippyshare.com/v/QlLbKcbw/file.html
Не знаю, зачем ты так радувал архив небось долго колдовал?
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Health Never Decreases (Except From Drowning)
0
B 00010000 04000000
B ec016828fc000b6ed003 EC01682Afc000b6ed003
B 00010000 04000000
B d3f6006c 60000000
B 00010000 04000000
B effef82880 EFFEF82A80
#
9999 Diamonds Upon Gain Or Buying
0
cheats
B 00010000 04000000
B 7FC9F3787C090050 7FC9F3783800270F
#
Weapons Never Break
0
cheats
B 00010000 04000000
B FF8D6000D1AB000C FF8D600060000000
#
Weapons Never Jam
0
cheats
B 00010000 04000000
B 7C601B78901F001C 7C601B7860000000
#
Damaging Vehicles Gives Them Black Smoke
0
cheats
B 00010000 04000000
B D0090074419C000C D00900744800000C
#
Loaded Ammo Does Not Decrease
0
cheats
B 00010000 04000000
B 7C8307B491690020 7C8307B460000000
#
Grenades + Molotovs Do Not Decrease
0
cheats
B 00010000 04000000
B 4C9E0020912B007C 4C9E002060000000
#
Всем здрям, и так как у меня CWF прошивка, я для взлома использую программу NetCheat, так вот для того что бы найти нужные коды занимает очень мало времени, но в NetCheat практически все коды находятся именно в памяти, а не в исполняемом файле,
к примеру, при сканировании игры NetCheat выдает блоки памяти,
00010000 02D90000 это исполнительный блок памяти
10000000 40000000 это виртуальная память
и так да пустим мы нашли код по адресу 13507750 вирт. память., так скажем бессмертие, то его в EBOOT- ELF не встроить у них просто даже нет таких смещений, но есть про дебюгер который отслеживает в реальном времени процесс игры, там есть вкладачка, в нее можно вставить данный адрес 13507750, снимаем игру с паузы и ждем когда нас например ударят, после удара игра автоматом встаёт на паузу, а в асамблере желтая стрелка покажет адрес исполняемого чита, так вот просто так его нельзя изменить, тут суть идет в том, что он часть кода процесса, и там нужно понимать асамблирование,
к примеру адрес-код начало кода отвечающего за бессмертие
00222084-45454545 r0 r0 0x1 r29
а вот сам тот самый адрес код на который ссылается NetCheat 13507750
00222088-60000000 r0 r0 (r3)
как бы вы не пытались сменить данный код игра будет зависать, потому что r0=10 то есть 1 десяток, если знать асамблирование, то тут надо складывать что бы получить нужный нам код, и и внести изменения, и тут нужна математика и не 11 класса, это только пример, я не помню точных данных, но я к чему это все, я знаю тут есть человек который шарит в асамблирование, ErikPshat, , я знаю что он прочтет и поможет, как сделать так что бы к примеру вот на этот адрес 00222088-60000000 r0 r0 (r3) поступал новый код и игра не зависала.
Вот тут есть пример как это делать, но у меня не получилось
По заявке товарища Sear Biss рассмотрим создание чита для игры Call of Duty 3 [BLES00016]. Сегодня мы будем делать чит посложнее. Полезем в инструкции игры.
И так, проверяем, что для нашей игры нет обновления, и модифицируем EBOOT.BIN, опираясь на наш опыт из предыдущих сообщений. Запустив игру и поиграв минут 5, мы попадаем в игре под обстрел. Я забрал у мёртвого немца его автомат MP40 и решил сделать бесконечные патроны в его рожке (магазине). После нескольких попыток найти значение патронов магазина в памяти приставки, оказалось, что они хранятся в диапазоне 10000000 - 10B80000. А именно 10160B68. Если заморозить значение 00000015 в этом адресе памяти, то патроны в рожке никогда не заканчиваются и не требуется перезарядка. Давайте найдём инструкцию (команду) в машинном коде исполняемого файла EBOOT.BIN, уменьшающую патроны в магазине при стрельбе, чтобы её модифицировать. Для этих целей незаменима программа-отладчик, входящая в состав ProDG, называемая ps3debugger.exe. Запускайте её всегда после запуска NetCheat PS3 и после присоединения игры к ней. Так бывает, что отладчик при запуске висит с окном скачивания какого-то файла с приставки. Причём, это окно можно увидеть, только если свернуть все окна программ Windows. Наберитесь терпения, не трогайте комп и приставку, попейте чаю. Максимум через 20 минут всё откроется.
В отладчике также нужно приконнектиться к игре. Для этого всегда в первую очередь фиксируем в нажатом состоянии кнопочку Auto Update (четвёртая справа), чтобы видеть в реальном времени все изменения в приставке. Затем открываем окно Processes. Обычно процесс уже присоединён (не активен пункт контекстного меню Attach Process). Но на всякий случай убедитесь в этом, а затем щёлкните двойным щелчком по процессу, чтобы он раскрылся. Вот как это должно выглядеть: http://www.psjailbreak.ru/uploads/fo...364process.jpg
Если же к процессу мы отладчиком подключаемся (делаем Attach Process), то игра на приставке станет на паузу, а в отладчике выскочит окошко с вопросом. Отвечаем Continue without symbols. Игру с паузы снимаем в NetCheat PS3, нажав зелёный треугольник в верхнем правом углу. Кстати, это большой плюс в подключении к приставке через Target Manager API, что всегда можно поставить игру на паузу в NetCheat PS3.
И так, к процессу подключились. Сворачиваем окошко с процессом, а открываем окна Disassembly и Registers. Даём задание программе-отладчику перехватить команду записи в найденный нами адрес памяти 10160B68. Для этого заходим в меню Debug и выбираем Hardware Breakpoints. В появившемся окошке в строке Address вводим 0x10160B68, ставим галочку on WRITE и нажимаем OK. Этими действиями мы сказали отладчику следующее: "Включи отслеживание (OK) на запись (on WRITE) шестнадцатиричного (0x) адреса (10160B68)". Вот теперь, как только мы попытаемся выстрелить из автомата, игра сама станет на паузу, а в окне Disassembly жёлтая стрелочка покажет нам адрес 002AAD34 интересующей нас инструкции. Напомню, что в данном диапазоне памяти лежит расшифрованный и распакованный EBOOT.BIN. А значит, мы по сути ковыряемся в исполняемом файле. Читы, сделанные модификацией исполняемого файла ценятся больше, т.к. многие пользователи (в том числе и пользователи ODE) могут подменить оригинальный EBOOT.BIN на модифицированный читами и играть, не используя каждый раз компьютер и дополнительные программы.
И так, инструкция найдена, и мы в первую очередь должны убедиться, что никакие другие инструкции не задействованы. Жмём F5 и видим, что игра снялась с паузы. Отключаем отслеживание, чтобы оно нам не мешало. Снова заходим в Hardware Breakpoints, оставляем в строке Address значение 0x10160B68, оставляем галочку on WRITE, но нажимаем кнопочку Disable. Этими действиями мы сказали отладчику следующее: "Отключи отслеживание (Disable) на запись (on WRITE) шестнадцатиричного (0x) адреса (10160B68)".
Давайте изучим нашу инструкцию по адресу 002AAD34. Мы видим четырёхбайтный (32-х битный) машинный код 7C07592E, который понимает и выполняет процессор приставки во время выстрела из автомата MP40. Для человека понять этот код очень сложно, т.к. принцип работы любого процессора и мозга человека очень сильно отличается. Поэтому для понимания машинных кодов существует почти универсальный язык программирования Ассемблер, показывающий человеку в понятном виде, в виде мнемоник, что делает процессор. Посмотрим на мнемоники нашей инструкции. Это stwx r0,r7,r11. Если вы, как и я, не особо знаете Power Accembler, то, подсветив мышком команду stwx, мы увидим подсказку к данной команде. В нашем случае процессор складывает значения регистров r7 и r11. а в результат, который является адресом, записывает значение, хранящееся в регистре r0. Давайте подробно рассмотрим этот момент.
Во-первых, расположите два окна Disassebly и Registers так, чтобы было видно содержимое обоих окон. Во-вторых, изучать работу инструкции нужно во время паузы игры на данной инструкции, т.е. во время выстрела. Если вы поставите на паузу игру в любой другой момент, то значения регистров могут быть самыми различными, и будет бессмысленно разбираться в команде. Поэтому щёлкните мышкой левее адреса 002AAD34, чтобы появился тёмно-красный кружок. Игра сама станет на паузу, когда будет выполняться данная инструкция, т.е. во время выстрела из MP40. В моём случае, отбросив лишние нули, r0=10, r7=101608C0, r11=2A8. И так, r7+r11=101608C0+2A8=10160B68. Здесь сформировался адрес хранения патронов в рожке MP40 и запишется туда шестнадцатиричное значение 10, т.е. 16 патронов в рожке. После выстрела значение регистра r0 будет уже 0F, т.е 15 патронов. В принципе, можно уже убить эту инструкцию, и тогда уменьшающееся значение r0 никогда не будет записано в наш адрес патронов в рожке 10160B68. А можно проследить код выше и найти команду, уменьшающую значение r0 на 1. Долго искать не пришлось. Двумя строками выше видим команду xori r0,r0, 0x1. Грубо говоря, это значит, что процессор присваивает регистру r0 значение 1. И потом на 1 будет уменьшено наше значение патронов. Можно также убить эту инструкцию, а можно модифицировать её.
Удаление инструкции. Если мы хотим избавиться от неугодной нам инструкции, мы её удаляем. Но нельзя просто заменить 7C07592E на 00000000. Процессор дойдёт до этой строки и увидит отсутствие команды в принципе, и остановится. На приставке вы получите зависшую игру. Нужно проставить команду ничего неделания nop, т.е. заменить 7C07592E на 60000000. Это можно сделать прямо из окна Disassembly, нажав правую кнопку мыши на строке, выбрать Disassembly, а затем выбрать Set address to NOP (или просто нажать Delete). В NetCheat PS3 это можно сделать кодом 0 002AAD34 60000000. Проверив игру с таким кодом, вы видим, что патроны в рожке перестали уменьшаться и для других типов оружия, т.к. данная инструкция отвечала и за другое оружие.
Модификация инструкции. Удаление инструкции не всегда приводит к ожидаемым результатам. Порой удалив инструкцию, отнимающую у твоего героя здоровье, оказывается, что здоровье перестаёт отниматься и у всех твоих врагов. Поэтому приходиться ковыряться в коде глубже и менять алгоритм работы целой процедуры. Давайте в данном примере изменим инструкцию xori r0,r0, 0x1 по адресу 002AAD2C, которая присваивает регистру r0 значение 1. Сделаем xori r0,r0, 0x0, чтобы патроны уменьшались на 0. Для этого код 68000001 меняем на 68000000. Это можно сделать в NetCheat PS3 кодом 0 002AAD2C 68000000, а можно открыть редактор памяти (Memory) в отладчике, перейти по адресу 0x002AAD2C и изменить 68000001 на 68000000. В итоге следующая процедура subf r0,r0,r8 возьмёт значение патронов в рожке из r8, уменьшит на r0, которое у нас будет равно 0, и запишет результат тот же r0. И, как вы помните, следубщая инструкция stwx r0,r7,r11 запишет в адрес памяти наше итоговое количество патронов в рожке. Вот таким вот извращённым способов в этой игре реализован учёт отстреленных патронов в магазине.
и да, 00010000 02D90000 в исполняемом файле в принципе кодов практически нет, то есть они там есть, но NetCheat, их не находит, я протестировал 7 игр и только в одной из них я нашел коды это фаер 3,
но знаю что у французов есть конвертер который, может по этому адресу 13507750 может найти точный адрес в EBOOT-ELF, и он там будет 1 и единственный, но к сожалению ссылки мертвые.
Последний раз редактировалось Serp87; 11.12.2019 в 16:30.
Serp87, а дамп памяти можно сохранить? Если можно, то нужно сделать следующее. Открыть дамп памяти в хекс-редакторе, найти нужное смещение, после этого в исполнительном файле найти похожий блок данных, естественно в дампе не должно быть что-то изменено.
Пример PS1 взлома.
Serp87, а в RPCS3 вроде же дебаггер есть, просто я вижу его на последнем скрине. Думаю там можно снимать прямо на компе дампы памяти в игре. Просто просчитать смещение позиций. Там вроде бы 0x4000 комповое смещение должно быть.
Я просто когда-то пробовал его установить на свой нетбук, но он жаловался на отсутствие какой-то видеокарты GeForce NVidia что ли.
Помнится на PSP мы на компе просчитывали смещения через JPCSP. Так там дебаггер вполне адекватный есть:
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Ну тогда вполне может прокатить. Странно конечно то что netCheat ищет данные таким образом, во всех играх параметры характеристик всегда находятся в исполнительном файле (не важно какая это платформа), другое дело это динамические адреса, которые меняются после нового запуска, но там указатель нужно искать.