raknetBitStreamIgnoreBits

kultizdat.

Известный
Автор темы
149
10
Версия MoonLoader
Другое
Всем привет. Объясните пожалуйста, как определить какое количество битов нужно пропускать,
что бы вытащить информацию о тексте охранника, которая идет с 206 пакета ( или как его правильно назвать )
 

Вложения

  • 1733062793099.png
    1733062793099.png
    23.2 KB · Просмотры: 53
  • Безымянный.gif
    Безымянный.gif
    50.8 KB · Просмотры: 56
Последнее редактирование:

kultizdat.

Известный
Автор темы
149
10
8 потому что в пакетах первые 8 бит это их айди, еще 32 это какая то аризоновская залупа которая видимо тоже не особо нужна
Почему 220 пакет это 8 бит? Как это сосчитать?
 

paulohardy

вы еще постите говно? тогда я иду к вам
Всефорумный модератор
1,913
1,288
  • Нравится
Реакции: kultizdat.

paulohardy

вы еще постите говно? тогда я иду к вам
Всефорумный модератор
1,913
1,288
  • Нравится
Реакции: kultizdat.

kultizdat.

Известный
Автор темы
149
10
Пытаюсь вывести сообщение
обрезают мусор, поймай CEF пакет и в лог его выведи строкой, сам увидишь что там лишнее
Что для битстрима является "мусором"? Нули?
Безымянный.jpg


Пытаюсь вывести сообщение

Что для битстрима является "мусором"? Нули?
Безымянный.jpg
т.е после 17 пакета и до 119 мы должны пропустить 8 значений?
8 * 4 = 32, по этому raknetBitStreamIgnoreBits(bs, 32)?

Lua:
addEventHandler('onReceivePacket', function(id, bs, ...)
    if id == 221 then
        raknetBitStreamIgnoreBits(bs, 8)
        if raknetBitStreamReadInt8(bs) == 85 then
            raknetBitStreamIgnoreBits(bs, 28)
            local cmd = raknetBitStreamReadString(bs, raknetBitStreamReadInt32(bs))
            sampAddChatMessage(string.format("Сообщение - %s", cmd),-1)
        end
    end
end)
--ЭUАй,мнебольно,ненадо!яяяяpA' | 221, 85, 0, 3, 0, 25, 0, 0, 0, 192, 233, 44, 32, 236, 237, 229, 32, 225, 238, 235, 252, 237, 238, 44, 32, 237, 229, 32, 237, 224, 228, 238, 33, 10, 255, 255, 255, 255, 0, 0, 112, 65, 16, 39, 0, 0
почему выводит пустой текст?
 
Последнее редактирование:

Hatiko

Известный
Проверенный
1,509
624
Что для битстрима является "мусором"? Нули?
То что ты сам посчитаешь. Одним эта информация может быть не нужна, другие могут что-то из нее получить.
raknetBitStreamIgnoreBits(bs, 28)
Вот и сам подумай, почему не работает. И откуда у тебя 28 битов взялось, если 4 байта (32 бита) скипаешь
 
  • Нравится
Реакции: kultizdat.

DDkail

Новичок
23
13
  • Нравится
Реакции: kultizdat.

kultizdat.

Известный
Автор темы
149
10
То что ты сам посчитаешь. Одним эта информация может быть не нужна, другие могут что-то из нее получить.


Вот и сам подумай, почему не работает. И откуда у тебя 28 битов взялось, если 4 байта (32 бита) скипаешь
Lua:
addEventHandler('onReceivePacket', function(id, bs, ...)
    if id == 221 then
        raknetBitStreamIgnoreBits(bs, 8)
        if raknetBitStreamReadInt8(bs) == 85 then
            raknetBitStreamIgnoreBits(bs, 32)
            local cmd = raknetBitStreamReadString(bs, raknetBitStreamReadInt32(bs))
            sampAddChatMessage(string.format("Сообщение - %s", cmd),-1)
        end
    end
end)
Так получается?
Если да, то выдает ошибку "string to long"
 

kultizdat.

Известный
Автор темы
149
10
Последнее редактирование:

Hatiko

Известный
Проверенный
1,509
624
220 пакет, а не 221
Почему 0 это uint32?
Потому что в этих 4 байтах хранится 0, скриншот кстати говоря слишком сильно вводит в заблуждения, указывает 4 байта, а зачеркивает 3 байта остальные

Не лезьте вы в это, если не имеете базового представления об типах данных. Информатику меньше прогуливать надо, если она вообще была.
Не возвращайте с этими вопросами, пока не изучишь: https://metanit.com/cpp/tutorial/2.3.php
Погугли сам еще про типы данных
 

Matthew_Diaz

Новичок
1
1
220 пакет, а не 221

Потому что в этих 4 байтах хранится 0, скриншот кстати говоря слишком сильно вводит в заблуждения, указывает 4 байта, а зачеркивает 3 байта остальные

Не лезьте вы в это, если не имеете базового представления об типах данных. Информатику меньше прогуливать надо, если она вообще была.
Не возвращайте с этими вопросами, пока не изучишь: https://metanit.com/cpp/tutorial/2.3.php
Погугли сам еще про типы данных
все тут из себя умные, а по факту ничего не объясняете