Автор Тема: Ромхакинг. С чего начать ?  (Прочитано 95532 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн HoRRoR

  • Пользователь
  • Сообщений: 983
  • Пол: Мужской
  • Ромхакер
    • Просмотр профиля
Re: Ромхакинг
« Ответ #90 : 05 Январь 2010, 18:08:10 »
Цитата
в Делфи 2009 это тоже появилось!
Ну я считаю православными только Дельфи до 7-й версии включительно :)
А насчёт юникода - есть и под старые дельфя классы. TntUnicodeControls, если не ошибаюсь.

Оффлайн r57shell

  • Пользователь
  • Сообщений: 1402
    • Просмотр профиля
Re: Ромхакинг
« Ответ #91 : 05 Январь 2010, 19:27:42 »
Омг нечисть сгинь!) :D

Оффлайн Sprill

  • Пользователь
  • Сообщений: 1001
  • Пол: Мужской
  • Вескер никогда не снимает свои очки.
    • Просмотр профиля
Re: Ромхакинг
« Ответ #92 : 05 Январь 2010, 21:19:41 »
Еще вопрос как сделать так чтобы в hexpose были русские буквы

Оффлайн Mr2

  • Пользователь
  • Сообщений: 1591
  • Пол: Мужской
  • Free roaming sorcerer
    • Facebook
    • Просмотр профиля
Re: Ромхакинг
« Ответ #93 : 06 Январь 2010, 19:24:10 »
r57shell
Делиться опытом очень важно.Всегда интересно знать как и с чего начинал человек.
Твой путь можит наталкнуть многих начинающих на правельную тропу.

Цитата: r57shell
Но вот проблема, на С++ я мог только консольные весчи писать, а на VB уже мог окошки
клепать, и вот нашел чудо C++Builder там смог уже клепать окошки. А потом осознал шо C++Builder тоже не айс,
громоздкий с собой багаж носит и ужас короче. Решил нет надо всёже на VC++ переходить, начал его мучать тоже
со справкой, и его отмучал, теперь и на нём мог клепать окошки.
Вот у меня сейчас то же самое, хочу прорубить окошко в винде, а пока только могу пользоваться чёрным окошком
с текстом. Короче вопрос такой: с помощью каких библиотек(С++) проще всего начинающему изучить построение
окон в винде?
--------------------------------------------
PS: Тему надо переназвать в "Первые шаги" а в шапку темы добавить инфу о том что должен знать человек о ромхаккинге. Перечислить компоненты, на которые опираются в работе ром хаккеры.
 Создал список на скорую руку:

0.Принцып работы игровых видео систем(консоли/приставки....).

1. Растровая графика.
2. Сжатая графика.
2. Граф редакторы, и чем они отличаются.
3. Что такое бин файл.
4. Что такое хекс редактор.
5. Форматы файлов.(аудио, видео, картинки)
6. Что такое ром, чем он отличается от образа диска.

7. Я изучил все выше перечисленные темы, а теперь расскажите мне как редактировать "N" игру на "N" консоль.

Дополнять список по мере поступления вопросов.
--------------------------------------------

Я ещё много думал о фокусах. Ведь когда смотришь выступление фокусника ты поражаешься тому как он распиливает
симпатичную осистентку, а ещё потом удивляешься как это одна часть осистентки синхранизизуется с другой когда
она шевелит ногами, да ещё и улыбается. И ходишь потом целый день под впечатлением, и конечноже  хочешь 
взглянуть на это чудо ещё раз. Но а когда узнаёщь что это всего лишь технически продуманный трюк, то весь
интерес пропадает.Те же Таньчики и Марио раньше вызывали неописуемый восторг когда ты играл то переносился в другой мир, и
воспринимал игру как нечто необычное, может даже не реальное. Но сейчас со всеми этими: движками, шэйдарами, текстурами, фотореалистичными текстурами,модами, патчами, хексами, шмэксами.... Уже не восхищяешься фокусу, а смотришь в основном на его техническое исполнение.(в какой ящик кладут осистентку, какой пилой распиливают, сколько кровищи разбрызгивается по экрану при выполнении FATALITY :D....)
-------------------------------------------
Мораль той басни такова......



 

