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

Азм Есьм "Поинтеры"...Иже паки...
На страницу Пред.  1, 2
 
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Перевод для PSX
Предыдущая тема :: Следующая тема  
Автор Сообщение
CaH4e3



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

СообщениеДобавлено: Вс Июн 20, 2004 9:03 pm    Заголовок сообщения: Ответить с цитатой

На второй соньке оригинальный диск 10 финалки тоже показывает несколько файлов метров на пять в общей сложности. Все остальные данные записаны вне файловой системы... Хотя копируются то они без проблем...

Не слышал, чтобы для первой соньки такое практиковалось, но субканалы тут ни при чем... Просто игра читает сектора как-то по своему, не используя файловую систему...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
SergeyK



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

СообщениеДобавлено: Пн Июн 21, 2004 2:33 am    Заголовок сообщения: Ответить с цитатой

Спорим на ящик пивца, что найду поинтеры в SilentHill? Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
xaxatun



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

СообщениеДобавлено: Пн Июн 21, 2004 9:30 am    Заголовок сообщения: Ответить с цитатой

Разбиваю, разбиваю, свою долю получаю! Razz Laughing
_________________
Пика, пика... ЧУ!!!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Chippy



Зарегистрирован: 27.01.2004
Сообщения: 68
Откуда: Курск

СообщениеДобавлено: Пн Июн 21, 2004 11:06 am    Заголовок сообщения: Ответить с цитатой

SergeyK писал(а):
Спорим на ящик пивца, что найду поинтеры в SilentHill? Smile


Да ну! А за доставку ящика пива кто платить будет?
Ну а если серьезно, где они?
Как можно текст удлиннять то?
_________________
Hello, Comrades
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
ArtNick



Зарегистрирован: 21.01.2004
Сообщения: 106
Откуда: Россия, Алтайский край

СообщениеДобавлено: Пн Июн 21, 2004 11:33 am    Заголовок сообщения: Ответить с цитатой

чиппи, читай мыло.. кой что там тебе писал по этому поводу..
хотя, я смотрю, г-н Orlangoor тебе и так уже почти всё рассказал..
успевший покопать игры народ потихоньку всё увеличивается и увеличивается.. Smile
да.. по поводу Xenogears.. посмотрите его ISO Buster'ом и жить станет намного проще ;)

ЗЫ РГР этот диск просто пересобрали с нуля, поэтому там все файлы видно.. это всё пакости от сквера.. они как-то TOC уродуют.. так, что потом записей о файлах не видно через винду.. г-н LedZeppelin говорил, что разбирался как и что изменено в TOC, и делал файлы "видимыми".. хотя, они вроде нормально достаются ISO Buster'ом..

ЗЫ 2 для тех, кто в танке TOC - Table of Contents таблица с записями о файлах, вроде таблицы FAT или MFT (для NTFS) (по крайней мере, выполняет ту же функцию - хранит список файлов, их размеры, занимемые физисечкие адреса)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Orlangoor



Зарегистрирован: 09.06.2004
Сообщения: 217
Откуда: Ярославль

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

Chippy писал(а):
Ну а если серьезно, где они?
Как можно текст удлиннять то?


А мож у тебя и вправду разработчики извращенцы и садомазохисты? Попробуй просто удлиннить строку раздвинув разделительные нули.

Да кстати, ты спрашивал как читать файл если он дофига места занимает. Я же говорил тебе - используй хороший редактор (Возьми последний HIEW, не пожалеешь, и не будь букой, заплати 10$, SEN очень хороший человек. Ну или хоть последнюю фриварную версию возьми чтоли.. тебе за глаза хватит). Кстати Если всетаки будешь резать, то проблемы с адресами опять же решит базирование.
_________________
Человек не должен зависеть от длины своего меча. Миямото Мусаси "Книга Пяти Колец"
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
CaH4e3



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

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

Там проблема с пойнтерами только одна - надо найти базу, с которой куски с текстами и указателями грузятся в память... Потмоу как недалече текстовых строк прямо штабелями лежат таблицы из указателей типа 0x8003xxx... Можно, конечно, вычислить, какие пойнтеры чему принадлежат, сверяя длины строки и разницу в пойнтерах... Но это, конено несколько геморрновато...

А вообще, ввсе строки выровнены по границе двойного слова, тоесть 4 байт... И в некоторых строках - да во многих, места чуть больше, чем требуется - на два, на один символ пустого места...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Chippy



Зарегистрирован: 27.01.2004
Сообщения: 68
Откуда: Курск

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

CaH4e3 писал(а):
А вообще, ввсе строки выровнены по границе двойного слова, тоесть 4 байт... И в некоторых строках - да во многих, места чуть больше, чем требуется - на два, на один символ пустого места...


