Список форумов shedevr.org.ru shedevr.org.ru
Группа перевода приставочных игр "ШЕДЕВР"
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

robocop 3
На страницу Пред.  1, 2, 3  След.
 
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Базовый ромхакинг
Предыдущая тема :: Следующая тема  
Автор Сообщение
&ryu



Зарегистрирован: 09.10.2004
Сообщения: 259
Откуда: Город Юности

СообщениеДобавлено: Пн Июн 26, 2006 2:53 pm    Заголовок сообщения: Ответить с цитатой

To HoRRoR:
Хватит уже...
To АнС:
А разве Translhextion так умеет? Shocked
_________________
"Человек сам вершит свою судьбу..."(Ричард Рал)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Пн Июн 26, 2006 3:07 pm    Заголовок сообщения: Ответить с цитатой

&ryu писал(а):
To HoRRoR:
Хватит уже...

Да все, не буду. Ты уже второй, кто мне это говорит(вернее пишет).
В данном случае я хотел сказать, что в его ситуациях я искал подобное вручную.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Пн Июн 26, 2006 3:15 pm    Заголовок сообщения: Ответить с цитатой

&ryu писал(а):
To АнС:
А разве Translhextion так умеет? Shocked


Да, используешь "*" в Search Relative.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Пн Июн 26, 2006 3:21 pm    Заголовок сообщения: Ответить с цитатой

АнС писал(а):
Да, используешь "*" в Search Relative.

Круто! Я и не знал...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
&ryu



Зарегистрирован: 09.10.2004
Сообщения: 259
Откуда: Город Юности

СообщениеДобавлено: Пн Июн 26, 2006 3:24 pm    Заголовок сообщения: Ответить с цитатой

АнС писал(а):

Да, используешь "*" в Search Relative.

Так же как в обычном? Прикольно! Smile
_________________
"Человек сам вершит свою судьбу..."(Ричард Рал)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Axel
Советник


Зарегистрирован: 14.11.2003
Сообщения: 680

СообщениеДобавлено: Пн Июн 26, 2006 3:37 pm    Заголовок сообщения: Ответить с цитатой

&ryu писал(а):
АнС писал(а):

Да, используешь "*" в Search Relative.

Так же как в обычном? Прикольно! Smile

хехе, даже ПП2 так умеет...
(только маск'ирование полубайтов я не стал делать...нужды не было...)
_________________
Всех их вместе переведём!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
&ryu



Зарегистрирован: 09.10.2004
Сообщения: 259
Откуда: Город Юности

СообщениеДобавлено: Пн Июн 26, 2006 7:40 pm    Заголовок сообщения: Ответить с цитатой

А есть что-нибудь, что ищет ОДИНАКОВЫЕ неизвестные байты, расположенные через один байт?
всмысле: **XX**XX** (Где "XX" - неизвестные одинаковые байты, а "*" - любые)?
_________________
"Человек сам вершит свою судьбу..."(Ричард Рал)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Axel
Советник


Зарегистрирован: 14.11.2003
Сообщения: 680

СообщениеДобавлено: Пн Июн 26, 2006 8:50 pm    Заголовок сообщения: Ответить с цитатой

&ryu писал(а):
А есть что-нибудь, что ищет ОДИНАКОВЫЕ неизвестные байты, расположенные через один байт?
всмысле: **XX**XX** (Где "XX" - неизвестные одинаковые байты, а "*" - любые)?

а эти "одинаковые" тоже любые ?
в том смысле, что искалка должна какбы перебирать комбинации
??01??01??01??01
??02??02??02??02
...
??FF??FF??FF??FF

так ?
_________________
Всех их вместе переведём!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Пн Июн 26, 2006 10:38 pm    Заголовок сообщения: Ответить с цитатой

&ryu писал(а):
А есть что-нибудь, что ищет ОДИНАКОВЫЕ неизвестные байты, расположенные через один байт?
всмысле: **XX**XX** (Где "XX" - неизвестные одинаковые байты, а "*" - любые)?


Есть... и Аксель даже видел исходники Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Axel
Советник


Зарегистрирован: 14.11.2003
Сообщения: 680

СообщениеДобавлено: Пн Июн 26, 2006 10:44 pm    Заголовок сообщения: Ответить с цитатой

АнС писал(а):
...и Аксель даже видел исходники Wink

а ведь точно, у меня что-то в голове крутилось, но вспомнить не сумел... :)

кстати, в той проге еще и формулы можно было писать... Wink
_________________
Всех их вместе переведём!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
&ryu



Зарегистрирован: 09.10.2004
Сообщения: 259
Откуда: Город Юности

СообщениеДобавлено: Вт Июн 27, 2006 11:12 am    Заголовок сообщения: Ответить с цитатой

У меня такое ощущение, что что тестят мою соображалку :D

Вообще, эта идея появилась у меня год-полтора назад. У меня возник вопрос: "А почему бы не сделать прогу, которая будет искать поинтеры по смещениям текста?" При необходимости, добавлять различные варианты.
При продумывании алгоритма я пришёл к такому выводу:
У нас есть смещения строк, идущих друг за другом, например:
h1AD25
h1AD50
h1AD75
Значит пойнтеры у нас будут: 25AD50AD75AD. Но это в идеале, а на самом деле будет там не AD, а что-нибудь другое (из-за хедера например). Но соль в том, что они практически в любом случае будут одинаковы. И значит искать нам нужно 25XX50XX75XX (где "XX", естественно, одинаковый неизвестный байт.)
А если следующая строка имела бы смещение, например h1AE00, то наша чудо-прога ( Smile ) простым вычислением AE-AD вычисляет, что дальше должен идти пойнтер "(XX+1)00". В идеале, нам даже не нужно было бы указывать все смещения строк, а только смещения начала и конца текста. Смещения строк она смогла бы вычислить по стоп-байтам. Но так как навыки программинга у меня тогда были никакие, то всё это так и осталось лишь на "бумаге". Что поделать, у меня теоритический склад ума Smile
_________________
"Человек сам вершит свою судьбу..."(Ричард Рал)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Вт Июн 27, 2006 11:27 am    Заголовок сообщения: Ответить с цитатой

&ryu писал(а):
Вообще, эта идея появилась у меня год-полтора назад. У меня возник вопрос: "А почему бы не сделать прогу, которая будет искать поинтеры по смещениям текста?" При необходимости, добавлять различные варианты.
При продумывании алгоритма я пришёл к такому выводу:
У нас есть смещения строк, идущих друг за другом, например:
h1AD25
h1AD50
h1AD75
Значит пойнтеры у нас будут: 25AD50AD75AD. Но это в идеале, а на самом деле будет там не AD, а что-нибудь другое (из-за хедера например). Но соль в том, что они практически в любом случае будут одинаковы. И значит искать нам нужно 25XX50XX75XX (где "XX", естественно, одинаковый неизвестный байт.)
А если следующая строка имела бы смещение, например h1AE00, то наша чудо-прога ( Smile ) простым вычислением AE-AD вычисляет, что дальше должен идти пойнтер "(XX+1)00". В идеале, нам даже не нужно было бы указывать все смещения строк, а только смещения начала и конца текста. Смещения строк она смогла бы вычислить по стоп-байтам. Но так как навыки программинга у меня тогда были никакие, то всё это так и осталось лишь на "бумаге". Что поделать, у меня теоритический склад ума Smile


Эта идея в автоматизации поиска таблицы релативсерчем. Не пройдёт. :-] Тут элементы системы надо задействовать другим образом - работу оставить ручной (так как таблицы не всегда имеют ту идеальную структуру, так что их поиск требует творческого подхода, а не машинного), а инструмент (релативсерчер) усовершенствовать... Rolling Eyes И я даже не совсем практик... хотя до внедрения в производство тоже пока не дошёл...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Вт Июн 27, 2006 11:31 am    Заголовок сообщения: Ответить с цитатой

Я сейчас думаю над прогой для Little Ninja Brothers(NES), которая будет считывать из оригинала стоп-байты и указатели, проделывать подобное и с измененным файлом, а затем прописывать нужные указатели в измененный файл. Нужно будет просто занести в прогу смещения начала и конца таблиц указателей, и смещения начала и конца блоков текста.

Правда, сначала нужно подучить VB 6.0, а то я не могу сие проделать из-за непонимания: как с помощью оператора GET#(не буду писать, какого плохого и нехорошего Smile ) вынуть байты по определенным смещениям в переменную типа byte. Ни в одной документации я это не встречал, там указывается только про номера каких-то записей, но говориться, что при двоичном доступе к файлу, можно считывать конкретные одиночные байты.
Помогите кто-нибудь!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
&ryu



Зарегистрирован: 09.10.2004
Сообщения: 259
Откуда: Город Юности

СообщениеДобавлено: Вт Июн 27, 2006 11:42 am    Заголовок сообщения: Ответить с цитатой

АнС писал(а):

