>>233035730 (OP) Анон хочу вкотиться в минекрафт. Че там надо вообще? Купить приложение и подрубиться к серверу? Хочу на пекарне. И еще вопрос в чем суть игры?
>>233036505 >Че там надо вообще? Купить приложение и подрубиться к серверу? Надо смотреть на твою поддержку коррупции. Если ты против то смело и идешь и покупаешь лицуху за 2к, а если не против то можешь смело воровать игры, фильмы, по и даже ЦЕЛЫЕ ОС! >И еще вопрос в чем суть игры? Тебя кидает на остров со 100 таких же игроков, выжить может только один!
>>233038317 Я точно уверен в том что это возможно, там просто какие-то манипуляции производятся и я без понятия где их посмотреть, чтобы сделать в обратном порядке на плюсах. Данные я уже получил, мне нужно их лишь правильно декодировать.
Minecraft 1.8.8 использует для отправки данных (пакетов) WSASend функцию WinAPI. Я отловил эту функцию и попытался вывести что находится в буффере, но там закодировано как-то. А как я без понятия, вверху 2 ссылки, там какие-то подсказки но я их не понимаю. Вот что было в буффере: 0DЩэ Яж 0Z° LяЫсФ gёо♣ёP_дї(,HM rПъb ГюЇ E♫♫
>>233042413 Они и не зашифрованы. Они просто в бинарном виде. Смотришь, какой тебе пришел пакет (сначала читаешь длину пакета, потом читаешь айдишник пакета, исходя из айдишника читаешь остальные данные, если включена компрессия пакетов, то тебе ещё надо будет поебаться с "распаковкой", хотя при наличии либ и умений это будет не сложно).
>>233042718 Объясняю на примере говна и палок, для только что вкатившихся. Ты вероятно привык к такому: {"packetId": 3303, "someData": "someValue"} Однако в нетворкинге такое не используют (но есть и исключения) из-за того что это передавать дольше. В нетворкинге передают что-то типа 1233038someData в бинарном представлении. Где 12 - размер пакета. 3303 - айди, 8someData - строка в бинарном виде (обычно передают длину строки и далее саму строку)
>>233043408 Minecraft 1.8.8 использует WSASend, в буфере лежат данные. У буфера вот такая структура LPWSABUF lpBuffers. lpBuffers->buf тут данные, lpBuffers->len тут длина Если выводить std::cout'ом то показывает как я уже писал совсем ебанутую хуйню
>>233045114 Сделай новый указатель типа BYTE и присвой ему buf, а потом итерируй по этому указателю. Плюс ты сейчас длину неправильно считаешь. Она там скорее всего в байтах, а не интах. И выводи не через std hex, а принтф %02x
>>233046041 У меня не получается, помоги пожалуйста. Тип длины буфера в unsigned long. Я новичок в C++ и честно говоря без понятия как правильно сделать указатель на buf. Пробовал сделать вот так, но компилятор ругается.
>>233045114 Это какой-то неправильный пакет. Т.к. длина 1. Значит длина айди 1 байт, а данных 0. Но если читать первый байт длинны, то там старший бит 1. А значит по формату varint нужно читать дальше, а длина пакета кончилась. Ты как-то неправильно наверно этот буфер получаешь.