Разработка и ромхакинг > Ромхакинг и программирование
Хакинг игры crash team racing для psx
<< < (2/3) > >>
HoRRoR:

--- Цитата ---Это инициализированная переменная. Как например звук = 30.
--- Конец цитаты ---
Ой умник, умник. Звук - переменная в памяти, 30 - константа в файле (которая, в прочем, тоже грузится или отображается в память, которая по-хорошему должна быть read-only).
Mr2:

--- Цитата: HoRRoR от 05 Сентябрь 2011, 09:33:52 ---Ой умник, умник.

--- Конец цитаты ---
:-\

--- Цитата: HoRRoR от 05 Сентябрь 2011, 09:33:52 --- Звук - переменная в памяти, 30 - константа в файле (которая, в прочем, тоже грузится или отображается в память, которая по-хорошему должна быть read-only).

--- Конец цитаты ---
Виртуальна ли "Виртуальная функция"?!!! :lol:

--- Цитата: TrickZter от 05 Сентябрь 2011, 08:14:28 ---Переменные существуют только в оперативной памяти. В РОМе (ROM = Read-Only Memory) или в образе диска по определению не может быть переменных.

--- Конец цитаты ---
А куда же по твоему грузится exe файл?

--- Цитата: MARIOFAN от 05 Сентябрь 2011, 09:57:22 ---А теперь пошли разговоры профи...

--- Конец цитаты ---
Это очередной приступ занудства некоторых. :lol:
TrickZter:

--- Цитата: Mr2 от 05 Сентябрь 2011, 13:25:00 ---А куда же по твоему грузится exe файл?
--- Конец цитаты ---
Причём тут EXE-файл? В нём музыки не содержится. Но даже в нём нет никаких переменных, переменные создаются в оперативе во время исполнения этого EXEшника. То есть происходит это в таком порядке:
1. EXEшник грузится в оперативку.
2. EXEшник начинает исполняться.
3. В оперативе выделяется место под переменные, которые нужны программе в тот или иной момент.
Mr2:

--- Цитата: TrickZter от 05 Сентябрь 2011, 15:11:31 ---Причём тут EXE-файл?
--- Конец цитаты ---

--- Цитата: AKuHAK ---Как в артмани менять, чтобы разлочить скрытые фичи я знаю, а вот как эти изменения запихать в исходный код я без понятия (( Чтобы диск пошёл на пс1 с уже разлоченными фичами (по идее там всего пару байтов надо поменять, но всё равно непонятно куда копать.
--- Конец цитаты ---

--- Цитата: TrickZter от 05 Сентябрь 2011, 15:11:31 ---В нём музыки не содержится. Но даже в нём нет никаких переменных, переменные создаются в оперативе во время исполнения этого EXEшника. То есть происходит это в таком порядке:
1. EXEшник грузится в оперативку.
2. EXEшник начинает исполняться.
3. В оперативе выделяется место под переменные, которые нужны программе в тот или иной момент.

--- Конец цитаты ---
А если место этой переменной в оперативке  определёно по месту переменной в файле? :?
С твоей логикой переменной не существует даже в исходном коде. :lol:Виртуальна ли "Виртуальная функция"?!!! :lol:
HoRRoR:

--- Цитата ---А куда же по твоему грузится exe файл?
--- Конец цитаты ---
К слову, в некоторых случаях он может не грузиться вовсе, а отображаться.


--- Цитата ---А если место этой переменной в оперативке  определёно по месту переменной в файле?
--- Конец цитаты ---
Лолшто, извини? Покажи мне где ты такое видел.


--- Цитата ---Виртуальна ли "Виртуальная функция"?!!!
--- Конец цитаты ---
Семантика слова "виртуальная" в контексте программирования чётко определена.
Mr2:

--- Цитата: HoRRoR от 05 Сентябрь 2011, 16:10:23 ---К слову, в некоторых случаях он может не грузиться вовсе, а отображаться.
--- Конец цитаты ---

--- Цитата ---Отображение файла в память (на память) — это такой способ работы с файлами в некоторых операционных системах, при котором всему файлу или некоторой непрерывной части этого файла ставится в соответствие определённый участок памяти (диапазон адресов оперативной памяти). При этом чтение данных из этих адресов фактически приводит к чтению данных из отображенного файла, а запись данных по этим адресам приводит к записи этих данных в файл. Примечательно то, что отображать на память часто можно не только обычные файлы, но и файлы устройств.
--- Конец цитаты ---
В некоторых. ;) И походу для PSX этот метод не подходит, если говорить о переменных.  <_<


--- Цитата: HoRRoR от 05 Сентябрь 2011, 16:10:23 ---Лолшто, извини? Покажи мне где ты такое видел.
--- Конец цитаты ---
Яж писал выше Ответ #14. В Иде.(Если ты нашёл адреса в памяти приставки, то выбери адрес в Иде и рядом увидишь адрес переменной в файле.)
Явная связь переменной в исполняемом файле и переменной в памяти консоли?

--- Цитата: HoRRoR от 05 Сентябрь 2011, 16:10:23 ---Семантика слова "виртуальная" в контексте программирования чётко определена.

--- Конец цитаты ---
Как и переменная, опаратно независима.
HoRRoR:

--- Цитата ---Если ты нашёл адреса в памяти приставки, то выбери адрес в Иде и рядом увидишь адрес переменной в файле.
--- Конец цитаты ---
Что за бред? IDA показывает адресное пространство, и это не обязательно должен быть адрес в файле. Более того, если ты правильно подгрузил экзешник в иду, то это будет никак не адрес в файле.

В общем, уже шизофазия какая-то пошла.
Mr2:

--- Цитата: HoRRoR от 05 Сентябрь 2011, 16:43:06 ---Что за бред? IDA показывает адресное пространство, и это не обязательно должен быть адрес в файле. Более того, если ты правильно подгрузил экзешник в иду, то это будет никак не адрес в файле.
--- Конец цитаты ---
Ну я же пользовался своим методом. :)
А ты бред,бред. :(
Нашёл в начале адрес громкости звука в памяти приставки(d88a8),путём его увеличения и уменьшения. Затем ввёл этот адрес в ИДУ, и она мне показала где эта переменная хранится в файле. На картинках описана процедура.

--- Цитата: HoRRoR от 05 Сентябрь 2011, 16:43:06 ---В общем, уже шизофазия какая-то пошла.

--- Конец цитаты ---
Можно и так назвать ромхаккинг. :lol:
HoRRoR:

--- Цитата ---Затем ввёл этот адрес в ИДУ, и она мне показала где эта переменная хранится в файле.
--- Конец цитаты ---
Ты вообще понимаешь разницу между переменной и константой?
Mr2:

--- Цитата: HoRRoR от 05 Сентябрь 2011, 17:30:00 ---Ты вообще понимаешь разницу между переменной и константой?

--- Конец цитаты ---
Если ты имеешь в виду что я меняю константу в  памяти приставки, путём изменения константы в файле, то это не так, потому что ту же константу я изменяю в меню игры, уменьшая или увеличивая громкость, следовательно это уже не константа.
Переменная не зависит от того где она находится в файле или в памяти приставки, она зависит от способа её использования.
Запомните!!!! Господа! :)
HoRRoR:
Покажи мне код, который меняет эту константу. X-refs в помощь.
Mr2:

--- Цитата: HoRRoR от 05 Сентябрь 2011, 17:43:32 ---Покажи мне код, который меняет эту константу. X-refs в помощь.

--- Конец цитаты ---
Не константу, о константе говорил ты, я говорил почему она не яаляется константой.
Метод работает, и меня это устраивает мне не важно какой код меняет эту переменную.
Если ты под переменной понимаешь ячейку оперативной памяти то тут я бессилен.
HoRRoR:
Видимо, ты умнее людей, которые всё это придумали :wall:
Mr2:

--- Цитата: HoRRoR от 05 Сентябрь 2011, 17:56:39 ---Видимо, ты умнее людей, которые всё это придумали :wall:

--- Конец цитаты ---
Чёрт, да ты меня раскусил! :)
r57shell:

--- Цитата: Mr2 от 05 Сентябрь 2011, 16:55:02 ---Затем ввёл этот адрес в ИДУ, и она мне показала где эта переменная хранится в файле.

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

--- Цитата: r57shell от 05 Сентябрь 2011, 18:08:49 ---это просто место нахождения значений стартовых значений, так скажем.

--- Конец цитаты ---
С ассемблером не особо знаком.Не знаю что там где хранится. Но как я понля это инициализированая переменная. int sound(10).

--- Цитата: r57shell от 05 Сентябрь 2011, 18:08:49 ---иногда так сканает, а иногда нет, т.к. многие в коде отдельно инициализируют.

--- Конец цитаты ---
Буду знать, спасибо!
r57shell:

--- Код: ---int qwe = 10; // оно самое.

int main()
{
 int sound(10); // не так будет выглядеть, ибо в стеке.
 return 0;
}
--- Конец кода ---
Tempest:
Эй ребята,ребята!Хватит,может быть займемся моим вопросом,а?
r57shell:
может быть...
(почувствуй логику)
разжёвывать тебе никто не будет, только потому, что заменить быстрее чем разжевать,
а раз заменить, скорее всего, не легко, то, логично, разжевывать никто не будет, так как
разжевать ещё сложнее.
в двух словах:
1) найти
2) достать
3) пощупать
4) найти чего вставить
5) сделать чтобы было "вставляемо" (иногда без этого шага)
6) вставить!
7) заставить работать (включить в игровой процесс)
каждый из шагов может занять очень много времени, а может и ничего не занять.
конкретно по этой игре, лучше всего найти того, кто это уже делал,
а если такого найти не удаётся - нужно выполнять список выше ).
AKuHAK:
Да уж так оно всё и есть. Хотя по моему менять музыку не так уж и нужно, небольшой маленький хакинг куда интереснее. Вот к примеру разберём невозможность выбора двух одинаковых игроков: когда мы выбираем одним игроком персонажа под номером 0, то для второго он блочится - очевидно, что применяется некая маска, если её обнулить (как я пока не понял - наверное, как то связано со страшными брейкпойнтами  :blush:), то мы начинаем жить в шоколаде. А уже одно это невероятно улучшит впечатление от игры, когда играешь вдвоём с кем-то, то обычно один выбирает имбового персонажа и выигрывает им только за счёт его параметров.
А насколько я понял данное действие нельзя провести, не сделав предварительно хотя бы минимального разбора кода. То же самое с трассой, на которой нельзя поездить когда выбираешь двоих игроков, но в одиночку вполне можно - тоже срабатывает какая-то маска. Просто была у меня мысля, что хотя бы частичным хакингом этой игры кто-то из метров занимался - всё-таки рок-нролл рейсинг уступает ей по количеству приколов, которыми можно отжигать на трассе.
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии