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

Поломаем PlayStation 3?


Рекомендуемые сообщения

В общем купил консольку, охота игры поломать) А как? Если поискать в инете есть взломанные игры, например вот http://www.ps3hax.net/showthread.php?t=31703 - подменяем EBOOT.bin и якобы должны стать бессмертным (не проверял пока). Вопрос - а как ломали?! У даркбайта поднимался подобный вопрос, там всё упёрлось в зашифрованные сэйвы. В общем кто что знает, пишите, будем разбираться)

UPD

Инфа к размышлению http://www.ps3devwiki.com/index.php?title=Main_Page

Ссылка на комментарий
Поделиться на другие сайты

Какая у тебя версия прошивки? У меня 3.41 взломанный,лень менять.

3.55 kmeaw только я не понял причём здесь прошивка? Понятно что нужна кастомная, иначе как eboot на блурее подменить, никак. На 3.41 ломанной тоже можно попытаться поломать.

Ссылка на комментарий
Поделиться на другие сайты

[Тут] посмотри.

Там все темы про читинг пустые =) только region free, но это что-то вроде NoDVD или вроде того. В общем я тут накачал плагинов для IDA, научился превращать закриптованный EBOOT.BIN в простой ELF-файл и загонять его в IDA, а что дальше делать совершенно непонятно =)

Ссылка на комментарий
Поделиться на другие сайты

ELF - объектный формат линукса, насколько мне известно. Думаю, копаться в файлах этого формата, и отлаживать их удобнее будет, собственно, из-под линукса )

Ссылка на комментарий
Поделиться на другие сайты

Ну и если кто просто ищет читы, а не стремится сделать их сам, вот неплохая коллекция: http://www.ps3iso.com/cheats-mods/54166-cheats-pkg-collection-add-sengoku.html

Радует наличие в списке бессмертия для RDR и FF, но какого ж они Uncharted стороной обошли...

Насколько я понял автор читов защитил свои EBOOT.bin хренью под названием NP-DRM и штатными утилитами превратить их в ELF не вышло :(

Ссылка на комментарий
Поделиться на другие сайты

Ок, те тренера выполняли функцию загрузчика оригинального EBOOT.BIN игры. Читы бывают двух типов - один содержит в себе чит и грузит оригинальый файл игры (удобно), другой полностью подменяет файл игры, а значит оригинал надо бэкапить чтобы чит отменить. Первый тип удобнее, но с ним гемора больше немного (я не до конца понял как их делать). Второй проще сделать.

Теперь о самих читах, как их всё-таки делать? Нашёл любопытную статейку: http://www.codemasters-project.net/vb/showthread.php?14571-Want-To-Know-How-To-Find-Codes-This-Might-Help-You.

Кому лень читать, смысл в том, что читы ищут вслепую) Автор статьи советует начать с поиска условных прыжков (ble, bge, blt, bgt) и побаловаться с ними. Изменить код, модифицировать eboot.bin игры, посмотреть на результат) В общем я сам пока не дочитал, много сильно писанины. Описывается куча читов в игре Disgaea 3. Я пока только про Dead Space 2 прочитал, там чит на бекс. аптечки нашли благодаря везению и чужому читу на деньги - соседние инструкции отвечали за аптечки :)

В общем для себя я сделал пока один вывод - ломать в играх нужно именно EBOOT.BIN и в другие папки не лезть) Теперь нужно изучать ассемблер PowerPC и думать дальше)

Ссылка на комментарий
Поделиться на другие сайты

Спешу поделиться радостной новостью - только что своими руками замутил бессмертие в игре Infamous :) Причём в моём исполнении меня даже взрывами не опрокидывает, в отличие от имеющихся в инете двух видов бессмертий (с покраснением экрана и без). Осталось убрать неприятный побочный эффект от бессмертия - куда-то делись все маркеры на глобальной карте включая маркер игрока :( Потом попробую завесить электричество и сварганю туториал по взлому этой игры для интересующихся)

Всё таки статья в предыдущем моём посте оказалась полезной) как и советовал автор поста, ломал игру поиском единичек 0x3F80

Ссылка на комментарий
Поделиться на другие сайты

  • 11 месяцев спустя...

Теперь стало возможно ломать игры в реальном времени с помощью отладчика ProDG, но чтобы он заработал нужно конвертнуть консоль в DEX (заменить прошифку и BIOS). Я это всё сделал, но отладчик упорно не видит процесс с игрой. С этой проблемой столкнулась куча народа и никто не может внятно объяснить как её фиксить. Может кто разберётся и найдёт фикс)

Минусы данного метода:

1) Мало кому захочется возиться с конвертацией консоли в DEX

2) Непонятная проблема с процессом игры в отладчике

3) Непонятно как искать данные в окне дампа памяти

Предполагается сохранение дампа с разным числом взламываемого параметра и их сравнение. Всё ещё не хватает Cheat Engine для PS3 :)

Плюсы:

1) Взлом в реальном времени прямо во время игры (если знать адреса)

2) Возможность ставить бряки на доступ к адресам памяти (неподтверждено, но вроде можно)

Ссылка на форум где идёт общение с авторами метода (так они и не ответили внятно на пробоему с процессами). Нужна регистрация на форуме чтобы читать тему.

Вот ссылка на перевод статьи

Ссылка на комментарий
Поделиться на другие сайты

  • 5 месяцев спустя...

И вот вышла неплохая игра на ps3 Last of us. Пытаюсь конвертнуть Eboot.bin в ELF, ругается на ключи(( перерыл весь инет, ничего не нашёл.. а между тем для этой игры уже есть читы...

Ссылка на комментарий
Поделиться на другие сайты

  • 3 месяца спустя...

Ух ты, а вот и первый тренер (первый найденный мною, не знаю есть ли подобные) для PS3!

27160063333822291574.png

Только что проверил - Infinite Special Ability и Infinite Ammo работают, GodMode я сделал сам, галка бессмертие не отключает :( На включение лень проверять. Деньги не работают :( Но по крайней мере две галки работают, удобно. Можно телепорт попробовать замутить, только хз как такую форму делать и к PS3 аттачить.

Ссылка на комментарий
Поделиться на другие сайты

только хз как такую форму делать и к PS3 аттачить.

На nextgenupdate есть тема. Там надо к Visual Studio библиотеку ps3tmapi_net.dll подключить. В ней есть и Connect, и Attach, а также GetMemory и SetMemory.

Вот эта тема, посмотри, там вроде все расписано и для C#, и для С++, и для VB.Net.

А как GodeMode сделал, там инструкция разве не отвечает еще за жизнь врагов?

Ссылка на комментарий
Поделиться на другие сайты

GodMode я взял готовый, сам ничего не делал. Сам только находил адрес патронов, но чит на патроны тоже не получилось сделать, маловато опыта в ассемблере PowerPC. Получилась только перезарядка после каждого выстрела, но это глупо)

Ссылка на комментарий
Поделиться на другие сайты

Да GTA 5, как и GTA 4 очень сложные по взлому. Эти игры я называю "Игра нескольких инструкций", когда всего десяток инструкций отвечает за параметры игры.

Инструкция отвечающая за здоровье игрока, отвечает еще за здоровье врагов, а также за исправность машин.

Инструкция отнимающая деньги, отвечает еще за целую кучу параметров и если я сделаю ноп на этой инструкции, то игра просто зависнет.

Вот и приходится лопатить значения регистров для сравнения, но это в моем случае.

В данной же ситуации, в RTE скорее всего для денег и для GodMode сделали поиск в памяти значения по типу aobscan, для способностей простой ноп.

С патронами ситуация другая, в игре три значения патронов: общее количество, магазин и всего равное общее + магазин.

Всего патронов - целое 4 байта, а общее и магазин 2 байта. Общее и магазин находятся рядом в памяти: общее(адрес + 0х50), магазин(адрес + 0х52).

Я поставил бряк на магазин и получил такую инструкцию: sth r9,52h(r3), взял еще 3 инструкции выше этой инструкции и заменил на свое:

A1430050 lhz r10,50h(r3) заменил на 396003E7 li r11,999

7D695B78 mr r9,r11 заменил на 39200063 li r9,99

7D4B0734 extsh r11,r10 заменил на B1630050 sth r11,50h(r3)

B1230052 sth r9,52h(r3) оставил как есть, только так все работает.

Пробовал ставить ноп на инструкцию работающею со Всего патронов, но она еще и добавляет патроны и если поднимаешь оружие или патроны, то у нас всегда ноль.

Ссылка на комментарий
Поделиться на другие сайты

Да, с деньгами в игре действительно весело. Нашёл инструкцию, занопил. Игра зависла, но перед этим выдала ачивку, мол, я завершил все 50 уникальных прыжков)) И адрес денег судя по всему не меняется после перезапусков игры. А не подскажете значения здоровья Франклина и машин? Или они меняются в завимсимости от модели машины и прокачки персонажей? Искать неизвестное значение очень долго(

Ссылка на комментарий
Поделиться на другие сайты

Здоровье Франклина в самом начале игры 200 Float, искать лучше быстро бегая возле дома, когда кончается выносливость уменьшается здоровье, а дома на кухне аптечка, которая апгрейдится. Так диапазоном можно быстро найти.

У машин здоровье разное выскакивало и 500, и 900, когда найдете инструкцию на здоровье игрока, поставьте на нее бряк и выстрелите в машину, должен сработать, и узнаете здоровье машины.

Только как в вашей ситуации как отсеивать кому наносят урон?

Ссылка на комментарий
Поделиться на другие сайты

Ищу координаты игрока. Вроде бы нашёл, но телепортируется только маркер игрока на карте и камера, но при движении игрок возвращается в исходную точку :( Возможно это координаты камеры.. адрес: [[pPlayer+0xB0]+0x30] - координата X

Ссылка на комментарий
Поделиться на другие сайты

Это может и не камера, а не тот адрес. В этот адрес пишется значение, когда игрок уже изменил положение.

Настоящий адрес не изменяет положения игрока пока не изменишь его в игре. Я нашел этот адрес, поставил значение Х слишком большим, сдвинул игрока джоем, а там оказалась меньшая высота и я рухнул и разбился. :-D

Можно найти нужный адрес поставив бряк на тот который вы нашли, выскочит инструкция такого типа stvx128 vr62,r0,r10 - эта инструкция работает с векторами, т.е. пишет сразу все 3 координаты начиная с адреса находящегося в регистре r10. А вы посмотрите выше с какого адреса пишется значение в регистр vr62, например вот такую инструкцию (точно сейчас не помню какой там был регистр r6 или нет, но суть не в этом): lvx128 vr62,r0,r6 - эта инструкция пишет в регистр vr62 координаты начиная с адреса из регистра r6 (у вас может быть другой регистр), вот это и будет настоящий адрес.

Ссылка на комментарий
Поделиться на другие сайты

На nextgenupdate есть тема. Там надо к Visual Studio библиотеку ps3tmapi_net.dll подключить. В ней есть и Connect, и Attach, а также GetMemory и SetMemory.

Вот эта тема, посмотри, там вроде все расписано и для C#, и для С++, и для VB.Net.

А как GodeMode сделал, там инструкция разве не отвечает еще за жизнь врагов?

Там была ссылка на некую либу PS3Lib - никто её не качал? У меня сайт http://ps3lib.codeplex.com/ дальше заголовка не прогружается((

Координаты нашлись, и у игрока и у тачки, спасибо)

В общем скачал я ту либу и сделал предварительную версию тренера - всё работает.

3354094.jpg

Исходники не жалко, прикрепил. Только я IP адрес своей консоли жёстко задал в исходниках, это надо фиксить в первую очередь. Тренер подключается к консоли при запуске, лишнюю кнопку коонетка и аттача к процессу игры убрал нафиг. Ну и ещё раз напомню что тренер работает только на DEX консолях :(

Tutorial PS3Lib.rar

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

Настоящий адрес не изменяет положения игрока пока не изменишь его в игре. Я нашел этот адрес, поставил значение Х слишком большим, сдвинул игрока джоем, а там оказалась меньшая высота и я рухнул и разбился. :-D

Реализовал телепорт к маркеру на карте. У маркера высота всегда равна 1.0, но телепорт вроде работает - падаю сквозь текстуры и потом оказываюсь на земле, игрок выживает. Сейчас думаю как обойти ограничение с невозможностью изменить координаты в движении. Если машина едет или игрок идёт телепорт не работает :( надо обязательно остановиться, только тогда координаты меняются.

Ссылка на комментарий
Поделиться на другие сайты

Могу предположить, что пока игрок находится в движении, координаты отрабатываются отдельной функцией, и они держатся в регистрах или в стеке (не знаю, как там у консолей). А вот когда стоит - тогда работа идет именно с памятью. Возможно, поэтому и не получается реализовать телепорт в движении - координаты из памяти просто не читаются в это время.

Ссылка на комментарий
Поделиться на другие сайты

Я в шоке насколько продвинулись во взломе игр PS3. aliast получает плюс.

И собственно вопрос по теме: а почему бы не поставить бряк на доступ по адресу любой из координат, а после этого начать движение, я более чем уверен, что как только движение начнётся, что-то да обратится к адресу любой из координат.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Всё-таки маловато опыта в ассемблере ppc. Инструкцию нашёл, а толку то. Вроде бы бряк работает даже когда стою, не двигаюсь. Но что мешает телепорту в движении непонятно, не припоминаю таких проблем в PC-играх... похоже что-то перепроверяет валидность значений, но почему тогда телепорт работает в состоянии покоя не могу понять, возможно дело действительно в разных функциях и стеке.

Кое-что нарыл.. Поставил бряк на доступ к координате X. Начал изучать стек при бряке. На одной из инструкций (только на одной!) перейдя по адресу из регистра r1 (r1 это регистр ESP по нашему) увидел интересные координаты. Попробовал изменить их значения, убрал бряк и... телепортнулся в движении! Координаты были похожи на координаты тачки, но не равны им! Другими словами нужно было искать другие адреса координат.

Нашёлся рабочий адрес координат НЕ в стеке, всё работает. Но пока не получилось найти цепочку указателей. Цепочка нашлась, но она обнуляется когда игрок стоит, работает только в движении. Скорее всего есть другая цепочка. Пока реализовал оба телепорта - когда игрок стоит работают одни адреса координат, в движении другие. Работает по дурацки. Из воды вроде нормально всё работает (ранбше не работало в воде), а вот при пешей прогулке телепортит не пойми куда(( С машиной в движении пока не проверял.

Кому интересно вот цепочка к XCoord (версия игры 1.0 без патчей):

[[[pPlayer + 0x2C] + 0x38] + 0x50] = XCoord

где [[pPlayer + 0x2C] + 0x38] = 0 когда игрок стоит на месте(((

0x00C2BAE0 7C4518CE lvx v2,r5,r3 инструкция работающая с этим XCoord

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

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

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