avatar_Killbrum

Новости Deathway и эмуляторов в MU Online

Автор Killbrum, 2010 Окт. 17, 14:50

« назад - далее »

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

Ключевые слова [SEO] mu onlinedeathwayэмуляторы

Killbrum

Всем доброго времени суток! Собственно еще одна интересная тема которая случилась в комюнити. Только данная тема раньше являлась малодоступной и не придавалась огласке. Сейчас же я попытаюсь несколько исправить данный момент т.к. не привык когда люди намеренно что то скрываютпреувеличивают.

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

Началось всё еще примерно год или полтора назад когда был взломан ресурс CoderzFactory на котором собственно обитали еще: eRRoR, HeyGTO, Leo123, Draklv, Endi, Deathway и другие (это еще было до ухода Лео и дрейка в UDC). Собственно с давних времен Кодерз и SCFMT вели жесткую борьбу. Кодерз выступал как правило за фри реализы (хотя я Вам скажу что это далеко не так... все члены кодерза продают файлы , и всегда продавали , кроме Endi ) и обсуждали "уровень знаний" того же СКФ. В следствии чего было очень много словесных перепалок и "войн". В один момент СКФ просто таки взломали весь Кодерз и открыли "тайную комнату" которая выступала нечто типа депозитория где хранились многие файлы от Кодерза которые были доступны только участникам команды. Всё файлы были слиты в паблик. Так же в паблик ушел и декомпиль Дезвея. На том моменте и был похоронен Кодерз. Ибо работа многих людей была просто таки угроблена. Конечно осталось много файлов которые и небыли затронуты, но самая изюминка (декомпиль) был слит.

Через пол года обиженный Дезвей (странный какой то... а где он раньше был то? о_О ) с криками "мерзавцы!!!" ввалился на РГ и запостил там якобы новую версию декомпиля и начал орать на бетокса что он поставил (бетокс) свои кредиты к его файлам. Конечно все сразу метнулись в тот топик ибо предыдущий декомпиль был очень велик по размерам и не каждая команда (именно команда, т.к. он слишком велик для одного разработчика) могла "сесть" за него. Так же предыдущий декомпиль являлся только Сезоном вторым ,когда уже на дворе был Сезон 4 и даже 5ый. А о багах вообще и речи идти не может. Их там было очень много, не говоря уже о том что GS_CS полностью отсутствовал.

Так что толпы пользователей заинтересованных в первом публичном эмуляторе Му ринулись в топик дабы узреть новый эмулятор. Тем более Дезвей написал что его код абсолютно такой же как и у Веб Зен, 1 к 1. Но тут в топике начали отписываться СКФ по поводу нового декомпиля. А писали они то что новый декомпиль ничем не отличается от старого, разве только десятком новых комментариев кода и маленький кусочек кода для GS_CS.

Спустя некоторое время был поднят вопрос а является ли декомпиль Дезвея именно дэкомпилем а не эмулятором. Поднял данный вопрос никто иной как Fenix (подмечу что он был выкинут из Кодерза за продажу файлов, после чего он дал на огласку факты что продавал не только он а и весь кодерз). Зацепился он за очень интересный момент. Дело в том что год назад были опубликованы Luciano полный сурс му сервера. Там было : DataServer, Join Server, Connect Server, Game Server, Ranking Server, Event Server и т.д. Это был код который был украден у ВЗ . Но код был стареньким, это еще была 0.74 версия. И интереса она не представляла. Феникс же открыл код дезвея и код который выложил Лучиано. По интересному сходству большие куски кода были просто одинаковы! Строка в строку! Отступ от отступа! Целые файлы были абсолютно идентичны. Дальше пошла дурацкая ругань в которой Дезвей не смог предоставить ни одного весомого аргумента почему же целые файлы идентичны файлам в 0.74 . Так же подмечу что файлы дезвея от 0.74 отличались только тем что вверху красовалась надпись "Decompiled by Deathway" . И навязывается один вопрос, а не украл ли он?

