Сижу дома, болею, интернета нету, делать нечего.
Пришла мысль, написать мини-статейку, по разбору игрового клиента, но не 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т
Оффтоп
в моём случае это была утилита для управления громкость на компьютере, которая перехватывала прокрутку колёсика мышки, т.е. потенциальный keylogger
, и удостоверился в расши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'шнике )
Оффтоп
и тутже видим один шаблон ошибки - Application corrupted. Please install again.
- неясно %) Из полезного - адрес 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 какаето пометка для процесса(
Оффтоп
Цитата:
filename
./Movie/GameStartIntro.bik
./Movie/DungeonIntro_001.bik
|
).
\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_FRAMEф `
INVEN_FRAME, m RAID_INFO_FRAMEd d
SKILL_FRAME, j
Можно предположить что это данные о расположении окон GUILD_BATTLE_INFO ( гильдии ), INVEN ( инвентаря ), RAID_INFO ( наверно квесты ), SKILL ( скилы ).
"OPTION.USER" - Тут инfы побольше :
Оффтоп
Код:
5 ё [ G L ЧЈ0? P c ff¦? ? ? ? ? НММ> НММ>НММ> ИB HC ! 9 , ? = > 2 ! "
#
$ %
& ' ( ) * + , - . / O @ P @ Q @ R @ S @ 0 1 1 2 % 3 5 4 6 7 8 9 : ; 0 < B C " E / a # F ; Y Z [ \ ] ^ _ I B J A K @ L - M E N .
И видимо это fайл отвечающий за управление в игре, громкость звуков, граfику, и.т.д.
\Gravity\RequiemRUS ( корневая )
"chat_op.dat" - Imho расположения окна чата в игре ( точнее будет сказать высота и ширина, а не расположение )
"fon.cvar" - настройка всех (
Оффтоп
chat_
id_
quest_desc_
login_dlg_
login_dlg_input_
login_dlg_button_
list_head_
server_name_
server_state_
) шри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 - буду благодарен =).