Оффлайн Smoke

  • Пользователь
  • Сообщений: 3430
  • Пол: Мужской
  • Get Serious!
    • Steam
    • Просмотр профиля
Re: Ромхакинг
« Ответ #94 : 06 Январь 2010, 19:29:02 »
Цитата: Mr2
Перечислить компоненты, на которые опираются в работе ром хаккеры
Да тут много не распишешь. Учится кодить на языке высокого уровня (хотя бы самые азы), потом изучать ассемблер. А инструменты тоже понятно какие нужны: дебаггер, дизасм, хексредактор. Ну и пробовать, пробовать...

Оффлайн r57shell

  • Пользователь
  • Сообщений: 1402
    • Просмотр профиля
Re: Ромхакинг
« Ответ #95 : 06 Январь 2010, 21:52:32 »
Если ты хочешь окошки на низком уровне строить то в руки тебе WINAPI, а если тебе просто охото оконное приложение то если тебе савсем ничего настраивать неохото то C++Builder, а если хоть что-то да настроить то MFC. Хотя... могу ошибаться с MFC т.к. я его мало юзал, но всёравно помучаться с ним приходится побольше.
И ваабсче:
Да тут много не распишешь.
Не согласен :] И тут много расписывать и не надо. Советую посмотреть эти все (не обязательно все) варьянты самому. Первый варьянт это тупо в студии (Microsoft Visual C++, я юзю VC++ 6.0 :D) создать проэкт Windows Application потом выбрать там Simple Application. Второй варьянт аналогично в C++ Builder (используя VLC вроде, давно это было...). И третий варьянт это создать проэкт MFC Application в студии, и тоже выбрать что Sample.
И сравни, что сложнее :) и что удобнее на твой взгляд. На мой взгляд WINAPI может и не удобнее но зато это самый низкий уровень.

Добавлено позже:
0.Принцып работы игровых видео систем(консоли/приставки....).
еслиб меня кто-то об этом спросил бы, я бы не смог ответить)

2. Сжатая графика.
хмммм... не думаю что оно надо, всёравно после разжатия получается растровая. А вот может векторная нужна, но тоже где она нужна не знаю.

2. Граф редакторы, и чем они отличаются.
Хоть бы точку поставил, или полностью написал бы. Или ты действительно имеешь ввиду Граф редакторы? http://ru.wikipedia.org/wiki/Граф_(математика)

5. Форматы файлов.(аудио, видео, картинки)
Зачем знать форматы не представляю вообще, знать надо только "Что такое формат файла".

7. Я изучил все выше перечисленные темы, а теперь расскажите мне как редактировать "N" игру на "N" консоль.
Странный вопрос, как можно на него ответить не хакнув уже игру? Это же вроде список для именно тех кто хочет хакнуть.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: Ромхакинг
« Ответ #96 : 07 Январь 2010, 01:38:50 »
Я в yy-chr v0.98 ваабще не чё не понял в титл про хотябы чёто можно изменить
ну не суть, если на экране каша - значит графика сжата , нужно узнать чем распаковывать , где в  роме архивы и т.д. + после изменения засунуть обратно , и как правило размер превыситьне должен старый.
все ромы которые уже хакались- на них распаковщики можно найти если захотеть., в случае с тойже dune спрашивай в теме той, что-то писали и анпакер выкладывали.


Добавлено позже:
у меня например в dune 2 надо расцветку танка поменять,
для того чтобы расцветку помнять , надо просто менять палитры(наборы цветов) (найти вначале ес-но), а графику не обяз. трогать.

Оффлайн HoRRoR

  • Пользователь
  • Сообщений: 983
  • Пол: Мужской
  • Ромхакер
    • Просмотр профиля
Re: Ромхакинг
« Ответ #97 : 07 Январь 2010, 01:39:26 »
Совет насчёт графики: ищите её сначала в сейвах. Если в таком же виде не найдёте в РОМе - значит пожата или по-другому закодирована.

Оффлайн Mr2

  • Пользователь
  • Сообщений: 1591
  • Пол: Мужской
  • Free roaming sorcerer
    • Facebook
    • Просмотр профиля
Re: Ромхакинг
« Ответ #98 : 07 Январь 2010, 11:04:45 »
Цитата: r57shell
Если ты хочешь окошки на низком уровне строить то в руки тебе WINAPI, а если тебе просто охото оконное приложение то если тебе савсем ничего настраивать неохото то C++Builder, а если хоть что-то да настроить то MFC. Хотя... могу ошибаться с MFC т.к. я его мало юзал, но всёравно помучаться с ним приходится побольше.
Огромное спасибо!! Ответ полностью отвечает запросу. :D

Цитата: r57shell
еслиб меня кто-то об этом спросил бы, я бы не смог ответить)
Я говорю об основе, а не о подробном описании консоли. Загрузка игры, как консоль заставляет появляться на экране всех горячё любимых нами героев....

хмммм... не думаю что оно надо, всёравно после разжатия получается растровая. А вот может векторная нужна, но тоже где она нужна не знаю.
Этот вопрос может помочь многим начинающим которые ждут картинку а вместо неё какша из цветных точек. И люди представить себе не могут почему нет картинки.

Хоть бы точку поставил, или полностью написал бы. Или ты действительно имеешь ввиду Граф редакторы? http://ru.wikipedia.org/wiki/Граф_(математика)
Тут важен момент работы "графического(граф) редактора", как он раскладывает пиксели, и почему один может правильно отображать картинку в формате "MIO" а другой не может. Сталкнулся с этим сам потому что не знал что такое 4bpp и ему подобные.... http://ru.wikipedia.org/wiki/Граф_(математика) o_0 не ну эт конечно перебор...Тут можно получить вывих мозга 0_0 .. :lol:

Зачем знать форматы не представляю вообще, знать надо только "Что такое формат файла".
Этот вопрос может помочь тем кто интерисуется: "как мне в хексе узнать где картинка а где звуки"

Странный вопрос, как можно на него ответить не хакнув уже игру? Это же вроде список для именно тех кто хочет хакнуть.
Это скорее контрольный вопрос, так как человек изучивший выше перечислиный список, не задаст такого вопроса. Тут можно написать только базовую инфу о консолях.

6. Что такое ром, чем он отличается от образа диска.
Этот вопрос поможет понять почему в роме нет папок с музыкой, картинками.....
« Последнее редактирование: 07 Январь 2010, 11:21:28 от Mr2 »

Оффлайн HoRRoR

  • Пользователь
  • Сообщений: 983
  • Пол: Мужской
  • Ромхакер
    • Просмотр профиля
Re: Ромхакинг
« Ответ #99 : 07 Январь 2010, 12:52:26 »
Цитата
как мне в хексе узнать где картинка а где звуки
По структуре данных. Я не знаю, как конкретно объяснить, но каждый тип данных имеет характерную структуру или распределение.

Цитата
6. Что такое ром, чем он отличается от образа диска.
РОМ - образ памяти картриджа. Картридж отличается от диска тем, что к его памяти можно обращаться напрямую, как к оперативной памяти. А с диска всегда надо считывать информацию сперва в оперативную память.

Цитата
А вот может векторная нужна, но тоже где она нужна не знаю.
3D-графика векторная, за исключением текстур.

Оффлайн r57shell

  • Пользователь
  • Сообщений: 1402
    • Просмотр профиля
Re: Ромхакинг
« Ответ #100 : 07 Январь 2010, 13:11:13 »
3D-графика векторная, за исключением текстур.
Ну её обычно и называют 3D-графикой. А пример векторной но не 3D-графики это SVG.

По структуре данных.
А структура данных не формат?

http://ru.wikipedia.org/wiki/Граф_(математика) o_0 не ну эт конечно перебор...Тут можно получить вывих мозга 0_0 .. :lol:
С этим знаком со школы ))) поэтому у меня привычное понимание этого слова - вот это вот. И граф редакторы тоже есть ))), вдруг кто-то наткнётся на них?), поэтому и говорю "написал бы полностью".

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

Этот вопрос может помочь тем кто интерисуется: "как мне в хексе узнать где картинка а где звуки"
Картинка или нет - я проверяю простой попыткой её посмотреть ^^. А догадываюсь видя похожий на картинку вид(формат), а это получается только если картинка в не сжатом виде, иначе я форматы не знаю ^^.
хотя вот картинки типа JPEG,BMP, PNG первыми 3-мя байтами себя выдают :D там и пишется BMP, PNG... только в JPEG бывает ещё EXIF как-то так :) но это же в приставках не используется.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: Ромхакинг
« Ответ #101 : 07 Январь 2010, 13:16:23 »
По структуре данных. Я не знаю, как конкретно объяснить, но каждый тип данных имеет характерную структуру или распределение.
прямо в хексе? ток зачем если эдиторы есть.
в несжатой графе нулей полно +символы друг за другом повторяются. 
звук вавки  - дофига подряд '80' или 7F  81, там где тишина.

Оффлайн HoRRoR

  • Пользователь
  • Сообщений: 983
  • Пол: Мужской
  • Ромхакер
    • Просмотр профиля
Re: Ромхакинг
« Ответ #102 : 07 Январь 2010, 13:54:27 »
Цитата
Ну её обычно и называют 3D-графикой. А пример векторной но не 3D-графики это SVG.
3D-графика - частный случай векторной графики.

Цитата
А структура данных не формат?
Никак нет.

Цитата
Каша из-за сжатия косвенно, а сжатие из-за формата файла.
Пора уж начать понимать, что файл - понятие порой условное, работа идёт с данными, для которых файл может служить лишь контейнером.

Цитата
прямо в хексе? ток зачем если эдиторы есть.
Не понял причём тут едиторы... Допустим, у нас есть файл с неизвестным содержимым. Так каким же едитором его открывать? Я в первую очередь открываю в хексе, смотрю на содержимое и делаю выводы.

Оффлайн r57shell

  • Пользователь
  • Сообщений: 1402
    • Просмотр профиля
Re: Ромхакинг
« Ответ #103 : 07 Январь 2010, 14:12:43 »
3D-графика - частный случай векторной графики.
Ну её обычно и называют 3D-графикой. А пример векторной но не 3D-графики это SVG.
Давай-те не будем повторяться

А структура данных не формат?
Никак нет.
Обоснуйте, что формат не описание структуры данных, ну... хотя да, нехорошо я написал :)

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

Не понял причём тут едиторы... Допустим, у нас есть файл с неизвестным содержимым. Так каким же едитором его открывать?
Тем который воспринимает предыдущее понятие файла :D. (например который может открыть по оффсету + размеру, или лучше, незная размер, или вообще открыть всё что может).

Оффлайн savelov-nik

  • Пользователь
  • Сообщений: 10
  • ХАКАЙ ТОЛЬКО ТО ЧТО НАДО
    • Просмотр профиля
Re: Ромхакинг
« Ответ #104 : 07 Январь 2010, 14:57:23 »
я скачал ida pro а как ей пользоваться

Оффлайн HoRRoR

  • Пользователь
  • Сообщений: 983
  • Пол: Мужской
  • Ромхакер
    • Просмотр профиля
Re: Ромхакинг
« Ответ #105 : 07 Январь 2010, 15:10:33 »
Я бы посоветовал сперва освоить это.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: Ромхакинг
« Ответ #106 : 07 Январь 2010, 15:17:09 »
я скачал ida pro а как ей пользоваться
если смд собрался качай ещё лоадер от HardWareMan, кинуть в папку loaders.
на форуме выкладвали где-то ,но если че вот ссылки.

сега
sega loader


нес
ines loader от CaH4e3


далее запускаешь IDA, открываешь РОМ- (bin/gen). жмешь ОК.
« Последнее редактирование: 07 Январь 2010, 15:22:04 от Ti_ »

Оффлайн savelov-nik

  • Пользователь
  • Сообщений: 10
  • ХАКАЙ ТОЛЬКО ТО ЧТО НАДО
    • Просмотр профиля
Re: Ромхакинг
« Ответ #107 : 07 Январь 2010, 15:20:48 »
Скачал. Я с помощью неё хочу соник изменить.А КАК.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: Ромхакинг
« Ответ #108 : 07 Январь 2010, 15:32:11 »
шаг 2,3,4  (Sonic The Hedgehog (W) (REV01) [!].gen загрузил)

Оффлайн Smoke

  • Пользователь
  • Сообщений: 3430
  • Пол: Мужской
  • Get Serious!
    • Steam
    • Просмотр профиля
Re: Ромхакинг
« Ответ #109 : 07 Январь 2010, 15:37:22 »
Цитата: savelov-nik
Я с помощью неё хочу соник изменить.А КАК.
А никак. С помощью иды просматривается дизасмнутый код в целях изучения его работы. Чтобы что-то именно изменить нужен либо хекс редактор, либо спец редактор для конкретной игры. Благо для первого соника они точно есть.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: Ромхакинг
« Ответ #110 : 07 Январь 2010, 15:46:13 »
преобразовать в код вручную (IDA не все преобразовывает) - кнопка "C"     (если это является кодом)
кнопка "U" (undefine) - отмена.

"D" - преобразовать в данные byte, "D" 2раза word (2байта) , "D" 3раза longword (4байта).

"O" - преобразать в offset (ссылка на адресс). (4bytes)

"G" - перейти к адресу.

"A"- преобразовать в ASCII (если текст ).

"N" - задать имя/переименовать.

"P" - create function.

« Последнее редактирование: 07 Январь 2010, 15:52:37 от Ti_ »

Оффлайн savelov-nik

  • Пользователь
  • Сообщений: 10
  • ХАКАЙ ТОЛЬКО ТО ЧТО НАДО
    • Просмотр профиля
Re: Ромхакинг
« Ответ #111 : 07 Январь 2010, 15:46:53 »
СПАСИБО ;)

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: Ромхакинг
« Ответ #112 : 07 Январь 2010, 15:51:21 »
А никак. С помощью иды просматривается дизасмнутый код в целях изучения его работы. Чтобы что-то именно изменить нужен либо хекс редактор

Инструкции процессора Motorola 68000 (от Smoke  :blush:) - отображается синим цветом в IDA (аля программа, exe, код , асм и т.п.)

http://romhacking.net.ru/forum/5-34-1  - изучаем.

Статья - пример от меня. (Ромхакинг для новичков. основы на примере Сеги.)
http://romhacking.net.ru/forum/4-45-1

Оффлайн savelov-nik

  • Пользователь
  • Сообщений: 10
  • ХАКАЙ ТОЛЬКО ТО ЧТО НАДО
    • Просмотр профиля
Re: Ромхакинг
« Ответ #113 : 07 Январь 2010, 15:56:43 »
А мозно ли както поменять слово sega на другое и причём какое нибудь русское

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: Ромхакинг
« Ответ #114 : 07 Январь 2010, 17:04:15 »
каждой команде (интрукции,опкоду ) соответствует свой hex-код.,  IDA отобржает располжение ее в роме в hex-виде (2-ая вкладка HEX-VIEW-A).

рисунки 5) и 6)

5)обвели команду RTS
6)перешли во 2-ую вкладку hex-view-a (  IDA обводит зеленым  4E 75)
4e75= rts , в hex-виде.


rts -возврат к процедуре (return to subroutine) - самая частая команда.  если где 4e75 в роме значит тут код находится (exe, программа )  .  для сеги только!.



Добавлено позже:
А мозно ли както поменять слово sega на другое и причём какое нибудь русское
то, что ты обвел это просто заголовок (инфа о картирдже), название дата выпуска регионы и прочее.
надпись SEGA - на заставке - это графика(рисунок),  IDA показывает их только как hex-code(графику не отображае), (звуки она тоже не играет :)).,
соотв. тут граф редактор нужен.
IDa показывает Код игры (программу-EXE), текст (если он ascii - но его и winhexe видно), адреса, и н-кые данные в hex. (которые можно предсавить в word, longword).




Добавлено позже:
А мозно ли както поменять слово sega на другое и причём какое нибудь русское
Sega не нашел, сжато значит, а Ежи вот они вроде :  (YY-CHR- один из тайловых редакторов)




Оффлайн savelov-nik

  • Пользователь
  • Сообщений: 10
  • ХАКАЙ ТОЛЬКО ТО ЧТО НАДО
    • Просмотр профиля
Re: Ромхакинг
« Ответ #115 : 07 Январь 2010, 17:07:54 »
Ti_,не даш ссылочку на твой ром

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: Ромхакинг
« Ответ #116 : 07 Январь 2010, 17:20:41 »
Ti_,не даш ссылочку на твой ром
ром Sonic The Hedgehog (W) (REV01) [!].gen
из архива с emu-land.net  
http://www.emu-land.net/consoles/genesis/roms/top/2


кстати готовые IDA-шные базы под соников http://www.hacking-cult.org/?x/2    (не проверял)
« Последнее редактирование: 07 Январь 2010, 17:31:43 от Ti_ »

Оффлайн r57shell

  • Пользователь
  • Сообщений: 1402
    • Просмотр профиля
Re: Ромхакинг
« Ответ #117 : 07 Январь 2010, 17:35:39 »
оу... пропихну от себя, когда начал рытся в сеговском роме ввёл в гугл "M68000 assembler"
Перешел на http://en.wikipedia.org/wiki/Motorola_68000, мельком глянул
и сразу перешел на
http://www.freescale.com/files/archives/doc/ref_manual/M68000PRM.pdf
Что сохранил на комп в папку где сча всё тусит связанное с сегой.
Как только вижу незнакомую команду сразу в этот ман лезу.
Как никрути редко бывает что-то более подробное чем ман. (но бывает).

Добавлено позже:
О! ещё чё надо точно знать работая с вообще "чем-то програмным" это логическую арифметику, битовую арифметику, и BCD арифметику. И системы исчисления (в частности двоичная, восьмиричная, шестнадцатиричная, и тем кто забыл - повторить десятичную ^^).

Оффлайн savelov-nik

  • Пользователь
  • Сообщений: 10
  • ХАКАЙ ТОЛЬКО ТО ЧТО НАДО
    • Просмотр профиля
Re: Ромхакинг
« Ответ #118 : 07 Январь 2010, 17:38:20 »
TI_,а почему у меня соник вот  такой

Добавлено позже:
r57shell,ты ещё забыл надо знать английский

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: Ромхакинг
« Ответ #119 : 07 Январь 2010, 17:40:31 »
Я бы посоветовал сперва освоить это.
:lol:
на самом деле надо енглиш лучше знать!  
тогда уже много понятно становится:
add - добавить, cmp (СoMPare)- сравнить, tst (Test)- тест,проверка.,  без всяких там уже догадаться можно что дает .


Добавлено позже:
TI_,а почему у меня соник вот  такой
снизу выставь вместо normal , что другое, "SEGA" как у меня нормально показыв. +цвета надо выставить (палитру)