|
Корзина Глупые, устаревшие, неактуальные темы будут тут. Сюда сливается весь треш форума. Если ваш пост оказался здесь, подумайте - стоит ли еще раз писать? |
|
Опции темы | Поиск в этой теме | Опции просмотра |
12.05.2010, 00:59 | #1 |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
MaNGOS под Cataclysm (разработка)
Несколько форков различных проектов, которые поддерживают клиент Cataclysm:
Под 4.0.6а:
Под 4.2.0: Под 4.3.4: |
19.12.2010, 17:05 | #121 |
Почетный флудер
Старожил
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
|
не думаю. с учетом среднего аптайма в 5 минут на локалхосте и тем что не работает почти ничего... но редиректор - отдельный подпроект и он сам по себе вполне жив. особенно в виде патчера (но патчер точно нарушает соглашение и ХЗ как будет работать с оффом).
их сниффер кстати (с редиректором) нормально работает на оффе, сам проверял. |
20.12.2010, 00:10 | #122 |
Пользователь
Регистрация: 08.03.2010
Сообщений: 43
Сказал(а) спасибо: 1
Поблагодарили 1 раз в 1 сообщении
|
А можно для обхода редиректа в файл hosts добавить? Так отключаю рекламу у себя.
127.0.0.1 localhost urlredirecta |
20.12.2010, 00:18 | #123 |
RuDB Dev
Регистрация: 01.02.2010
Адрес: localhost
Сообщений: 592
Сказал(а) спасибо: 323
Поблагодарили 283 раз(а) в 122 сообщениях
Записей в дневнике: 2
|
нет, смысл весь в том, что приходит зашифрованный пакет, в котором есть таинственное послание (адрес:порт) и куча мусора. так вот, пока клиент не получит этот пакет и не скушает его ничего не будет.
В клиенте есть только функция расшифровки, а как создать этот зашифрованный пакет - пока неизвестно. |
20.12.2010, 05:28 | #124 | |
Пользователь
Регистрация: 22.03.2010
Сообщений: 41
Сказал(а) спасибо: 7
Поблагодарили 25 раз(а) в 15 сообщениях
|
Цитата:
1. данные в пакете перемешаны. функция восстановления в клиенте вполне себе обратима - перемешивание не проблема. 2. данные в пакете проверяются несколькими xor "контрольными суммами". тоже обратимо и тоже не проблема. 3. пакет зашифрован закрытым ключем сервера, и расшифровывается в клиенте открытым ключем. функция необратима за приемлимое время (на чем RSA стоит и стоять будет), однако можно или сгенерировать свой ключ и вшить в клиент, или просто выкусить шифрование патчем. т.е. как создавать пакет - известно. так-же известно, что невозможно без изменений в самом клиенте заставить его подключаться к не близардовскому серверу. единственное, что неизвестно - почему никто не хочет патчить клиент (если не хочется трогать файл на диске - можно лоадером). |
|
20.12.2010, 05:55 | #125 |
Ученый
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
|
|
20.12.2010, 07:01 | #126 |
Пользователь
Регистрация: 07.03.2010
Сообщений: 44
Сказал(а) спасибо: 9
Поблагодарили 5 раз(а) в 5 сообщениях
|
а разве подключение клиента к серверу НЕ близзарда не является нарушением лицензии? ))
|
20.12.2010, 08:26 | #127 | |
Почетный флудер
Старожил
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
|
Цитата:
соглашение же пользователя можно не принимать, если поступать по букве. |
|
20.12.2010, 08:29 | #128 |
Ученый
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
|
Можно да не нужно)
|
20.12.2010, 09:49 | #129 |
Гость
Сообщений: n/a
|
кто ковырял http://github.com/kicho/cataclysm что там сделали? он вообще рабочий?
и если да то какую базу использовали пробовал последнюю ytdb ядро падает при загрузке без показа ошибки причину так и не выяснил а то очень интересно на сколько продвинулись Последний раз редактировалось NeatElves; 20.12.2010 в 10:40. |
20.12.2010, 11:19 | #131 |
Новичок
Регистрация: 14.03.2010
Сообщений: 11
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
|
не так уж и никто
скорее как раз известно КТО не хочет патчить клиент.
__________________
"Я стал смертью, уничтожителем миров" |
20.12.2010, 12:33 | #132 |
Модератор
|
А мне интересно, что же в итоге с рандомными опкодами, ведь писали, что это вкупе с редирект пакетом похоронит пиратки, и вот на те - пытаются пыжится и таки делать эмуль катаклизма, который щас активно разойдется по перадкам. Мне мои знакомые в асю пишут - 'ну и че ты говорил, что пираток каты не будет? Вот - ...' и дают ссылки. Обидно. Горячее желание, чтоб эти кактусы, катрина коры добрались до хотя 50% рабочести лича чз годик-другой
А насчет патчера, не вижу ничего сверхпреступного в этом, я подписывал пустые соглашения |
21.12.2010, 04:48 | #133 |
Ученый
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
|
И что в сети интернета будет по десять клиентов с 10 разными патчами? У разного эмуля свой патч.Если уже решать проблему так только на стороне сервера, а не клиента. Пусть клиент как был итак и останется.
|
21.12.2010, 10:52 | #134 | ||
Пользователь
Регистрация: 22.03.2010
Сообщений: 41
Сказал(а) спасибо: 7
Поблагодарили 25 раз(а) в 15 сообщениях
|
Цитата:
это трудоемко, долго и муторно. но рано или поздно кто-нибудь это сделает, если еще не сделал. свое дело рандом опкоды сделали - на момент релиза катаклизма в паблике нет ни одного более-менее работающего сервера, ни даже более-менее свежего сандбокса катаклизма. и это несмотря на то, что доступ бете был у всех желающих достаточно долго. Цитата:
ломать RSA-2048 - на данный момент бесполезно (и более чем верноятно, что в ближайшие несколько лет - тоже). это нужно принять как объективный факт. так что в любом случае нужно или патчить клиент на предмет нормальной работы с одним соединением, или на предмет подмены ключа, или на предмет отключения шифрования (и перемешивания с проверками за компанию). другое дело, что патчер никаким боком к проекту мангос относиться не должен. тогда и овцы будут сыты, и волки не при делах. |
||
21.12.2010, 12:27 | #135 |
Ученый
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
|
Не обижайтесь скажите это людям, на вов жопе, и вас пошлют в это же самое место. Я использую мангос, для самообучения. Вы к примеру используете его для самообучения. Но таких очень мало. Раз мангос используется для самообучения, тогда я считаю не надо патчить клиент, а решить всю проблему через сервер. Ибо нет смыла на него переходить сейчас. Так как катаклизм содержит множество вещей которых не поддерживает на данный момент мангос, и только пытается сделать это на Текущей поддержке.
|
21.12.2010, 13:20 | #136 | |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
Цитата:
Однако несколько печалит тот факт, что сейчас не видно вообще никаких подвижек в развитии ветки 400. Пусть и с лоадером, но базовый функционал можно было бы уже начать менять (механика сильно изменилась) - мне просто интересно, как такие изменения будут реализованы в коде , а коннект - дело десятое. Хотя, конечно, я тоже согласен, что никаких патчеров использовать не нужно. |
|
21.12.2010, 21:31 | #137 |
Модератор
|
Хм, ну а если с чистеньким клиентом ничего не сделать, как и ничего не сделать на сервере, чтоб создать корректный пакет, нужен близовский закрытый ключ, который, как правильно писал abdula123 сейчас и в ближайшие 5 лет взломать точно невозможно, даже бросив все вычислительные мощности Земли, ну если только не найдут решение задачи факторизации за полиномиальное время или построят достаточно мощный квантовый компьютер, который реализует алгоритм Шора и все ассиметричные алгоритмы на факторизации рухнут
2 в 2048 степени - огромнейшее число, если представить, что миллиард компьютеров со скоростью миллиард операций в секунду и работают миллиард лет, это и то будет около 2 в 110 И думаю, что к различным атакам на rsa ключ устойчив, поэтому этот вариант отпадает Так что кроме патчера, ну на крайняк лоадера, никак не выйдет |
21.12.2010, 22:11 | #138 |
Гость
Сообщений: n/a
|
Криптография ничего не может предложить нам, получается?( кроме алгоритма Шора)
|
22.12.2010, 09:16 | #139 |
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
Кто-нибудь может немного подробнее рассказать как именно используется в клиенте rsa ? цифровая подпись блока данных ? что это за данные ? Возможно ли подмена этого пакета на подставной ? или там какие-то уникальные данные для каждого соединения ?
|
22.12.2010, 11:10 | #140 |
Гость
Сообщений: n/a
|
Йоха, никто тебе ничего конкретоного сечас не ответит. Понимаешь, если зайти на домашнюю страницу ру мангос, то там черно по синему написано "Главная цель проекта MaNGOS - обучающая..". Законопослушные разрабы ру мангос ни за что не станут ломать клиент, так как что бы понять как работает "цифроваю подпись блока данных", "что за данные", "возможна ли подмена пакета подставной..." и так дале, нужно разбирать по частям и взламывать сам клиент игры. Помощи стоит ждать только от буржуев. А пока за бугром ничего не взломали, все обсуждения русского комьюнити мангос о реализации чего - либо - лишь пустые слова. ДАже редирект кактусовский за бугром написали. Что тут уж говорить. Реализация всего вышеупомянутого возможна. Но ру мангос - любители. А есть професионалы, которые рубят в програмировании намного лучше. Учись различать желаемое и действительное. Ни кого не хотел задеть своими словами. ИМХО.
|
22.12.2010, 11:19 | #141 |
RuDB Dev
Регистрация: 01.02.2010
Адрес: localhost
Сообщений: 592
Сказал(а) спасибо: 323
Поблагодарили 283 раз(а) в 122 сообщениях
Записей в дневнике: 2
|
Эмм... уважаемый... а вы говорите да не заговаривайтесь... Если хотите что-то сказать, то надо это обосновывать, а вы только *цензура* излагаете.
|
22.12.2010, 11:22 | #142 |
Гость
Сообщений: n/a
|
Вы пишете бред. Ничего, что основные коммитеры мангоса- русские? Безусловно, вы - волк криптографии, защиты сетей и передачи данных? В том то и дело, что проект обучающий, и всё делается в свободное от жизни время(ИРЛ, так то). Дело не в невозможности/незаконности, дело в смысле защиты, применённой близзардом(технологии вообщем то не скрыты), и как её обойти(в теории), чтобы не нарушать ни пользовательского соглашения, ни законов. Параллельно, как вы могли заметить, обсуждается именно техническая часть.
|
22.12.2010, 11:27 | #143 |
Новичок
Регистрация: 14.03.2010
Сообщений: 11
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
|
Возможно мангосу необходимо пересмотреть свое отношение к изменению клиента.
Надо адаптироваться к современным реалиям, а не жить по устаревшим принципам.
__________________
"Я стал смертью, уничтожителем миров" |
22.12.2010, 11:41 | #144 |
MaNGOS Dev
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
|
|
22.12.2010, 13:46 | #146 |
MaNGOS Dev
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
|
|
22.12.2010, 14:17 | #147 |
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
Я не призываю никого ничего взламывать, идея была в том что бы попытаться посылать этот шифрованый пакет готовым, а не генерировать его на сервере (последнее невозможно без приватного ключа). Вопрос в том что в этом пакете находится.
Добавлено через 8 минут Дружище ты ничего не путаешь ? Про реверс инженеринг ничего не слышал? Можно спокойно изучать екзешник вова в иде и при это сам клиент остается невзломаным и все права соблюдены. |
22.12.2010, 14:29 | #148 | ||
Пользователь
Регистрация: 22.03.2010
Сообщений: 41
Сказал(а) спасибо: 7
Поблагодарили 25 раз(а) в 15 сообщениях
|
Цитата:
идем по адресу 0x0048F750 и видим там функцию PH_SMSG_REDIRECT_CLIENT. декомпилируем ее hex-rays'ом (F5), и смотрим что там получилось. а получается примерно вот такое - http://paste2.org/p/1155513 в принципе, все понятно дальше, идем по адресу 0x00490E71, декомпилируем и видим там примерно такое - http://paste2.org/p/1155524 сами N и exp на ходятся тут - http://paste2.org/p/1155528 exp - открытая экспонента. стандартная 0x00010001. N - модуль. D - закрытая экспонента. есть у близзардов. нужно как-то просочиться к ним и добыть. а потом сделать так, чтобы в следующем-же патче они не поменяли ключ. первое что приходит в голову - это тупо сгенерить свой ключ и вшить вместо близовского. да хотя-бы с помощью openssl. изменять 256 байт. лучше делать это в памяти, т.к. если поменять на диске - потеряется возможность входа в игру с родным ключем. ну и нарушится цифровая подпись wow.exe, если это кого-то волнует. если пойти чуть дальше - можно вообще убрать функцию расшифровки. тогда можно будет не шифровать пакет на стороне сервера и не морочиться ключами. изменять - десяток-другой байт (лениво смотреть сколько там эти push'и + call занимают в сумме). после этого останется обратить функцию FixDecryptedRSAData и ряд xor-проверок. (это задачки в основном на внимательность и усидчивость) да, делать все вышеперечисленное придется после каждого патча, т.к. функции меняются. Добавлено через 1 минуту Цитата:
в этом пакете находится адрес и порт сервера, с которым клиент должен соединиться. ну и контрольные данные тоже. если посылать готовый близардовский пакет - то клиент будет пытаться соединиться с близардовским-же сервером, где его, естественно, не ждут |
||
22.12.2010, 14:58 | #149 |
Ученый
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
|
|
22.12.2010, 15:03 | #150 |
WowCore Dev
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
|
еще раз: пакет ПОДПИСАННЫЙ.
|
22.12.2010, 15:18 | #151 |
Гость
Сообщений: n/a
|
В клиенте функцию проверки подлинности подписи кто нибудь видел?
Последний раз редактировалось Null; 22.12.2010 в 15:21. |
22.12.2010, 16:11 | #152 |
WowCore Dev
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
|
видел. равно как и паблик ключ.
эти функции существуют еще со времен 1.4.0, может и раньше, я не знаю. ими подписывают патчи, что бы в них не совали чего не попадя. |
22.12.2010, 16:32 | #153 |
Гость
Сообщений: n/a
|
С 1.4.0 2048-битный rsa ключ? И внезапно решили сделать и для пакетов? Странно...
|
22.12.2010, 17:16 | #155 |
Пользователь
Регистрация: 22.03.2010
Сообщений: 41
Сказал(а) спасибо: 7
Поблагодарили 25 раз(а) в 15 сообщениях
|
щас неполенился, специально заглянул в отладчик.
пакет таки зашифрованый. накойхер близы его шифруют, а не просто подписывают - ведает только аллах. аналогично насчет всех дальнейших перемешиваний и xor-ов. кстати, строка-подколка тоже никуда не делась. Stack[00002EB8]:0F6AFBE4 aWeCouldnTFigur db 'We couldn',27h,'t figure out anything that was funny enough to put h' Stack[00002EB8]:0F6AFBE4 db 'ere.',0Ah Stack[00002EB8]:0F6AFBE4 db 'If you',27h,'d like, please make a suggestion for the next patch...',0Ah мож все-таки отослать им предложение, что сюда поместить? )) Последний раз редактировалось abdula123; 22.12.2010 в 17:24. |
22.12.2010, 17:17 | #156 |
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
Есть мысль, нет времени проверить до конца на практике. Мысль конечно не блещет оригинальностью, но тем не менее.
Принцип мне видится достаточно простой: 1. при помощи Debug API запускаем wow в режиме отладки 2. ставим бреакпоинт на инструкцию по адресу 0x00490E71 (sub_4C26B0(&v3->ReconnectSBigPtr, N, 256, exp, 4) и на следующую за ней 3. после сработки бряка меняем в памяти значение N на подставное 4. Даем отработать этой самой функции из пункта 2 5. меняем N обратно на родное 6. Радуемся жизни -) замена на обратное значение я думаю надо делать что бы варден не спалил изменения в памяти. На данный момент у меня работает запуск wow в режиме отладки и получение различных дебажных событий и чтение/запись памяти. Ищу информацию как правильнее поставить бряк. В идеале нужно ставить бряк не на выполнение какой-то инструкции, а на чтение памяти где лежит N, но пока сойдет и на выполнение. З.Ы. Спасибо abdula123 за инфу. |
22.12.2010, 17:19 | #157 | |
Супер-модератор
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
|
Цитата:
|
|
22.12.2010, 17:31 | #158 | ||
Пользователь
Регистрация: 22.03.2010
Сообщений: 41
Сказал(а) спасибо: 7
Поблагодарили 25 раз(а) в 15 сообщениях
|
Цитата:
другое дело, зачем это делать? какую дыру в безопасности это закроет? хотя с близов станется... Добавлено через 4 минуты Цитата:
да и зачем такие сложности? если есть варден, значит это офф.сервер и ключ менять не надо. если это перадко, то никакого вардена там нет и в помине, а если и есть (у кого-то из серверостроителей вроде были попытки запустить) - то проверку на ключ, скажем так, не очень умно туда добавлять. кстати, за варденом не замечено ни проверок ключа, ни проверок этой функции. лаунчер может просто и тупо находить процесс вов, открывать его память, и писать туда (хоть при работающем процессе, хоть приостановив его) что угодно. собственно сейчас во всех снифферах так работает чтение ключа. понятно, что делать это нужно ДО логина. естественно для этого нужны права администратора. (да и для debug api вроде тоже) Последний раз редактировалось abdula123; 22.12.2010 в 18:12. |
||
22.12.2010, 17:56 | #159 |
Пользователь
Регистрация: 22.03.2010
Сообщений: 41
Сказал(а) спасибо: 7
Поблагодарили 25 раз(а) в 15 сообщениях
|
кстати, насчет отдачи клиенту правильного близзардовского пакета - можно конечно и отдать.
только нужно перехватить функцию connect из ws2_32.dll и если туда передается известный адрес:порт из близзардовского пакета, подменять их на лету на адрес:порт нужного нам сервера. по идее - клиент остается без изменений. однако лаунчер\хукер все равно нужен. |
22.12.2010, 18:58 | #160 | |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
Цитата:
Исключительно по доброте душевной даю вам на это время... |
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не для поиска | KiriX | Корзина | 545 | 18.05.2011 12:15 |
MaNGOS баг-трекер (разработка) | KiriX | WWW | 34 | 26.10.2010 12:45 |
Как скачать сорцы cataclysm | MrCray | Корзина | 0 | 31.08.2010 21:53 |
Cataclysm Sandbox | Incognito | Корзина | 23 | 23.06.2010 00:05 |
Глобальный FAQ (разработка) | Konctantin | Новичкам | 6 | 14.03.2010 10:46 |