Перейти к содержимому


BYONDLib Development


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 55

#1 canvas123

canvas123

    Ветеран космонавтики

  • Employee
  • 2279 сообщений

Отправлено 27 February 2017 - 02:16

Здравствуйте, господа кодеры. Давно интересовал вопрос, как эмулируется код сервера на стороне клиента и как клиент получает всю информацию о игре. Каким образом происходит авторизация? Я заметил только лишь то, что клиент отправляет серверу свой login, key, ctime, а где же ckey, каким пакетом отправляется - неизвестно.

Просмотр сообщенияNisse (22 June 2017 - 11:41) писал:

Говно-то на Блу, а умирает Грин почему-то!
Скрытый текст
Скрытый текст

#2 Masturbator

Masturbator

    Викиняша

  • Employee
  • 426 сообщений
  • Городдураков

Отправлено 27 February 2017 - 03:12

ты чё, пароли от бъендов попиздить собрался?

Изображение


#3 Loly

Loly

    「ALL STAR」

  • Employee
  • 9275 сообщений
  • Byond:MyLittleLoly
  • Discord:Loly#6528
  • ГородКиев
        

Отправлено 27 February 2017 - 04:58

C таким вопросом я бы сразу шёл на официальные форумы бьонда. Возможно там уже есть ответ на твой вопрос.
http://www.byond.com/forum/

Изображение
Изображение

Скрытый текст


#4 HONKERTRON

HONKERTRON

    2D-космонавтик

  • Employee
  • 141 сообщений
  • ГородДС2

Отправлено 27 February 2017 - 05:05

Key и есть ckey. Просто ckey к нижнему регистру приведен. Но это в коде, не факт, что в пакетах так же.
Изображение

#5 Lalka

Lalka

    Заслуженный космонавт

  • Employee
  • 533 сообщений
  • Discord:Slow #8027

Отправлено 27 February 2017 - 05:33

Wireshark, не?

#6 canvas123

canvas123

    Ветеран космонавтики

  • Employee
  • 2279 сообщений

Отправлено 27 February 2017 - 10:09

Просмотр сообщенияMasturbator (27 February 2017 - 03:12) писал:

ты чё, пароли от бъендов попиздить собрался?
Планировал немного другим заниматься

Просмотр сообщенияLoly (27 February 2017 - 04:58) писал:

C таким вопросом я бы сразу шёл на официальные форумы бьонда. Возможно там уже есть ответ на твой вопрос.
http://www.byond.com/forum/
Согласно лицензионному соглашению BYOND, никто мне там такую информацию предоставить не имеет право.

Просмотр сообщенияHONKERTRON (27 February 2017 - 05:05) писал:

Key и есть ckey. Просто ckey к нижнему регистру приведен. Но это в коде, не факт, что в пакетах так же.
Вы путаете, ckey - генерируется исходя из конфигураций компьютера

Просмотр сообщенияLalka (27 February 2017 - 05:33) писал:

Wireshark, не?
Не думаю, что WireShark поможет разобрать RAW пакеты WinSocketa.

Просмотр сообщенияNisse (22 June 2017 - 11:41) писал:

Говно-то на Блу, а умирает Грин почему-то!
Скрытый текст
Скрытый текст

#7 13097

13097

    honk-honk motherfuckers

  • Employee
  • 1443 сообщений
  • Город2. (он далеко от 1.)

Отправлено 27 February 2017 - 10:46

Просмотр сообщенияnurik040404 (27 February 2017 - 02:16) писал:

Здравствуйте, господа кодеры. Давно интересовал вопрос, как эмулируется код сервера на стороне клиента и как клиент получает всю информацию о игре. Каким образом происходит авторизация? Я заметил только лишь то, что клиент отправляет серверу свой login, key, ctime, а где же ckey, каким пакетом отправляется - неизвестно.
есть мнение что очень многое отправляется не "при старте" а уже "в процессе". т.е. конфиги железа выдираются и отправляются не "по умолчанию", а уже либо средствами игры, либо средствами бионда вшитыми в игру. косвенно на это же может указывать то что клиент достаточно активно юзает жабу, штмл и даже флэш.

Просмотр сообщенияGravitational Singularity (18 September 2016 - 03:11) писал:

очков ралиплея дам!

#8 canvas123

canvas123

    Ветеран космонавтики

  • Employee
  • 2279 сообщений

Отправлено 27 February 2017 - 17:39

Просмотр сообщения13097 (27 February 2017 - 10:46) писал:

есть мнение что очень многое отправляется не "при старте" а уже "в процессе". т.е. конфиги железа выдираются и отправляются не "по умолчанию", а уже либо средствами игры, либо средствами бионда вшитыми в игру. косвенно на это же может указывать то что клиент достаточно активно юзает жабу, штмл и даже флэш.
Ну чтож, методом тыкания хуем в небеса, а так же с помощью умений обращения с памятью, было выяснено, что эта хуйня базарит с юзером таки и посреди игрового процесса, а в частности получение computer_id происходит рандомно, но он все таки спалился
Изображение

Просмотр сообщенияNisse (22 June 2017 - 11:41) писал:

Говно-то на Блу, а умирает Грин почему-то!
Скрытый текст
Скрытый текст

#9 Lalka

Lalka

    Заслуженный космонавт

  • Employee
  • 533 сообщений
  • Discord:Slow #8027

Отправлено 27 February 2017 - 17:43

Плиз репорт хир 'боут эни ньюс

#10 canvas123

canvas123

    Ветеран космонавтики

  • Employee
  • 2279 сообщений

Отправлено 27 February 2017 - 21:44

Я тут глянул, клиент при подключении частенько глядит на мой жесткий диск.
Изображение
Товарищи, GetVolumeInformation .
Изображение
Заглянем в сорсец ByondCore.dll по ссылкам на GetVolumeInformation.
Бац.
Изображение

Параметр lpVolumeSerialNumber насколько мы видим, является указателем на внешнюю переменную, значит ID нашего жесткача возвращается результатом из этой функции, а вызовов этой функции в DreamSeeker-e ОООЧЕНЬ МНОГО! Да, и в основном они связаны с авторизацией на сервере. Т.е. для того, чтобы подделать computer_id достаточно инжектировать DLL в игру, которая хуканет функцию GetVolumeInformation , затем подделает результат этой функции и все, вуаля доступ на сервер открыт!

Планирую добавить все фичи ByondCore в мою библиотеку ByondAPI, там пока говно-код на плюсах, но сейчас проходит стадия исследования.

Просмотр сообщенияNisse (22 June 2017 - 11:41) писал:

Говно-то на Блу, а умирает Грин почему-то!
Скрытый текст
Скрытый текст

#11 fey

fey

    Командир отделения

  • Employee
  • 3856 сообщений

Отправлено 27 February 2017 - 21:57

ПАЦАНЫ НЕ ВЕДИТЕСЬ, ОН ЧИТЫ ДЕЛАЕТ, БАНЫ ОБХОДИТЬ, НЕ РАСПРОСТРАНЯЙТЕ ССЫЛКУ НА ЭТОТ ИТТ ТРЕД
Если вам понравилась моя публикация, комменатрий, хоитет сказать спасибо, можете сделать это здесь, поставив плюсик или оставить свой отзыв.

#12 jackerZz

jackerZz

    2D-космонавтик

  • Employee
  • 83 сообщений

Отправлено 27 February 2017 - 22:00

Кинь сорцы бульёнда если не сложно

#13 canvas123

canvas123

    Ветеран космонавтики

  • Employee
  • 2279 сообщений

Отправлено 27 February 2017 - 22:02

Просмотр сообщенияjackerZz (27 February 2017 - 22:00) писал:

Кинь сорцы бульёнда если не сложно
К сожалению, в Open Source виде их нет, поэтому вы можете достать их сами, в папке с Byondом есть файл ByondCore.dll , в нем заэкспортированы все функции BYOND

Просмотр сообщенияNisse (22 June 2017 - 11:41) писал:

Говно-то на Блу, а умирает Грин почему-то!
Скрытый текст
Скрытый текст

#14 BombanyTI

BombanyTI

    опа нихуя

  • Employee
  • 1762 сообщений

Отправлено 27 February 2017 - 22:02

Просмотр сообщенияnurik040404 (27 February 2017 - 21:44) писал:

Обход через длл не новый. Раньше работал, но тгшники создали систему для распознавания длл. Сначала идет один коннект, он обрывается, после чего идет второй. Если твой компуктер_ид поменялся - тебе пизда.
Изображение

#15 canvas123

canvas123

    Ветеран космонавтики

  • Employee
  • 2279 сообщений

Отправлено 27 February 2017 - 22:04

Просмотр сообщенияfey (27 February 2017 - 21:57) писал:

ПАЦАНЫ НЕ ВЕДИТЕСЬ, ОН ЧИТЫ ДЕЛАЕТ, БАНЫ ОБХОДИТЬ, НЕ РАСПРОСТРАНЯЙТЕ ССЫЛКУ НА ЭТОТ ИТТ ТРЕД

Все исключительно в научных целях, хехе
Думаю это многим поможет, ведь я разрабатываю библиотеку для работы с функциями BYOND

Просмотр сообщенияNisse (22 June 2017 - 11:41) писал:

Говно-то на Блу, а умирает Грин почему-то!
Скрытый текст
Скрытый текст

#16 jackerZz

jackerZz

    2D-космонавтик

  • Employee
  • 83 сообщений

Отправлено 27 February 2017 - 22:04

А вообще обычно авторизация в таких вещах делается следующим образом: клиент авторизируется в клиентском сервере бульенда и получает код своей сессии, которая сохраняется на клиент-сервере. Когда клиент пытается зайти на какой-то сервер, то он скидывает серверу свой сикей и номер сессии. В случае если отправленный клиентом и хранящийся на клиент-сервере код сессии совпадают, то клиент попадает на сервер. Это я к тому, что зайти под другим сикеем не получится, если ты сделать это хотел

#17 canvas123

canvas123

    Ветеран космонавтики

  • Employee
  • 2279 сообщений

Отправлено 27 February 2017 - 22:05

Просмотр сообщенияochen_bombanyTI (27 February 2017 - 22:02) писал:

Обход через длл не новый. Раньше работал, но тгшники создали систему для распознавания длл. Сначала идет один коннект, он обрывается, после чего идет второй. Если твой компуктер_ид поменялся - тебе пизда.
К счастью, это не проблема, тебе не нужно заменять DLL библиотеки сокетов, так что все будет чистенько

Просмотр сообщенияNisse (22 June 2017 - 11:41) писал:

Говно-то на Блу, а умирает Грин почему-то!
Скрытый текст
Скрытый текст

#18 jackerZz

jackerZz

    2D-космонавтик

  • Employee
  • 83 сообщений

Отправлено 27 February 2017 - 22:06

Просмотр сообщенияochen_bombanyTI (27 February 2017 - 22:02) писал:

Обход через длл не новый. Раньше работал, но тгшники создали систему для распознавания длл. Сначала идет один коннект, он обрывается, после чего идет второй. Если твой компуктер_ид поменялся - тебе пизда.
Никто не мешает в обоих случаях использовать одинаковый компуктер_ид

#19 canvas123

canvas123

    Ветеран космонавтики

  • Employee
  • 2279 сообщений

Отправлено 27 February 2017 - 22:07

Просмотр сообщенияjackerZz (27 February 2017 - 22:04) писал:

А вообще обычно авторизация в таких вещах делается следующим образом: клиент авторизируется в клиентском сервере бульенда и получает код своей сессии, которая сохраняется на клиент-сервере. Когда клиент пытается зайти на какой-то сервер, то он скидывает серверу свой сикей и номер сессии. В случае если отправленный клиентом и хранящийся на клиент-сервере код сессии совпадают, то клиент попадает на сервер. Это я к тому, что зайти под другим сикеем не получится, если ты сделать это хотел
Не думаю, что с сикеем ничего не получится, да и к тому же, я к такой цели не шел.

Просмотр сообщенияNisse (22 June 2017 - 11:41) писал:

Говно-то на Блу, а умирает Грин почему-то!
Скрытый текст
Скрытый текст

#20 canvas123

canvas123

    Ветеран космонавтики

  • Employee
  • 2279 сообщений

Отправлено 27 February 2017 - 22:13

Просмотр сообщенияjackerZz (27 February 2017 - 22:04) писал:

А вообще обычно авторизация в таких вещах делается следующим образом: клиент авторизируется в клиентском сервере бульенда и получает код своей сессии, которая сохраняется на клиент-сервере. Когда клиент пытается зайти на какой-то сервер, то он скидывает серверу свой сикей и номер сессии. В случае если отправленный клиентом и хранящийся на клиент-сервере код сессии совпадают, то клиент попадает на сервер. Это я к тому, что зайти под другим сикеем не получится, если ты сделать это хотел
Изображение
В любом случае, у меня все это в распоряжении.

Просмотр сообщенияNisse (22 June 2017 - 11:41) писал:

Говно-то на Блу, а умирает Грин почему-то!
Скрытый текст
Скрытый текст


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных