Chief-NET

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Chief-NET » Базовый хакинг » Dragon Warrior I & II (U) (GBC)


Dragon Warrior I & II (U) (GBC)

Сообщений 1 страница 20 из 45

1

Доброго здоровица уважаемые посетители форума. Хотелось-бы задать пару, ну совершенно простых вопросов, по базовому хакингу. Взял DW 1&2 для GBC для первого взлома/перевода. Знаю, что замахнулся на непосильное (для начального перевода), но звёзд с неба не хватаю и  задумываю это, скорее как хобби, с возможным продолжением. Собственно вопросы: Какова вероятность того, что для обоих игр, будет разный шрифт? Как правильно обозначать конец строки, конец сообщения, переменные в виде имени героя? Нужно-ли перерисовывать русский шрифт поверх английского или нет? В каком направлении смотреть для получения информации по вытаскиванию текста из rom-а? Почему так мало информации по непосредственному разбору хака от начала до конца?
В общем самые стандартные вопросы, который задаёт каждый первый загоревшийся и начинающий ромхакер. Моих небольших знаний хватило для самого простого - создания таблицы. Текст не пожат, графика вроде тоже.
Глоссарий:
[spoil=Монстры]Slime{F0} Слизняк\Слизь\Слайм
RedSlime{F0} Красный слизняк(Слайм)\Красная слизь
Dracky{F0} Летучая мышь\Блоха\Летомышь\Летучка
Spooky{F0} Призрак
Magician{F0} Маг
MagDracky{F0} Магическая летучая мышь (летучка)\Магическая блоха\Магомышь (слабее, чем Drackeema)
Scorpion{F0} Скорпион
Eyeder{F0} Глазастик\Глазощуп
Poltergst{F0} Полтергейст
Droll{F0} Дролл
Drackeema{F0} Усиленная летучая мышь\Усиленная блоха\Сильная летомышь
Skeleton{F0} Скелет\Скелетон
Druin{F0} Друид\Колдун
MtlScrpio{F0} Металлический скорпион\Железный скорпион
Wolf{F0} Волк
Wraith{F0} Скелет-Солдат\Усиленный скелет\Скелет-воин
Metaly{F0} Металлическая слизь\Железная слизь\Металлайм
Specter{F0} Спектр
Wolflord{F0} Пугающий волк\Лорд Волков
Eyedrlord{F0} Лорд глазастиков\Лорд глазощупов
Drollmagi{F0} Магческий дролл
Wyvern{F0} Виверна
RgeScrpio{F0} Скорпион разбойник
DeadNite{F0} Мертвец\Скелет-мертвец
Golem{F0} Голем
Goldman{F0} Золотой голем
ArmKnight{F0} Бронированный рыцарь
MagWyvern{F0} Магическая виверна
ShdwKnght{F0} Тёмный рыцарь\Теневой рыцарь
Werewolf{F0} Оборотень\Вервольф
Dragon{F0} Дракон
StarWyvrn{F0} Звёздная виверна\Космическая виверна
Druinlord{F0} Волшебник
MadKnight{F0} Безумный рыцарь
BlueDrgn{F0} Синий дракон
RockGolem{F0} Каменный голем\Усиленный голем
AxeKnight{F0} Рыцарь с топором\Топорщик
RedDragon{F0} Красный дракон
DracoLord{F0} Лорд Драконов
DracoLord{F0}   (Вторая стадия Лорда Дракона)
Slime{F0} (см выше)
GiantSlug{F0} Большой\Гигантский слизняк\слизень
IronAnt{F0} Железный муравей
Dracky{F0} (см выше)
WildMouse{F0} Дикая мышь
Healer{F0} Целитель\Врач
Phantom{F0} Фантом\Призрак мыши\Призрачная мышь (алт. Ghost Mouse)
Babble{F0} Шипучка\Пузырь
ArmyAnt{F0}     Муравей-воин\Муравей солдат
Sorcerer{F0} Колдун
BigRat{F0} Большая крыса
KingCobra{F0} Большая кобра\Королевская кобра
MagicAnt{F0} Магический муравей\Муравей маг
WizDracky{F0} (см MagDracky)
ArmorPede{F0} Сентипод (алт. Centipod)
Jellyfish{F0} Медуза\Солдат (алт. Man'o War)
LizardFly{F0} Летающаяя ящерица\Крылатый ящер
Zombie{F0} Зомби
Smoke{F0} Дым\Дымок
GhostRat{F0} Призрак крысы\Призрачная крыса
Baboon{F0} Бабуин\Павиан
ManEater{F0} Цветок-людоед\Человекоед (алт. Carnivog (цветок))
Megapede{F0} Мегапид
SeaSlug{F0} Морской слизень\слизняк
MedusaEye{F0} Медуза (алт. Medusa Ball)
Enchanter{F0} Черодей\Зачарованный
MudDoll{F0} Грязевая кукла\Грязевой человек\Грязнуля
Magabboon{F0} Магический бабуин\Павиан маг
Reaper{F0} Жнец\Призрак
Gremlin{F0} Гремлин
PoisnLily{F0} Ядовитая лилия
MummyMan{F0} Человек-мумия\Живая мумия
Gorgon{F0} Горгона
SaberTger{F0} Саблезубый тигр
DragonFly{F0} Стрекоза
FaceTree{F0} Дерево титанов\Титановое дерево(алт. Titan Tree)
Undead{F0} Бессмертный\Бессмертный воин\Нежить
Basilisk{F0} Василиск
Goopi{F0} Липучка
Orc{F0}    Орк
PuppetMan{F0} Кукольник\Кукольный человек\Марионетка
Mummy{F0} Мумия
EvilTree{F0} Зловещее дерево\Злое дерево
Gas{F0}    Газ
Hork{F0} Хорк
HawkMan{F0} Ястреб
Warlock{F0} Колдун
Metaly{F0} (см выше)
Hunter{F0} Охотник
EvilEye{F0} Демонический глаз\Злой глаз
Hibabango{F0} Хибабанго\Усиленный бабуин
Gragoopi{F0} Грабупи
GoldOrc{F0} Золотой орк\Орк золота
EvilClown{F0} Злой клоун
Ghoul{F0} Упырь\Вурдалак
Vampirus{F0} Вампирус\Вампир
MegaNite{F0} Мега-рыцарь\Рыцарище
SaberLion{F0} Саблезубый лев
MtlHunter{F0} Робот-Охотник\Железный охотник
Ozwarg{F0} Озварг (подвид гремлина)
DarkEye{F0} Тёмный глаз\Око ночи
Gargoyle{F0} Гаргулья
OrcKing{F0} Король орков\Предводитель орков
MagVamprs{F0} Магический вампирус\Вампир маг
Berserker{F0} Берсерк
Metabble{F0} Металлический пузырь\Пузырь металла
Disciple{F0} Рыцарь Харгона (алт. Hargon's Knight)
Cyclops{F0} Циклоп
Roboster{F0} Бот (алт. Attack Bot)
Dragon{F0} (см выше)
Magus{F0} Мастер дубины (алт. Mace Master (подвид клоуна))
Flame{F0} Жара\Огонь\Пламя
AgDevil{F0} Голем серебра (алт. Silver Batboon)
Blizzard{F0} Метель\Метелица\Снежная буря\Буран\Вьюга
Gigantes{F0} Гигант
BatDemon{F0} Голем золота (алт. Gold Batboon)
ArcDemon{F0} Бык\Архидемон\Буллвонг(алт. Bullwong)
Atlas{F0} Атлас (подвид гиганта)
Bazuzu{F0} Базузу (подвид Batboons)
Zarlox{F0} Зарлокс (подвид Demons)
Hargon{F0} Харгон (босс)
Sidoh{F0} Сидох (алт. Malroth) (босс)
[/spoil]
[spoil=Предметы]Sun Seal{F0}
Star Seal{F0}
Moon Seal{F0}
WaterSeal{F0}
Life Seal{F0}{F0}
Bamboo{4B}{F0}
Club{4B}{F0}
Copper{49}{F0}
Iron{4E}{F0}
Steel{49}{F0}
Flame{49}{F0}
Loto{49}{F0}
Cloth{50}{F0}
Leathr{50}{F0}
Chain{4F}{F0}
Iron{4F}{F0}
Steel{4F}{F0}
Magic{4F}{F0}
Loto{4F}{F0}
Leathr{51}{F0}
Iron{51}{F0}
Silver{51}{F0}
Herb{F0}
Torch{F0}
D-Scale{F0}
Warp Wing{F0}
Key{F0}
Repellent{F0}
Light Orb{F0}
Tablet{F0}
PixyFlute{F0}
ShinyHarp{F0}
Rainstaff{F0}
Sun Stone{F0}
LoraLuv{F0}
Loto Seal{F0}
RainbwDrp{F0}
DvlBelt{F0}
Choker{F0}
War{53}{F0}
Wooden{4B}{F0}
Club{4B}{F0}
Copper{49}{F0}
Wizard{4C}{F0}
Knife{54}{F0}
Sickle'd{F0}
Bolt{4C}{F0}
Spear{4A}{F0}
Steel{49}{F0}
Hammer{4D}{F0}
Dragon{49}{F0}
Loto{49}{F0}
Light{49}{F0}
Falcon'd{F0}
Thundr'd{F0}
Devil{49}{F0}
Cloth{50}{F0}
Leathr{4F}{F0}
Chain{4F}{F0}
Evade{50}{F0}
Steel{4F}{F0}
Magic{4F}{F0}
Fur{50}{F0}
Gaia{4F}{F0}
Water{50}{F0}
Loto{4F}{F0}
Devil{4F}{F0}
Leathr{51}{F0}
Steel{51}{F0}
Heal{51}{F0}
Loto{51}{F0}
Evil{51}{F0}
Iron{52}{F0}
Loto{52}{F0}
Magic{52}{F0}
Herb{F0}
Antidote{F0}
Repellent{F0}
Warp Wing{F0}
Amulet{F0}
SlotToken{F0}
Wizard{53}{F0}
Gold Card{F0}
LarMirror{F0}
Wind{55}{F0}
RubissChm{F0}
MoonShard{F0}
EvlStatue{F0}
SilverKey{F0}
Gold Key{F0}
Jail Key{F0}
Dam Key{F0}
Treasure{F0}
EchoFlute{F0}
WorldLeaf{F0}
Dew Yarn{F0}
Holy Loom{F0}
Loto Seal{F0}
DvlTail{F0}
SaveOrb{F0}
WorldMap{F0}
AGLseed{F0}
MysticNut{F0}
LifeAcorn{F0}
STRseed{F0}
DEFseed{F0}[/spoil]
[spoil=Способности]Firebal{F0}
Firebane{F0}
Sleep{F0}
StopSpell{F0}
Heal{F0}
HealMore{F0}
Outside{F0}
Return{F0}
Repel{F0}
Radiant{F0}
Firebal{F0}
Firebane{F0}
Explodet{F0}
Infernos{F0}
Defeat{F0}
Sleep{F0}
StopSpell{F0}
Surround{F0}
Defense{F0}
Increase{F0}
Sacrifice{F0}
Heal{F0}
HealMore{F0}
HealAll{F0}
Chance{F0}
Antidote{F0}
Outside{F0}
Return{F0}
Repel{F0}
StepGuard{F0}
Open{F0}
Revive{F0}[/spoil]
[spoil=Места]Tantegel Castle{F0}
Tantegel{F0}
Garinham{F0}
Kol{F0}
Domdora{F0}
Mercado{F0}
Rimuldar{F0}
Dracolord Castle{F0}
Lorasia Castle{F0}
Leftwyne{F0}
Cannock Castle{F0}
Hamlin{F0}
Moonbrook Castle{F0}
Lianport{F0}
Tantegel Castle{F0}
Osterfair Castle{F0}
Zahan{F0}
Wellgarth{F0}
Beran{F0}
Tuhn{F0}
Loto{41} Cave{F0}
Marshy Cave{F0}
Rocky Cave{F0}
Garin{41} Tomb{F0}
Rain Shrine{F0}
Sacred Shrine{F0}
Lorasia South{F0}
Moonbrook Shrine{F0}
Zahan Shrine{F0}
Lianport Shrine{F0}
Sacred Shrine{F0}
Beran Shrine{F0}
Flame Shrine{F0}
Oracle{F0}
Rhone South{F0}
Spirit Shrine{F0}
Rhone Cave{F0}
Lake Cave{F0}
Lora{41} Gate{F0}
Marshy Cave{F0}
Drakhorns{F0}
Drakhorns{F0}
Luna Tower{F0}
Hero{41} Spring{F0}
Dracolord Castle{F0}
Wind Tower{F0}
Ocean Cave{F0}
Hargon Castle{F0}
Moonbrook Castle{F0}
Rhone Path{F0}
Lighthouse{F0}
Rhone{F0}
Lorasia{F0}
Field{F0}[/spoil]
[spoil=Имена]Frey{F0}
John{F0}
Art{F0}
Gary{F0}
Karl{F0}
Eric{F0}
Drew{F0}
Paul{F0}
Erin{F0}
Mary{F0}
Nana{F0}
Beth{F0}
Fran{F0}
Gwen{F0}
Lynn{F0}
Sara{F0}
Hero{F0}
Paladin{F0}
Mage{F0}[/spoil]
Места для справок:
Англоязычная вики по вселенной Dragon Quest
Ещё одна вики с хорошим описание всего и вся
Dragon Quest 1 на FFForever
Dragon Quest 2 на FFForever

Отредактировано Halfquake (2014-06-09 18:34:15)

2

"Нужно-ли перерисовывать русский шрифт поверх английского или нет" - если есть место для русского шрифта, то рисуем там. Если нет - рисуем поверх английского. Конечно, лучше стараться оставить английский шрифт, хотя бы ЗАГЛАВНЫЕ буквы. Тогда при переводе игры можно будет сделать так:

Художник: TOYAMA TOKANAVA
Сценарист: KOMUTO HEROVATO

И т.д. Т.е. не писать транслитом ФИО разрабов, ибо ересь (если нет другого выхода, тогда придётся транслитом)...

Отредактировано Guyver (2014-05-31 11:12:36)

3

"Как правильно обозначать конец строки, конец сообщения, переменные в виде имени героя?" - а как тебе удобно. Вот задашь ты в таблице, чтобы при выемке было:

FF=<КОНЕЦ СТРОКИ>
FE=<КОНЕЦ СООБЩЕНИЯ>
А7А4=<Имя персонажа>

И так и будет. Не смотря на то, каким софтом всё вставляется\вынимается.

Отредактировано Guyver (2014-05-31 11:23:35)

4

"Какова вероятность того, что для обоих игр, будет разный шрифт?" - нулевая. Вообще, шикарная игра для перевода. Места в роме свободного дофига!

Отредактировано Guyver (2014-05-31 11:31:15)

5

"Нужно-ли перерисовывать русский шрифт поверх английского или нет" - если есть место для русского шрифта, то рисуем там. Если нет - рисуем поверх английского. Конечно, лучше стараться оставить английский шрифт, хотя бы ЗАГЛАВНЫЕ буквы. Тогда при переводе игры можно будет сделать так:

Художник: TOYAMA TOKANAVA
Сценарист: KOMUTO HEROVATO

И т.д. Т.е. не писать транслитом ФИО разрабов, ибо ересь (если нет другого выхода, тогда придётся транслитом)...

Спасибо за ответ. Место для шрифта есть, сразу после английского. Но туда все буквы не влезут (вместе с заглавными). Кстати, на первых титульных страницах есть имена разработчиков и названия компаний типа: Armor Project, Bird Studio, Enix и др. Так вот они вообще нарисованы каким-то разноцветным вариантом.
Ещё вопрос: В игре, видимо для экономии места есть сокращения типа Lv Ex, которые нарисованы в одном квадрате. После их перерисовки - значения в игре меняются, но не везде. Посмотрев глубже, заметил, что они встречаются в нескольких местах, после перерисовки всё равно не везде поменялись. Вопрос: есть-ли возможность найти все одинаковые такие вещи по всему rom-у?

6

Буквы влезут ВСЕ.

Зачем рисовать русские ABCEHKMOPTX асеорху - можно брать их из английского алфавита.

7

И, как это любят делать для GBC, похоже, всё же есть некое сжатие в игре, для кое-каких шрифтов/графики... Что-то типа RLE...

Поинтеры в игре двухбайтные, находятся перед блоками с текстом. Например:

Адрес в роме: 3949B
Слово: Slime
Поинтер на него: 9B54
Находится по адресу в роме: 39266

Там же и все остальные. И так в каждом куске текста, скорее всего.

Отредактировано Guyver (2014-05-31 11:49:38)

8

То есть поинтеры относительные? Нашёл и дорисовал шрифт, попробовал  заменить через HEX редактор, в самой игре поменялось, в меню - нет. Видимо, что для меню, это самое сжатие и применяется? Теперь вопрос в другом: как вытащить весь текст и как безболезненно его вставить обратно? Хоть в какую сторону смотреть? Укажите путь к светлому будущему...

9

Почитав мануалы (частично даже с картинками) и посмотрев youtube видео на португальском языке, понял, что светлое будущее маячит программой Kruptar, документация для которой, есть только на более древнюю версию.

Отредактировано Halfquake (2014-05-31 20:54:49)

10

Номер версии особо не важен, главное - понять принцип.

11

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

12

Мог бы помочь с проектом к Круптару. Но это только после отпуска в июле месяце. :( Пока можешь метки (адреса текста, графики и прочее) себе делать и изучать ром.)
P. S. Может быть, в сети есть выложенный текст для этих версий, чтобы тебе начать переводить и подготовить глоссарий.

Отредактировано Mefistotel (2014-06-01 01:12:06)

13

Тем более, текст можно просто вынуть, без поинтеров вообще, хоть ПокПереводом. Главное - перевести его.

Поставил в круптаре нулевой поинтер. Задал таблицы (обе одинаковые англ.), и вынимаешь текст, вместо начала и конца, где поинтеры указываются, поставил адрес начала и конца текста. Главное, чтобы был введён символ окончания строки при этом. А то нулевые поинтеры без него не вынутся.

Отредактировано Guyver (2014-06-01 04:02:45)

14

Вытянул весь бестиарий, удалил повторы второй части. Если правильно помню, разделил список на первую и вторую части игр.
[spoil=Собственно]DW1:

Slime
RedSlime
Dracky
Spooky
Magician
MagDracky
Scorpion
Eyeder
Poltergst
Droll
Drackeema
Skeleton
Druin
MtlScrpio
Wolf
Wraith
Metaly
Specter
Wolflord
Eyedrlord
Drollmagi
Wyvern
RgeScrpio
DeadNite
Golem
Goldman
ArmKnight
MagWyvern
ShdwKnght
Werewolf
Dragon
StarWyvrn
Druinlord
MadKnight
BlueDrgn
RockGolem
AxeKnight
RedDragon
DracoLord

DW2:

GiantSlug
IronAnt
WildMouse
Healer
Phantom
Babble
ArmyAnt
Sorcerer
BigRat
KingCobra
MagicAnt
WizDracky
ArmorPede
Jellyfish
LizardFly
Zombie
Smoke
GhostRat
Baboon
ManEater
Megapede
SeaSlug
MedusaEye
Enchanter
MudDoll
Magabboon
Reaper
Gremlin
PoisnLily
MummyMan
Gorgon
SaberTger
DragonFly
FaceTree
Undead
Basilisk
Goopi
Orc
PuppetMan
Mummy
EvilTree
Gas
Hork
HawkMan
Warlock
Hunter
EvilEye
Hibabango
Gragoopi
GoldOrc
EvilClown
Ghoul
Vampirus
MegaNite
SaberLion
MtlHunter
Ozwarg
DarkEye
Gargoyle
OrcKing
MagVamprs
Berserker
Metabble
Disciple
Cyclops
Roboster
Magus
Flame
AgDevil
Blizzard
Gigantes
BatDemon
ArcDemon
Atlas
Bazuzu
Zarlox
Hargon
Sidoh[/spoil]
[spoil=Предметы]DW1:

Bamboo{4B}
Club{4B}
Copper{49}
Iron{4E}
Steel{49}
Flame{49}
Loto{49}
Cloth{50}
Leathr{50}
Chain{4F}
Iron{4F}
Steel{4F}
Magic{4F}
Loto{4F}
Leathr{51}
Iron{51}
Silver{51}
Herb
Torch
D-Scale
Warp Wing
Key
Repellent
Light Orb
Tablet
PixyFlute
ShinyHarp
Rainstaff
Sun Stone
LoraLuv
Loto Seal
RainbwDrp
DvlBelt
Choker

DW2:

War{53}
Wooden{4B}
Wizard{4C}
Knife{54}
Sickle{48}
Bolt{4C}
Spear{4A}
Hammer{4D}
Dragon{49}
Light{49}
Falcon{48}
Thundr{48}
Devil{49}
Cloth{50}
Leathr{4F}
Chain{4F}
Evade{50}
Magic{4F}
Fur{50}
Gaia{4F}
Water{50}
Devil{4F}
Leathr{51}
Steel{51}
Heal{51}
Loto{51}
Evil{51}
Iron{52}
Loto{52}
Magic{52}
Antidote
Amulet
SlotToken
Wizard{53}
Gold Card
LarMirror
Wind{55}
RubissChm
MoonShard
EvlStatue
SilverKey
Gold Key
Jail Key
Dam Key
Treasure
EchoFlute
WorldLeaf
Dew Yarn
Holy Loom
DvlTail
SaveOrb
WorldMap
AGLseed
MysticNut
LifeAcorn
STRseed
DEFseed[/spoil]
Если правильно высчитал - длина строки в игре 18 символов.

Отредактировано Halfquake (2014-06-04 22:22:03)

15

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

16

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

Вынимаю вручную. Это скорее для глоссария. Или не стоит?

17

Как вынул - так и переводи, не удаляй... И текст можешь перевести, а поинтеры тебе потом подключат (или сам уже сможешь к тому времени)...

Отредактировано Guyver (2014-06-01 17:58:02)

18

http://ipicture.ru/uploads/20140601/thumb/UD5a9dSk.png
http://s1.ipicture.ru/uploads/20140601/EC24x0Wd.png
http://s1.ipicture.ru/uploads/20140601/sGt56Crh.png

EEEF=конец строки
FAF7=видимо ожидание нажатия клавиши
F7F0EA=конец сообщения

Всё так? А то терзают меня смутные сомнения...

И сразу вопрос: как должен выглядеть переведённый на русский текст?

Отредактировано Halfquake (2014-06-02 19:49:08)

19

В идеале он должен выглядеть так же, как английский. Т.е. как вынул - так и переводи:

Ivan go/EE/EF
home./F7/F0/EA

Иван/EE/EF
пошёл/EE/EF
домой./F7/F0/EA

Т.е. можно добавлять строки, но при этом придерживаться правил игры. Переводить лучше в блокноте.

20

После некоторых мучений,  перечитки гайдов, просмотров проектов на Круптаре (спасибо Гайверу, с другого форума вытянул :D) всё-таки удалось вытащить текст по нулевым поинтерам. Всё, как у людей - не получается сделать, при попытке указать на таблицу поинтеров программа виснет наглухо с нажатием кнопки Enter. Грешу конечно на кривые руки и некоторое недопонимание интерфейса программы.


Вы здесь » Chief-NET » Базовый хакинг » Dragon Warrior I & II (U) (GBC)