Теперь продолжим наше "расследование".
Давайте подумаем логически. Если Лучиано выложил во фри данный сурс около года назад то не сложно понять что сам сурс был еще в "привате" намного раньше. Т.к. во фри файлы всегда попадают когда они уже не актуальны. Значит есть большой шанс что Дезвей мог получить их намного раньше и спокойно мог начать писать свой эмулятор. Теперь посмотрим на второй момент. Му вышла в 2003ем году. Это была 0.97 версия. 0.74 была еще на ЗБТ. ЗБТ был примерно в 2001-2003 годах. То есть рядовой пользователь просто таки не видел данную версию. Как Вы думаете, за 5 лет (с 2001го по 2006; примерный выход Фулл Сезона 2 в Японии) код Гейм Сервера мог изменится? Включая во внимание то что было очень и очень много изменений в самом игровом процессе. И так же то что ВебЗен как никак а купила Unreal Engine 3 и делает Sun. Я веду к тому что я лично не могу представить что компания не изменила ни одной строчки кода в десятке (!) файлов за 5 лет! Так же хочу подметить то что по стилистике код можно разделить на 2 части. Одна часть написана довольно хорошо и качественно , вторая же часть программы просто ужасна!! В ней нету ни логики, ничего. Это сплошной маразм который даже читать сложно! И последний факт. Лично я не представляю себе как можно восстановить код программы имея ехе файл. Для меня это бред. Почему? Всё очень просто... люди уже очень давно работают над этой "проблемой" и если бы можно было вот так просто воссоздать программный код мы бы уже имели код 90% игр, а пиратская индустрия была бы уже на совершенно новом уровне. Даже если я заблуждаюсь , в чем я очень сомневаюсь, то один момент я знаю наверняка. Дело в том что при компиляции константные объекты кода превращаются в числастроки и т.д. И восстановлению они просто таки не подлежат. А в данном коде сохранены все константы. Как же так?! Тем более директивы препроцессора... а они вообще не включаются в код, и "выкидываются" на этапе построения...


Теперь несколько слов на счет кода самого эмулятора. Данный код просто маразматичен. В нем есть всё что только можно себе представить. Массовые утечки памяти, специальные места заходя в которые программа сервер падает, забивание буфера игрового клиента, критические секции которые "парализуют" 80% ГСа, ф-ции которые вообще не вызываются, кривая работа с графическим интерфейсом, и даже просто идиотские места (к примеру int i = a * 10  10 ). Я уже молчу о полном отходе от стандартизации и о том что сервер можно запросто уложить переполнением буфера. Скажу честно... работать с сервером простой команде которая ничего не понимает в программировании это просто грех , ибо ошибок будет очень много и оно всё будет тормозить. За 5ть месяцев мне удалось несколько реконструировать данный код... но это было ужасное время когда я летом (да да, вот все отдыхают а я работаю) просиживал по 12 часов возле кода. И могу с уверенностью сказать что использовать данный декомпиль крайне не рекомендую, конечно если вы не собираетесь просидеть пол года на исправление ошибок которых там очень и очень много.

Спасибо за внимание!

user_MU

#1
Мдаааа, интересная статья и факты приведенные в ней.
Собственно что лишний раз показывает что творится в комьюнити.
Даже среди сторожилов ....

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

Bason4ik

омфг)Килл спасибо за статью))весело почитать твои сообщение)буду ждать новых творений))
;-)

Killbrum

Цитата: user_MU от 2010 Окт. 17, 20:08  Кстати декомпилить ехе-шник получив на выходе вид проекта, со всеми функциями и кодом - невозможно. Можно получить сишный код, примерный, хотя можно при наличии пдб файла....
Дело в том что даже имея полный PDB восстановить вот так файлы нельзя. Код будет сложен в один .cpp файл, т.к. хидеры восстановлению не подлежат , а сам код будет напоминать нечто типа:

Цитироватьif ( i > 2 )
{
*(_DWORD *)&v3 = i - 2;
*((_DWORD *)&v3 + 1) = (i - 2) >> 31;
if ( !(v3 % 3) )
buf -= -0xFFFFFFB4u;
}

То есть он читаем но очень сложно читаем... в коде дезвея такого попросту нету! Тем более:
Цитировать1.- This Decompilation is the real and uncompleted one, was checked by my Function Scanner (uses byte and symbol scanning). This means, that code is 100% analog to the real one until CastleSiege.cpp (in normal GS is all the GS)

Только вот дело в том что если у него такой вот Фанкшен Сканнер который восстанавливает из ехе файла весь С++ код то ему памятник мало поставить... дело в том что я на данный момент не знаю программ которые восстанавливают С++ код. Самый знаменитый IDA Pro + HEX Rays восстанавливает только Си код. А у дезвея в коде куча строчек с использованием STL. Сам же STL разработан для С++ ... и собственно всякие "листымапывектора" IDA Pro + HEX Rays не восстанавливают.

Собственно тогда интересует вопрос. А как же он восстановил файлы так? Если кому интересно будет то могу дать вам ГС чистый (.18) и ПДБ файл к нему. Попробуйте потанцевать с бубном и получить декомпиль , как это сделал дезвей...

А кому хочется еще больше информации может заглянуть сюда : https://forum.ragezone.com/f197/gameserver-...o-gs_cs-658090/

Там собственно и написано как Феникс и Бетокс стебутся с дезвея

Bason4ik

ЦитироватьСобственно тогда интересует вопрос. А как же он восстановил файлы так? Если кому интересно будет то могу дать вам ГС чистый (.18) и ПДБ файл к нему. Попробуйте потанцевать с бубном и получить декомпиль , как это сделал дезвей...
а возможно что UCD сделало себе полный исходник 18гса?

Killbrum

Я слышал что UCD имели эмулятор. Но опять таки эмулятор это не декомпиль. Воссоздать 1 в 1, строка в строку, код оригинального ГСа не возможно. По крайней мере для меня это кажется не возможным. Если есть сомнения то пожалуйста, спросите на вазме или кряк лабе .

Так же хочу отметить что UCD, по моим сведеньям, уже "умер". Ибо Лео сейчас в Бор тим, а Дрейк попросту пропал после своего  МуБлу. МГ. Килл (или как его там?) не является программистом, собственно он не может ничего предоставить

Bason4ik

UcD не умер)как раз сейчас []MG[]KILL объявил набор в тиму...а так,в ней ещё есть: Hermex,DiG,DarkVision,SirMaster,darksun,virus

и они вроде как работают над вторым сезоном...

p.s. у них походу чистые исходники ГСа ВебЗена от bbsleon-а который слил их с вебзена

Crazzy-

Что правда то правда...
UCD делают с 'декомпиля' дефвея.. тоесть начиная с с2... наверно они уже довели ето до 5го сезона.. я имею  в введу их эмулятор mublue ~годичной давности.. и скажу что нехрена они нефиксели ... тяпляп на старый код гс  хавает ~600mb оперы.. +нагрузка на проц тоже небесная...
Что интеренсно то только одно, в этом эмуляторе мублу сделано было (ито недоконца) это мастер система
https://www.everfall.com/paste/id.php?2fyikem3miyz
больше они ничего не сделали на тот момент... хотя дрейк утверждал что это фулл их декомпиль..

SmallHabit

ЦитироватьЧто правда то правда...
UCD делают с 'декомпиля' дефвея.. тоесть начиная с с2... наверно они уже довели ето до 5го сезона.. я имею в введу их эмулятор mublue ~годичной давности.. и скажу что нехрена они нефиксели ... тяпляп на старый код гс хавает ~600mb оперы.. +нагрузка на проц тоже небесная...
Что интеренсно то только одно, в этом эмуляторе мублу сделано было (ито недоконца) это мастер система
https://www.everfall.com/paste/id.php?2fyikem3miyz
больше они ничего не сделали на тот момент... хотя дрейк утверждал что это фулл их декомпиль..

Да, интересно они весь ГС переписали или как он был оставили? Да и что-то не очень слышно от них новостей =) Насчёт мастер системы - дрейк её вроде сам написал но не для эмуля а так, и потом скорей всего впихнул туда =)

Killbrum

Цитата: Crazzy- от 2010 Окт. 20, 12:02  Что правда то правда...
UCD делают с 'декомпиля' дефвея.. тоесть начиная с с2... наверно они уже довели ето до 5го сезона.. я имею  в введу их эмулятор mublue ~годичной давности.. и скажу что нехрена они нефиксели ... тяпляп на старый код гс  хавает ~600mb оперы.. +нагрузка на проц тоже небесная...
Что интеренсно то только одно, в этом эмуляторе мублу сделано было (ито недоконца) это мастер система
https://www.everfall.com/paste/id.php?2fyikem3miyz
больше они ничего не сделали на тот момент... хотя дрейк утверждал что это фулл их декомпиль..
Если они не трогали С2 а делали "как есть" . То есть как у сорцах того же Гермекса и Сир Лова (HermeX & SirLove) то такой эмулятор можно просто выбросить ... это хлам.

Сначала надо создать крепкую основу, или фундамент на чем базировать всё это. Если есть мнение что сложно перевести эмуль на новый сезон и т.д. то это сугубо ошибочное мнение. Всё сводится только к одному - пакеты. И не больше. Благо есть программа от Лучиано и просто ВПЕ чтобы найти пакеты.

Тем более я подмечу что если хорошо работать с ГСом (с фундаментом) то это очень таки интересный полигон для действий.

Подчеркну интересный момент. Если просто "накидывать" код то играбельность (оффлайк) будет максимум на 50%. Дело в том что в коде самого ГСа очень много промашек... именно оплошностей. Где то не посчитали ДЛа, где то пропустили проверку дюрабилити, где то криво обработали запрос или сделали сотню не нужных проверок... да всё это "мелочи". Да , если писать эмулятор тупо набросом кода то всё самое главное будет работать. Но на сколько стабильно? Вот это главный вопрос. А еще интересный вопрос заключается в том , на сколько это будет играбельно. Ведь всегда людям нравилось то что вылизано до идеала , пусть даже старое. А не то в чем куча нового но оно как то не хорошо работает. Вот и вся разница.

А по поводу дрейка... могу сказать однозначно - он не программист... это подметил и Мр.Марин. Я уже не буду упоминать как он не 1 раз кидал людей, и какой корявый у него код...

Так же просто подмечу что любой эмулятор который не переписывался под 0 полностью подвержен буферными атаками... что и как это уже не мне рассказывать, но подмечу что в своё время очень много программ было подвержено "этим". Я уже молчу о некой баговости Вижуал С++ 6.0 (по сравнению с тем же 2010). Я уже совсем молчу о полной апатти ГСа к: Юникоду, многопроцессорностимногопоточности и параллельным вычислениям, 64 битности, оптимизации под SSE1-5, многопоточной обработкой пакетов и пошло поехало...

Bason4ik

о_О какие ещё исходники Дезвея...исходники чистые Вебзеновские от bbsleon-а....и они почему то дальше второго сезона так и не ушли))

ps. и у них ведётся набор в команду)кто-нибудь из вас троих(а может и все трое) могли бы к нему попасть))

epmak

Цитата: Bason4ik от 2010 Окт. 20, 17:12  о_О какие ещё исходники Дезвея...исходники чистые Вебзеновские от bbsleon-а....и они почему то дальше второго сезона так и не ушли))
ты видел эти исходники? и компетентен ли ты, чтобы такое говорить?
Извини, если резко, просто откуда ты взял, что это исходники вз?
Цитата: Bason4ik от 2010 Окт. 20, 17:12  ps. и у них ведётся набор в команду)кто-нибудь из вас троих(а может и все трое) могли бы к нему попасть))
по-моему, они и сами ниче так :D

Killbrum

