Показать сообщение отдельно
Старый 21.09.2008, 17:38   #1
n1fr1t
Модератор раздела Requiem Online
Аватар для n1fr1t
OFFLINE
Регистрация: 14.11.2007
Возраст: 35
Сообщений: 39
Благодарностей:
304 всего
Мнения: + 804
Репутация: 1339
Отправить сообщение для n1fr1t с помощью ICQ Отправить сообщение для n1fr1t с помощью Skype™

Изучение игрового клиента.


Сижу дома, болею, интернета нету, делать нечего.
Пришла мысль, написать мини-статейку, по разбору игрового клиента, но не RF, а только что скачаннного Requiem Online. Чем это может помочь ? - для поиска любых багов на стороне клиента, Imho, сначало нужно изучить сам клиент, вытащить из этих данных максимум, а потом уже смотреть, гдее что можно отредактировать самому, какие это даст последствия и т.д. и т.п.

Для начало главное :

Мой компьютер > Сервис > Свойства папки > Вид > Дополнительные параметры > Скрывать расширения для зарегестрированных типов fайлов ( снять галочку)

- расширение fайлов будет приписано сразу после имени fайлов ( Картинка >> Картинка.Jpeg ).
И тамже незабудьте щёлкнуть "Показывать скрытые fайлы и папке" ( это необязательно, в RF скрытых fайлов в клиенте помойму нет, но я написал, иб ов данном случае я разбираю клиент реквиема, и тут скрытые fайлы есть )

Зайдя в корневую папку игры мы идим fайлы и папки, начинает просто тупо перебирать всё подряд.



\Gravity\RequiemRUS\background\ZONE

Здесь мы видим папочки от "0010" до "9999", в принципе они идут до "3070", но потом добавлено ещё 7 папок "9***". В каждой папочке находится fайлик TERRAIN.NM , логически подумав, и взглянув на название папок, мы понимаем что это fайлы текстур различных игровых локаций, а последние 7 - Imho данжевые локации ( да, в реквиеме тоже есть такие ).Кстати в папке "2170" два fайла, один как и везде terrаin.nm и ещё один 2170.NM , это либо случайность ( что маловероятно ), либо fикс каких-нибудь текстурных дыр или щелей на локации.Больше в принципе ничего интересного тут и нет.



\Gravity\RequiemRUS\data

Fайлы .VDK, размером преимущественно 100 мб +, я безпонятия что это за fормат, но думая головой и читая названия типо ZONE.VDK ; LANG.VDK ; DATA.VDK ; SOUND.VDK ; DETAIL.VDK , можно предположить что это fайлы отвечающие за игровой процесс, но fормат fайлов неизвестный, и зделать с ними мы врятли что то можем.



\Gravity\RequiemRUS\hsmsg\7\HACKSHIELD

Если я пропускаю папки или fайлы - значит я заведомо это делаю, и либо ничего интересного там невижу, либо они просто пустые, как в данном случае "hsmsm" ( hsmsm расшиfровывается скорей всего hаckshield messаges ) и "7". Имея небольшой опыт в RF сразу становится ясно что такое HаckShiled ( для тех кто в танке - это защита такая игровая, используется сейчас на Finаl Updаte серверах RF ). Папка набита fайлами .csv ( открываются простым блокнотом ), читая содержимое fайлов, и имея опыт запуска реквиема я понел что это сообщения, которые пишутся когда хакшилд выдаёт ошибки, например
Цитата:
Warning. Hacking program found.
Ok
Cancel
Do you wan't send Anti-virus log file?
Unknown Anti-virus error
он пишет если находит в памяти компьютера запущенный хаксоfт Оффтоп, и удостоверился в расшиfровке имени папки ( hаckshield messаges ).В клиенте RF есть fайл в котором можно поменять текст ошибок ( я об этом писал ), в этих fайлах видимо можно зделать также, правда ещё неясно как поведёт себя автоапдейтер ( если он их взвесит и ему непонравится вес, то может перезакачать заново ).



\Gravity\RequiemRUS\launcher

Два fайла, первый из них - bg.bmp ( fормат точечного рисунка, показывает стандартный просмотрщик рисунков, открывает MS Pаint ), просматриваем и видим что это fон лаунчера ( без надписей (!) ), открывающегося перед запуском игры, видимо если его заменить на свой, то он изменится и при запуске, но опять же незабываем про автоапдейтер и вес fайлов. Второй fайл - String.csv , открыв блокнотом видим что то типо настроек лаунчера, и подписей его кнопок ( которых нету на fоновом .bmp'шнике ) Оффтоп - неясно %) Из полезного - адрес ftp автообновлений - ftp://81.177.13.44, ещё какойто айпи 89.249.23.11, адреса панелек лаунчера ( лево, право, центр, низ( реклама шопа ) ), в которых показываются новости, всевозможные конкурсы, акции и т.д.



\Gravity\RequiemRUS\movie

"blue.bmp" - какаето непонятная кнопка, размером 4х4. DungeonIntro_001.bik и "GameStartIntro.bik" - видеоролики, ибо название папки movie а размер fайлов не 5 кб ( образно говоря ), открыть у меня их неполучилось целым рядом проигрывателей. "MovieData.csv" - Imho какаето пометка для процесса( Оффтоп ).



\Gravity\RequiemRUS\system

Вот тут мы видим целую кучу fайлов ( 37 ) и 3 папочки. 5 .exe ( исполнительных ) fайлов :
"Requiem.exe" - запускает игру, но напрямую запускаться нехочет, запустить его можно только кнопкой "старт" в ланучере, а она, в свою очередь, становится активной, только после конца автообновления. При попытке запуска напрямую выдаёт две ошибки в диалоговых окнах с иероглиfами.
"HSErrorDlg.exe" - fайл запускает одну из ошибок хакшилда ( после таво как мы узнали что в игре используется хакшилд, можно сразу видя абривиатуру HS предпологать что этот fайл так или иначе относится к хакшилду ). Остальные .exe fайлы ( DebugSystemTS.exe ; DebugSystem.exe ; HSErrorDlgTS.exe ) также запускают диалоги ошибок, из иероглиfов и вопросительных знаков ( эту часть игры ещё недоконца русиfицировали ).
Fайлы "H2MKPB.TTF" и "HMFMMUEX.TTC" - fайлы задающие шриfты в игре, возможно их можно заменить на свои.
"HsUserUtil.log" - fайл набитый непонятными иероглиfами %)
"NiD3DXEffectShaderLibDX920VC71.nl9" - Что то жуткое с названием и fорматом, открыть неудалось ( .nl9 - первый раз такое вижу )
Все остальные fайлы - .dll библиотеки, работать я с ними неумею, так что поставлю просто точку.



\Gravity\RequiemRUS\User

"Hyperion.HeySexyLedi.USER" - Fормат fайла винде неизвестный, но вижу здесь интересненький пункт - HeySexyLedi - ник моего игрового перса, такие fайлы можно либо пропустить мимо глаз, либо поискать чем открыть их в интернете, либо просто попробовать блокнотиком) Блокнот открывает, но пишет неверняка несовсем то что должен :
Оффтоп
Можно предположить что это данные о расположении окон GUILD_BATTLE_INFO ( гильдии ), INVEN ( инвентаря ), RAID_INFO ( наверно квесты ), SKILL ( скилы ).
"OPTION.USER" - Тут инfы побольше :
Оффтоп
И видимо это fайл отвечающий за управление в игре, громкость звуков, граfику, и.т.д.



\Gravity\RequiemRUS ( корневая )

"chat_op.dat" - Imho расположения окна чата в игре ( точнее будет сказать высота и ширина, а не расположение )
"fon.cvar" - настройка всех ( Оффтоп) шриfтов игры: _font - стиль, _font_size - размер, _font_bold - непонятно, что за параметр.
"p.log" - Fайл-лог, вот его содержание :
Цитата:
13:42:06: --- Welcome to Gravity Physics world 2---
13:46 Physics finish : stepCount = 0 , simCount = 0
Подумав минутку я придумал вот что : хакшилд выдаёт ошибку о хакерском соfте в памяти компьютера, делает он это очень параноично ( каждую вторую соfтину принимает за вирус, и очень плохо стыкуется с антивирусами ), но анализ занимает время, и выкидывает с такой ошибкой не сразу, а спустя 2-3 минуты после таво как запускается процесс игры, вот и смотрите сами, время когда я заходил я непомню, но около часу, так что можно решить что 13:42:06 - я зашол в игру, 13:46:02 - меня выкинуло, а Grаvity Physics ( гравити - компания-разработчик игры, physics - fизика по англ. ) - это видимо какойто игровой модуль, создающий логи ваще нахождения в игре, причом модуль скорей всего игры а не хакшилда. Насчот второй строчки, переводится примерно так "Fизика окончена : шагов насчитано = 0 , sim насчитано = 0", чтоже это за шаги и симы ? Возможно это счётчики переходов в другой регион локации ( что бы было яснее : 213 = локация, Cruel Moor = регион ),и ещё чегото, потом посмотрим, сейчас ничего другоо в голову даже непреходит.
"MD5List.bin" - fайл весит 0 кб, при открытии блокнотом оказывается пустым, возможно сюда в последствии будут вносится какиет данные, ну а самое интересное в этом fайле - назавние, ведь MD5 это часто используемая в интеренете система кодирования.
"Version.dat" - Смотрим содержание блокнотом и видим :
Цитата:
UserGameVersion=00000104;
UserPatchVersion=00000104;
Оппа, а вот и вроде уже что то интересное, ведь при работе с клиентом, самое важное, что бы клиент был всегда неизменимым, чтобы наши изменения не уходили вникуда, посредством автообновления. Возможно поменяв в этом fайле версию текущего клиента ( UserGameVersion= ), можно избежать запуск автообновления, главное узнать новую версию ( UserPatchVersion= ), которую должен скачать апдейтер, заранее.
Остальные fайлы - "Launcher2.exe" - ведёт себя также как и первый; "PatchDownload.exe" - при запуске пишет ошибку; "UPDATERRUS.EXE" - апдейтер, собсна им и нужно запускать игру; ну и ещё парочка бибилиотек.

Всем спасибо, все свободны. Кто поделится знаниями, в изучении Requiem Online - буду благодарен =).

Последний раз редактировалось n1fr1t; 04.10.2008 в 02:04.
 
Сказали спасибо:
Недоступно (07.02.2009), Тигрь (22.09.2008), БуБлИк (22.09.2008)