ВО-ВО!
Если строку удлиннить впритык до следующего слова, то в игре будет одно длинное слово состоящее из этих двух.
Например:
В кодах лежит "00START000LOAD00.."
Подлеваем START: "00STARTWWWLOAD00"
Получаем в игре на титульном экране:
STARTWWWLOAD (вместо START)
LOAD
OPTION
А если удалить S из START (получится 000TART000LOAD)
То в игре слова START не будет вообще.
"пусто"
LOAD
OPTION
_________________
Hello, Comrades
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Chippy



Зарегистрирован: 27.01.2004
Сообщения: 68
Откуда: Курск

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

2Orlangoor
Халяву я люблю, я же русский Very Happy Laughing
Но для своих не жалко, тем более 300 р, за такую убойную вещь!
HIEW-катит, рулит, обгоняет!!!


2ArtNick Где мыло-то, что то нету, ты мне отсылал?
_________________
Hello, Comrades
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
CaH4e3



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

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

Ноль является признаком конца строки... Каждая строка текста должня оканчиваться нулевым символом, так что если остаток - три нуля, то символов для вставки всего 2, последний из 4-х должен быть обязательно нулевым.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Orlangoor



Зарегистрирован: 09.06.2004
Сообщения: 217
Откуда: Ярославль

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

CaH4e3 писал(а):
Там проблема с пойнтерами только одна - надо найти базу, с которой куски с текстами и указателями грузятся в память... Потмоу как недалече текстовых строк прямо штабелями лежат таблицы из указателей типа 0x8003xxx... Можно, конечно, вычислить, какие пойнтеры чему принадлежат, сверяя длины строки и разницу в пойнтерах... Но это, конено несколько геморрновато...


Ну так найти хоть один поинтер банальным сравнением (хотя и геморойным). А дальше база обычным вычитанием вычисляется. А почему бы на текст просто не поставить бряк в отладчике? Ассемблер шибко знать необязательно... Просто посмотреть смещение этой строки в памяти, вот и база. К тому же вычислению должно помочь то что база скорее всего довольно круглое число.
_________________
Человек не должен зависеть от длины своего меча. Миямото Мусаси "Книга Пяти Колец"
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
CaH4e3



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

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

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


Сравнением С ЧЕМ? Смещения в ресурсном файле и адреса размещения данных в памяти неизвестны и совершенно между собой не связаны... Обычным вычитанием добиться можно не всего, потому как указатели в тех таблицах идут не по порядку (может, это даже и не ТЕ указатели вовсе...)... Именно потому, что неизвестен адрес расположения в памяти, "поставить бряк" на текст нельзя... Ты представляешь себе, как вообще "ставятся бряки на текст"?
Если я знаю область памяти, в которую обращаяется функция для чтения строки текста, то мне уже не нужно ставить туда бряк, чтобы найти поинтер... И наоборот - если я НЕ знаю адреса, то бряки надо ставить вообще на ВСЮ память (или на что-то специфическое, вроде порта вывода, как на НЕС), чтобы найти ту ячейку, в которой лежит текст...
И база - это не обязательно круглое число, а точнее - совершенно не обязательно... Кусок файла может быть загружен в любое доступное в оперативке место, так что адреса строк могут начинаться с ЛЮБОГО доступного адреса...

Сергейка, достань ты, наконец, эти пойнтеры ж)))
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
ArtNick



Зарегистрирован: 21.01.2004
Сообщения: 106
Откуда: Россия, Алтайский край

СообщениеДобавлено: Вт Июн 22, 2004 6:18 am    Заголовок сообщения: Ответить с цитатой

Chippy писал(а):
2ArtNick Где мыло-то, что то нету, ты мне отсылал?

отсылал..
ЗЫ HIEW mustdie WinHEX 4ever =)
в WinHex'Е "In Place Edit" включаешь и всё.. никаких 10-минутных закрузок файла в память и таких же сохранений..
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Virtual_Killer



Зарегистрирован: 25.03.2004
Сообщения: 610
Откуда: Чекагинск

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

ArtNick писал(а):
.. г-н LedZeppelin говорил, что разбирался как и что изменено в TOC, и делал файлы "видимыми".. хотя, они вроде нормально достаются ISO Buster'ом..


ISO Buster их тоже не видит:


Я пробовал делать "Поиск пропущерных UDF файлов и папок" - не помогло.
Там есть ещё "Сканирование: файловая система", но оно почему-то не активно.
_________________
Не поймите меня правильно
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Orlangoor



Зарегистрирован: 09.06.2004
Сообщения: 217
Откуда: Ярославль

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

CaH4e3 писал(а):

Сравнением С ЧЕМ? Смещения в ресурсном файле и адреса размещения данных в памяти неизвестны и совершенно между собой не связаны... Обычным вычитанием добиться можно не всего, потому как указатели в тех таблицах идут не по порядку (может, это даже и не ТЕ указатели вовсе...)... Именно потому, что неизвестен адрес расположения в памяти, "поставить бряк" на текст нельзя... Ты представляешь себе, как вообще "ставятся бряки на текст"?
Если я знаю область памяти, в которую обращаяется функция для чтения строки текста, то мне уже не нужно ставить туда бряк, чтобы найти поинтер... И наоборот - если я НЕ знаю адреса, то бряки надо ставить вообще на ВСЮ память (или на что-то специфическое, вроде порта вывода, как на НЕС), чтобы найти ту ячейку, в которой лежит текст...
И база - это не обязательно круглое число, а точнее - совершенно не обязательно... Кусок файла может быть загружен в любое доступное в оперативке место, так что адреса строк могут начинаться с ЛЮБОГО доступного адреса...

Сергейка, достань ты, наконец, эти пойнтеры ж)))


Мля... Насчет поставить бряк чтобы определить поинтер я конечно ступил .... Embarassed Если адрес строки известен, то они нахрен не нужны.... Спасибо что поправил.

Но насчет сравнивания указателей (если это конечно те указатели) ведь можно посчитать длинну от начала одной строки до начала следующей, и после этого вычитанием пытатся найти эту длинну. Если найдена - один поинтер в кармане, а значит и база.

Насчет круглых чисел в качестве значения базы - ну я же не утверждал что она круглое число - я сказал что вполне вероятно. Просто компиляторы (если они не на голом асме писали) любят таким образом размещать данные для удобства отладки.

ArtNick писал(а):
ЗЫ HIEW mustdie WinHEX 4ever =)
в WinHex'Е "In Place Edit" включаешь и всё.. никаких 10-минутных закрузок файла в память и таких же сохранений..


Ты попробуй сначала hiew, а потом и говори. Даже после патча файла, он правит там только те байты которые изменил, так что никаких 10 минутных сохранений нет. А возможностей в hiew действительно немеряно (к сожалению правда многие из них связаны с оффтопиком x86 процессором). В hiew к примеру намного удобнее расшифровывать закодированные данные чем в WinHex. Я на Hiew сижу с 97 года, о чем еще не разу не пожалел.
_________________
Человек не должен зависеть от длины своего меча. Миямото Мусаси "Книга Пяти Колец"
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
CaH4e3



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

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

Orlangoor писал(а):
Но насчет сравнивания указателей (если это конечно те указатели) ведь можно посчитать длинну от начала одной строки до начала следующей, и после этого вычитанием пытатся найти эту длинну. Если найдена - один поинтер в кармане, а значит и база.

Гемор в том, что по одной строке найти указатель практически нереально... Либо таких указателей там будет куча (имеют место блоки с кучей одинаковых указателей), либо пойнтеры лежат не так, как строки - подряд - тогда сравнивать длины бесполезно...
Чтобы сравнивать, надо брать не одну длину строки, а целую серию длин, но тут уж руками сложновато - нуна прогу, которая будет выдавать в файл разницу между соседними двойными словами (благо в ЗЫЧ они не могут лежать на по некратным 4 адресам, так что прога будет работать один раз) и уже там искать свои последовательности...

Orlangoor писал(а):
Насчет круглых чисел в качестве значения базы - ну я же не утверждал что она круглое число - я сказал что вполне вероятно. Просто компиляторы (если они не на голом асме писали) любят таким образом размещать данные для удобства отладки.

Компиляторы тоже ничего не любят. Они размещают данные подряд, и каким по счету в этом ряду окажется буффер со строками - неизвестно. Единственное что известно, что компилятор кладет данные с выравниванием по границе двойного слова... Круглые адреса отлаживать ничем не легче, чем "некруглые", на чем бы ни была написана программа... Единственным соображением, из которого может исходить человек (причем именно на асме) - это красота... ;)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Chippy



Зарегистрирован: 27.01.2004
Сообщения: 68
Откуда: Курск

СообщениеДобавлено: Чт Июн 24, 2004 6:04 pm    Заголовок сообщения: Ответить с цитатой

А есть ли какой нибудь отладчик?
Или редактор памяти, типа как в PSXEmu была беда такая.
Типа SoftIce только для Соньки?



О ПОЙНТЕРЫ, ГДЕ ВЫ!!!!!!
_________________
Hello, Comrades
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
ArtNick



Зарегистрирован: 21.01.2004
Сообщения: 106
Откуда: Россия, Алтайский край

СообщениеДобавлено: Пн Июн 28, 2004 7:20 am    Заголовок сообщения: Ответить с цитатой

Chippy писал(а):
А есть ли какой нибудь отладчик?

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

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


Powered by phpBB © 2001, 2005 phpBB Group