Цитата: Bason4ik от 2010 Окт. 20, 16:12  ps. и у них ведётся набор в команду)кто-нибудь из вас троих(а может и все трое) могли бы к нему попасть))
Спасибо конечно. Пообщаться с ними я то не против, вот только команда уже у нас есть  :rolleyes:

Цитата: epmak от 2010 Окт. 20, 17:13  ты видел эти исходники? и компетентен ли ты, чтобы такое говорить?
Извини, если резко, просто откуда ты взял, что это исходники вз?
по-моему, они и сами ниче так :D

Ну тут Басончик возможно и прав. Ибо если бы не bbsleon то не было бы и 32, 64(или какой там?) 90го ГСа ибо все эти ГСы слил он :) . А первые ГСы сливали чуток другие люди, если не ошибаюсь конечно. Но там ли декомпиль или что то другое я сказать не могу... может реальный сорц, может нет... Только 1 момент для меня подозрительный... все слитые серваки всегда были жапан кажется. Только 0.97 кор (если не ошибаюсь). Так вот... декомпиль дезвея - жапан, и наверно ихние сырки - жапан. Навязывается мысля : а не одно и тоже у дезвея и у них? :)

Crazzy-

#13
Цитата: Killbrum от 2010 Окт. 21, 03:13  Спасибо конечно. Пообщаться с ними я то не против, вот только команда уже у нас есть  :rolleyes:



Ну тут Басончик возможно и прав. Ибо если бы не bbsleon то не было бы и 32, 64(или какой там?) 90го ГСа ибо все эти ГСы слил он :) . А первые ГСы сливали чуток другие люди, если не ошибаюсь конечно. Но там ли декомпиль или что то другое я сказать не могу... может реальный сорц, может нет... Только 1 момент для меня подозрительный... все слитые серваки всегда были жапан кажется. Только 0.97 кор (если не ошибаюсь). Так вот... декомпиль дезвея - жапан, и наверно ихние сырки - жапан. Навязывается мысля : а не одно и тоже у дезвея и у них? :)
у меня вообще была мысля что 18тый гс слили сразу с сорцами. :).. 16гс был вроде вьетнам... я уже в глаза видел декомпиль иллюзион темпла и сокет системы.. и вот навязвается вопрос рода : не слили ли уже 87 сурсики.. =(? ... хотя с другой стороны может и сами написали.. но написанно в стиле вз... имею введу что как в декомпиле самого гса...

Bason4ik

упс)ошибся я немного)на данный момент у UcD - 1.00.56 сорцы)))с оригинальной биллинг системой ВебЗена и т.д. и т.п.

xakum

статья высосана из пальца. воссоздать код можно при наличии отладочная информация pdb. Deathway так же создал для этой работы несколько утилит, к примеру, сравнения ассемблерных инструкций в оригинальном exe и в его exe. код данной тулзы присутствует в расширенной версии исходников.
Цитата: Killbrum от 2010 Окт. 17, 22:06  Дело в том что даже имея полный PDB восстановить вот так файлы нельзя.
...
Только вот дело в том что если у него такой вот Фанкшен Сканнер который восстанавливает из ехе файла весь С++ код
..
Собственно тогда интересует вопрос. А как же он восстановил файлы так? Если кому интересно будет то могу дать вам ГС чистый (.18) и ПДБ файл к нему. Попробуйте потанцевать с бубном и получить декомпиль , как это сделал дезвей...

это вообще ахинея. этот "Фанкшен Сканнер" есть глаза, мозги и руки. допускаю возможность, что он обращался к исходникам 0.97, но это никак не уменьшает объем проделанной им работы.
...
т.е.если ты не смог "потанцевать с бубном и получить декомпиль , как это сделал дезвей" - то этого сделать никто не смог бы? самому не смешно?

Killbrum

Я же сказал... как ты себе представляешь восстановить #define если его в коде просто нету. Это же препроцессор! А константы? Я же говорю что в коде есть и константы и дефайны причем не мало. Так же стилистика кода чисто разделена на 2 части. По той же стилистики BloodCastle.cpp & protocol.cpp очень разные ...

Мне например хорошо видно что это не чистый декомпиль... да может и декомпилили кусочки ф-ций или саму логику работы программы. Но не всё! Как это яростно заявляет автор (дезвей). Ибо как уже говорил там тупо целые файлы с 0.65 скопированы (пардон с 0.74 ошибся, это был 0.65 сырки) и сверху дописано "Декомпилед бай дезвей" хотя там нечего декомпилить ибо это слитые куски кода.

Ты же сам написал
"он обращался к исходникам 0.97, но это никак не уменьшает объем проделанной им работы"

А я могу сказать разве то что всеравно я не считаю это 100% декомпилем, а просто эмулятором. Для декомпиля слишком много он постороннего взял (целые куски файлов, перекодил куски кода и т.д. ).А эмулятор - да.

Так же скажу еще один вариант. Он с 0.65 доделал до .18го ГСа. Мне сейчас же с .18 надо до .90го ГСа. Чесно говоря я не думаю что мне будет проще нежели ему... Насколько я вижу он попросту взял самые старые сырки и начал потихоньку их дописывать к более новой версии и при этом пользовался pdb файлом дабы более просто всё это писать (знать что куда и в каком порядке).

Я уже молчу о недописаных кусках ф-ций для ЖПН протокола.

Я просто хочу подчеркнуть что каждый из нас всегда при каких то обстоятельствах пытается сделать из мухи слона. В данном случае Дезвей хотел показать что у него сырки те же что и у ВебЗена и т.д.

ЦитироватьThis means, that code is 100% analog to the real one until CastleSiege.cpp (in normal GS is all the GS)

Русским текстом: это значит что код абсолютно аналогичен коду ВЗ. Всё что есть в обычном ГСе аналогично офф ГСу.

И всё это ужасно преувеличено. И меня терзают ужасающие сомнения что вот это стояло на жапан офф сервере!!!

Так что я просто в данной статье рассказал то на что совсем не надо надеяться скачивая данный декомпиль.

З.Ы. Но все равно читаем мой первый пост , второй абзац.

xakum

сравни побайтно оригинальный и получаемый в результате exe GS. о чем тут можно вообще рассуждать после этого?

даже если предположить что он взял полностью исходники вебзена какой там версии .66 65 - то что бы довести их до 3(или 2) сезона ему в любом случае пришлось разбирать весь ГС по байтно, анализировать и переписывать/добавлять - что по сути и есть чистой воды декомпиляция, что даже сложнее чем просто писать свой эмулятор.  это ведь понятно как 2х2.

Crazzy-

Цитата: Bason4ik от 2010 Окт. 22, 12:17  упс)ошибся я немного)на данный момент у UcD - 1.00.56 сорцы)))с оригинальной биллинг системой ВебЗена и т.д. и т.п.
откуда такая инфа? не ну если ты с дрейком или еще с кем то общаешся и видел в реале это то базара ноль, но я более чем уверен что это всё декомпиль и т.д начилая с 18го от дефа...

Killbrum

Цитата: xakum от 2010 Окт. 22, 13:59  сравни побайтно оригинальный и получаемый в результате exe GS. о чем тут можно вообще рассуждать после этого?
Нус... собственно ради интереса поставил VC ++ 6.0 (ведь именно под этим то компилить надо. В сборке именно от 6ой проект). С горем по полам нашел сырки второй версии декомпиля от дезвея (оказывается теперь не так то просто это найти! Ведь линки сдохли... ). Всё откомпилировалось успешно. В проекте ничего не изменял. На выходе получил точно такой же файлик по размеру как и оригинальный. Но думаю... а давай ка я их прокомпорю (сравню). Начал сравнивать так тут вообще ужас. Действительно о чем тут рассуждать еще? Смотри сам:



Может я конечно кривой но это не 1 к 1... я уже промолчу о том что 90% кода разные...

Похожие темы (5)