Эта идея в автоматизации поиска таблицы релативсерчем. Не пройдёт. :-] Тут элементы системы надо задействовать другим образом - работу оставить ручной (так как таблицы не всегда имеют ту идеальную структуру, так что их поиск требует творческого подхода, а не машинного), а инструмент (релативсерчер) усовершенствовать... Rolling Eyes И я даже не совсем практик... хотя до внедрения в производство тоже пока не дошёл...

Вообще-то эта идея взята из Круптара. Только подана другим боком. Для ВСЕХ случаев это естественно не подойдёт. Но для большинства - да. К тому же я два варианта думал: Релатив Пойнтер Сёрч, и простой поиск с усовершенствованиями (то о чём ты говоришь). А если в прогу ещё и добавлять новые вариации (например с помощью линкуемых библиотек), то уйти можно далеко.
Вся соль тут в том, что старики найдут и так, а новички и с этой прогой далеко не уйдут, если учиться не будут. Да и попасть может не в те руки. Но тем не менее.
_________________
"Человек сам вершит свою судьбу..."(Ричард Рал)


Последний раз редактировалось: &ryu (Пт Июн 30, 2006 5:33 am), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Вт Июн 27, 2006 11:49 am    Заголовок сообщения: Ответить с цитатой

HoRRoR писал(а):
Я сейчас думаю над прогой для Little Ninja Brothers(NES), которая будет считывать из оригинала стоп-байты и указатели, проделывать подобное и с измененным файлом, а затем прописывать нужные указатели в измененный файл. Нужно будет просто занести в прогу смещения начала и конца таблиц указателей, и смещения начала и конца блоков текста.


Это ты пишешь рекалькулятор поинтеров.


&ryu писал(а):
Вся соль тут в том, что старики найдут и так,


Ну, облегчить труд она уж точно поможет.


&ryu писал(а):
Да и попасть может не в те руки. Но тем не менее.


В каком смысле? Very Happy
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
&ryu



Зарегистрирован: 09.10.2004
Сообщения: 259
Откуда: Город Юности

СообщениеДобавлено: Вт Июн 27, 2006 11:54 am    Заголовок сообщения: Ответить с цитатой

HoRRoR писал(а):
Я сейчас думаю над прогой для Little Ninja Brothers(NES), которая будет считывать из оригинала стоп-байты и указатели, проделывать подобное и с измененным файлом, а затем прописывать нужные указатели в измененный файл. Нужно будет просто занести в прогу смещения начала и конца таблиц указателей, и смещения начала и конца блоков текста.

Не изобретай велосипед. Скачай Круптар.

АнС писал(а):
Ну, облегчить труд она уж точно поможет.

Вот-вот. :)

АнС писал(а):
В каком смысле? Very Happy

Просто вспомнил:
1. Обоснование невыкладывания ПП2
2. Чудо природы. Smile
_________________
"Человек сам вершит свою судьбу..."(Ричард Рал)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Вт Июн 27, 2006 12:12 pm    Заголовок сообщения: Ответить с цитатой

&ryu писал(а):
Не изобретай велосипед. Скачай Круптар.

А там есть такая фишка? Круто! Ну а в идеале конечно лучше написать индивидуальную прогу.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Вт Июн 27, 2006 12:32 pm    Заголовок сообщения: Ответить с цитатой

HoRRoR писал(а):
А там есть такая фишка? Круто! Ну а в идеале конечно лучше написать индивидуальную прогу.


Как раз в реале лучше написать индивидуальную прогу, так как для конкретных ситуаций комбайны не очень хорошо подходят.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
&ryu



Зарегистрирован: 09.10.2004
Сообщения: 259
Откуда: Город Юности

СообщениеДобавлено: Вт Июн 27, 2006 1:29 pm    Заголовок сообщения: Ответить с цитатой

АнС писал(а):

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


В новом будет (вернее уже есть) поддержка линкуемых библиотек. Написал DLL-ку и всё Smile Правда сейчас это практически невозможно сделать, т.к. это недокументированно Smile
_________________
"Человек сам вершит свою судьбу..."(Ричард Рал)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
IfoR



Зарегистрирован: 16.05.2006
Сообщения: 334

СообщениеДобавлено: Вт Июн 27, 2006 4:44 pm    Заголовок сообщения: Ответить с цитатой

HoRRoR писал(а):
Правда, сначала нужно подучить VB 6.0, а то я не могу сие проделать из-за непонимания: как с помощью оператора GET#(не буду писать, какого плохого и нехорошего Smile ) вынуть байты по определенным смещениям в переменную типа byte. Ни в одной документации я это не встречал, там указывается только про номера каких-то записей, но говориться, что при двоичном доступе к файлу, можно считывать конкретные одиночные байты.
Помогите кто-нибудь!


