Форум Magic Team


 

Новости:

01.01.2017: Релиз испанской версии Naruto - Ninja Council (GBA)
02.12.2016: Добавлена документация по Kruptar 7
09.10.2015: Обновление перевода игры Battletoads (NES) [версия 1.3]
22.01.2015: Kruptar Open Source
18.10.2014: Релиз обновлённой русской версии Castlevania - Dawn of Sorrow (GBA) от Owls Group
01.05.2014: Релиз русской версии Taiyou no Yuusha Firebird (NES)
24.06.2012: Добавлена доработанная документация и инструкция
26.05.2012: Обновление ORITON [версия 2.050]
11.05.2012: Обновление ORITON [версия 2.048]
11.03.2012: Обновление Kruptar 7 [версия 7.1.1.17]
29.01.2012: Обновление LZ77Restructor 2 [версия 1.02]
01.01.2012: Релиз русской версии Drill Dozer (GBA)

Подробнее на страничке новостей.
Ознакомьтесь с правилами нашего форума.


  • Форум
  • Поиск
  • Вход
  • Регистрация

  • Форум Magic Team »
  • Переводы, переводы, переводы... »
  • Ромхакинг и перевод »
  • Поиск хекс-значений по маске (с wildcard)
« предыдущая тема следующая тема »
  • Печать
Страницы: [1]   Вниз

Автор Тема: Поиск хекс-значений по маске (с wildcard)  (Прочитано 9186 раз)

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

Оффлайн Anton

  • Пользователь
  • Сообщений: 325
  • Репутация: +7/-0
    • Просмотр профиля
    • Zelda64rus
Поиск хекс-значений по маске (с wildcard)
« : 31 Марта 2012, 16:33:04 »
Есть ли способ, зная, скажем, первые 10 байт, найти все 12-байтные последовательности байтов?
Скажем, в тексте встречается 800 12-байтных кодов, первые 10 байт в которых 000E0001000900040000.
Мне надо найти 000E0001000900040000???? - типа так. (поиск с wildcard, короче).
И потом сохранить все это в текстовый файл/буфер обмена, после чего убрать повторяющиеся и занести результат в таблицу.

Единственные два хекс-редактора, из кучи опробованных, которые хоть как-то это делают - wind hex и win hex.
Первый все находит, но в файл выводит адреса, по которым находятся коды, но не сами коды.
Второй находит, подсвечивает найденное, но не выделяет найденное, соответственно я не могу скопировать.

А руками как-то страшновато перебирать...

Оффлайн Джинни

  • Администратор
  • Сообщений: 1339
  • Репутация: +666/-0
  • Metamorphosis
    • Просмотр профиля
    • Magic Team
Поиск хекс-значений по маске (с wildcard)
« Ответ #1 : 31 Марта 2012, 17:31:53 »
Способ один - написать программу. Зачем тебе это?

Оффлайн Anton

  • Пользователь
  • Сообщений: 325
  • Репутация: +7/-0
    • Просмотр профиля
    • Zelda64rus
Поиск хекс-значений по маске (с wildcard)
« Ответ #2 : 31 Марта 2012, 17:34:46 »
Ну как зачем, в таблицу позаносить...

вот вручную нашел:

000E0001000C000400060067={Tag 255}
000E0001000C000400060069={Tag 255001}
000E0001000C00040006006D={Tag 255002}
000E0001000C000400060070={Tag 255003}
000E0001000C000400060071={Tag 255004}
000E0001000C000400060072={Tag 255005}
000E0001000C000400060078={Tag 255006}
000E0001000C000400060083={Tag 255007}
000E0001000C000400060086={Tag 255008}
000E0001000C00040006008A={Tag 255009}
000E0001000C00040006009F={Tag 255010}
000E0001000C0004000600A1={Tag 255011}
000E0001000C0004000600A3={Tag 255012}
000E0001000C0004000600A4={Tag 255013}
000E0001000C0004000600A5={Tag 255014}
000E0001000C0004000600A9={Tag 255015}
000E0001000C0004000600AA={Tag 255016}
000E0001000C0004000600AB={Tag 255017}
000E0001000C0004000600BA={Tag 255018}
000E0001000C0004000600C0={Tag 255019}
000E0001000C0004000600C1={Tag 255020}
000E0001000C0004000600C2={Tag 255021}
000E0001000C0004000600C9={Tag 255022}
000E0001000C0004000600CA={Tag 255023}
000E0001000C0004000600D0={Tag 255024}
000E0001000C0004000600D1={Tag 255025}
000E0001000C0004000600D9={Tag 255026}
000E0001000C0004000600DE={Tag 255027}
000E0001000C0004000600E2={Tag 255028}
000E0001000C0004000600E3={Tag 255029}
000E0001000C0004000600EC={Tag 255030}
000E0001000C0004000600F0={Tag 255031}
000E0001000C0004000600F3={Tag 255032}
000E0001000C0004000600F4={Tag 255033}
000E0001000C0004000600F8={Tag 255034}
000E0001000C0004000600F9={Tag 255035}
000E0001000C000400060128={Tag 255036}
000E0001000C000400060192={Tag 255037}
000E0001000C0004000601F5={Tag 255038}
000E0001000C0004000601F6={Tag 255239}
000E0001000C0004000601F9={Tag 255240}
000E0001000C0004000601FE={Tag 255241}
000E0001000C0004000601FF={Tag 255242}
000E0001000C00040006020A={Tag 255243}
000E0001000C000400060223={Tag 255244}
000E0001000C000400060224={Tag 255245}
000E0001000C000400060225={Tag 255246}
000E0001000C000400060226={Tag 255247}
000E0001000C000400060227={Tag 255248}
000E0001000C000400060259={Tag 255249}
000E0001000C00040006025A={Tag 255250}
000E0001000C00040006025D={Tag 255251}
000E0001000C000400060262={Tag 255252}
000E0001000C000400060288={Tag 255253}
000E0001000C000400060289={Tag 255254}
000E0001000C00040006028A={Tag 255255}
000E0001000C00040006028B={Tag 255256}
000E0001000C00040006028C={Tag 255257}
000E0001000C00040006028D={Tag 255258}
000E0001000C00040006028E={Tag 255259}
000E0001000C00040006028F={Tag 255260}
000E0001000C000400060290={Tag 255261}
000E0001000C000400060299={Tag 255262}
000E0001000C0004000602A5={Tag 255263}
000E0001000C0004000602B1={Tag 255264}
000E0001000C0004000602B2={Tag 255265}
000E0001000C0004000602BB={Tag 255266}
000E0001000C000400060386={Tag 255267}
000E0001000C000400060388={Tag 255268}
000E0001000C00040006038C={Tag 255269}
000E0001000C000400060394={Tag 255270}
000E0001000C000400060396={Tag 255271}
000E0001000C0004000603A0={Tag 255272}
000E0001000C0004000603AC={Tag 255273}
000E0001000C0004000603AF={Tag 255274}
000E0001000C0004000603B0={Tag 255275}
000E0001000C0004000603B1={Tag 255276}
000E0001000C0004000603B6={Tag 255277}
000E0001000C0004000603BB={Tag 255278}

а это только на основе одного 10-байтного 000E0001000C00040006...

Оффлайн JurasskPark

  • Администратор
  • Сообщений: 1307
  • Репутация: +37/-666
    • Просмотр профиля
    • JurasskPark
Поиск хекс-значений по маске (с wildcard)
« Ответ #3 : 31 Марта 2012, 22:32:48 »
Я попытался программу написать, но не получается.  :'(

Оффлайн Anton

  • Пользователь
  • Сообщений: 325
  • Репутация: +7/-0
    • Просмотр профиля
    • Zelda64rus
Поиск хекс-значений по маске (с wildcard)
« Ответ #4 : 31 Марта 2012, 23:26:22 »
Спасибо, но немного не то.
Она считает по порядку, от 00 до FF.
В игре же есть пропуски:

000E0001000900040000002D={1940 30}
000E0001000900040000002E={1940 31}
000E00010009000400000030={1940 32}
000E00010009000400000031={1940 33}
000E0001000900040000003D={1940 34}
000E00010009000400000042={1940 35}
000E00010009000400000052={1940 36}
000E00010009000400000053={1940 37}
000E00010009000400000054={1940 38}
000E00010009000400000056={1940 39}
000E00010009000400000057={1940 40}
000E000100090004000000FF={1940 41}
000E00010009000400000100={1940 42}
000E00010009000400000200={1940 43}
000E00010009000400000203={1940 44}
000E00010009000400000207={1940 45}
......................
000E00010009000400001F1C={1940 155}
000E00010009000400002000={1940 156}
000E00010009000400003A00={1940 157}
000E00010009000400004000={1940 158}
000E00010009000400004026={1940 159}
000E00010009000400004200={1940 160}
000E00010009000400004226={1940 161}
000E0001000900040000FF00={1940 162}
000E0001000900040000FF01={1940 163}
000E0001000900040000FF05={1940 164}

Из 805 кодов (точнее, их over 1000 - 805 только в одном из шести архивов с текстами), где первые 10 байт 000E0001000900040000, нашлись 164 разных.
Три часа сидел, и это только 000E0001000900040000хххх.

В HexWorkshop версии 6.6 появился поиск по маске (типа: 0F??3500).
И он даже копирует hex value найденной позиции в буфер, но, падла, только по одной. Все сразу - только адреса.

Представляю, что получится за таблица...
Можно, конечно, оставить 10 байт кода={название}, и в круптаре будет: {название}/xx/xxТекст...
Но хочется ж красиво...

Помогите лучше с плагином...

Оффлайн TrickZter

  • Magic Team
  • Сообщений: 1324
  • Репутация: +15/-5
  • The cake is a lie.
    • Просмотр профиля
Поиск хекс-значений по маске (с wildcard)
« Ответ #5 : 02 Апреля 2012, 05:52:58 »
Цитата: Anton от 31 Марта 2012, 23:26:22
Можно, конечно, оставить 10 байт кода={название}, и в круптаре будет: {название}/xx/xxТекст...
Но хочется ж красиво...
Разве {Tag 255275} - красиво?
По мне так {X}/xx/xx даже лучше чем {Tag xxxxxx}

Оффлайн Anton

  • Пользователь
  • Сообщений: 325
  • Репутация: +7/-0
    • Просмотр профиля
    • Zelda64rus
Поиск хекс-значений по маске (с wildcard)
« Ответ #6 : 02 Апреля 2012, 08:01:54 »
Цитата: TrickZter от 02 Апреля 2012, 05:52:58
Разве {Tag 255275} - красиво?

А {1940 хх}Текст... - красивее?
Все равно перед многими текстами будет какой-то код из таблицы. И просто {X} (если ты имеешь в виду один символ) - никак не получится, кодов очень много, даже если только 10 байтные оставить.
Плюс вместо /xx/xx могут попадаться буквы, которые можно случайно затереть.

Оффлайн Anton

  • Пользователь
  • Сообщений: 325
  • Репутация: +7/-0
    • Просмотр профиля
    • Zelda64rus
Поиск хекс-значений по маске (с wildcard)
« Ответ #7 : 03 Апреля 2012, 21:38:01 »
Если кому вдруг интересно.
Через bookmarks проблема решилась. (Hex Workshop 6.6.1.x и выше).
Выделить все найденное в окошке Results, правой мышой -> Add bookmark, назвать, потом сохранить закладку в файл (Tools -> Bookmarks), потом его открыть -  в окошке Results покажет уже hex values - в Results на пустом поле правой мышой - экспорт в txt.
 Дальше открыть txt в экселе, убрать лишние колонки, отфильтровать по алфавиту и убрать дубликаты. Ctrl+C.
Ctrl+V в таблицу.

  • Печать
Страницы: [1]   Вверх
« предыдущая тема следующая тема »
  • Форум Magic Team »
  • Переводы, переводы, переводы... »
  • Ромхакинг и перевод »
  • Поиск хекс-значений по маске (с wildcard)
 

  • SMF 2.0.12 | SMF © 2011, Simple Machines
  • XHTML
  • RSS
  • Мобильная версия

  • GreenUP by Neekiinh0.

Размер занимаемой памяти: 2.25 мегабайта.
Страница сгенерирована за 0.058 секунд. Запросов: 38.