Для начала нужно объявить переменную для записи в неё байта (если объявить обычную как цифровое значение (стандарт), то в неё будет писаться всякая ерунда). Делается это так. В самое начало кода программы пишем такую строку: (в качестве переменной будет A)
Dim A as Byte

На всякий случай (во избежание ошибок) объявим цифровую переменную, в которую будет писаться номер отрытого файла. Пишем дальше: (в качестве переменной будет B)
Dim B

Затем пишем эти строки туда, где нужно открыть заранее выбранный файл. (C - текстовая переменная в которой путь к файлу)
B = FreeFile 'Пишем в переменную свободный номер
Open С For Binary As #B

Далее идёт считывание байта из файла. Синтаксис: Get #Номер_Файла,[Номер считывающего байта. Начиная с 1!!!],Переменная. Если Номер считывающего байта пропущен, то считывание идёт поочерёдно. Пишем: (Считываем байт по адресу 1ADh=429+1=430)
Get #B, 430, A

Теперь в переменной A находится содержимое байта по адресу 1ADh. Для записи байта в файл используется команда PUT. Синтаксис такой же только в переменной должно содержатся то, что нужно записать в файл. Пример: (Пишем в файл по адресу 430 значение в переменой A)
Put #B, 430, A

Теперь в файле записано то, что в переменой A. После того, когда нам файл уже не нужен нам нужно его закрыть (для освобождения номера файла). Пишем:
Close #B 'Если номер файла пропустить и написать просто Close, то закроются все открытые файлы.

Вроде всё.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Axel
Советник


Зарегистрирован: 14.11.2003
Сообщения: 680

СообщениеДобавлено: Вт Июн 27, 2006 6:48 pm    Заголовок сообщения: Ответить с цитатой

Ura_Orlov писал(а):
Для начала нужно объявить переменную...

Ura,
отличное пояснение к моему коду Smile
http://www.shedevr.org.ru/forum/viewtopic.php?p=19195#19195

я, правда, и сам люблю объяснения, начинающиеся словами
"...сначала, Земля была раскалённым шаром...", но в этом
конкретном случае, я сдался... просто рано...
ему еще, как завещал нам дедушка Л. - учиться, учиться и ... Smile
...к сожалению, пока, не в коня корм...
(почитай ту ветку, всё сам поймешь...)

[edit]
да и не тот это форум, чтобы вот так всё разжевывать...
_________________
Всех их вместе переведём!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Вт Июн 27, 2006 7:09 pm    Заголовок сообщения: Ответить с цитатой

Огроооооооооооооооооооомное спасибо вам обоим!!! Век буду благодарен(если проживу Smile ).
Я раньше вроде и это пробовал, но кроме нулей ничего не выдавалось... Тупой я, короче.
Axel, не обижайся, что я с твоего кода не допер(я в нем копался, честно), просто первый раз я РЕАЛЬНО взялся за VB только сегодня(даже програмку состряпал для вычисления указателей поинтеров по смещениям и обратно), а адаптироваться после номеров строк и $ в конце текстовых переменных сложновато...
Ura_Orlov, все документации о GET# и PUT# по сравнению с тобой - отстой! Короче, еще раз огромное спасибо, Axel'ю тоже. :jump:

З.Ы. Если что не так - искренне прошу прощения. И извините за тупость - я ведь только учусь.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Гость






СообщениеДобавлено: Вт Июн 27, 2006 7:32 pm    Заголовок сообщения: Ответить с цитатой

ты, только имей ввиду, что в отличает от Юриных объяснений
в моём примере кода смещенния считаются с НУЛЯ, а не единицы...
(всё дело в волшебных пузырьках Smile )
Код:

ReDim myROM(0 To LOF(1))


а в принипе, он всё правильно написал...
Вернуться к началу
Axel
Советник


Зарегистрирован: 14.11.2003
Сообщения: 680

СообщениеДобавлено: Вт Июн 27, 2006 7:39 pm    Заголовок сообщения: Ответить с цитатой

да, кстати, чтобы избавиться от "лишнего" нолика в конце
результирующего рома должно быть так:
ReDim myROM(0 To LOF(1) -1)
_________________
Всех их вместе переведём!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Вт Июн 27, 2006 8:23 pm    Заголовок сообщения: Ответить с цитатой

Я сейчас пишу прогу, которая пересчитывает стоп-байты в LNB, выписывает их адреса и вычисляет указатель следующего байта.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Базовый ромхакинг Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3  След.
Страница 2 из 3

 
Перейти:  
Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group