Дмитрий
что тут где инвертируется?
Дмитрий
и зачем
The Bird of Hermes
а это что? sx6: [LOG050]2024/05/25 12:59:33 3ACC9EE9 c (dvbapi) Demuxer 0 filter2[0] = 82, filter mask[0] = FF, flt&mask = 82 , buffer[0] = 82, buffer[0] & mask = 82
Ничего и нигде, потому что маска 0xFF, её наложение не дает абсолютно никакого эффекта при использовании на одном байте в логическом "И"
The Bird of Hermes
The Bird of Hermes
Я могу говорить только за те операции, которые я вижу
The Bird of Hermes
а если я сделаю вот так //filters[idx].filter[0] = 0x82; filters[idx].mask[0] = 0xFE;
Маска 0xFE будет обнулять младший бит при использовании логического "И". Она не будет его учитывать
The Bird of Hermes
Точнее она будет его отбрасывать, вот
Дмитрий
Я не знаю, какой у тебя алгоритм
значит я не смогу прописать "все кроме 0" данными выражениями?
The Bird of Hermes
значит я не смогу прописать "все кроме 0" данными выражениями?
Скорее всего нет, точно алгоритм я не знаю, но для проверки условия всегда нужно это самое условие в той или иной его форме
The Bird of Hermes
Если у тебя его там нигде нет, то нет, не сможешь
The Bird of Hermes
Проверку на 0 можно сделать кстати так if(!(val&val)) { //actions if null }
Дмитрий
и зачем то маску туда залепили
The Bird of Hermes
и зачем то маску туда залепили
Может она используется позже🤷‍♂️. Опять же, принцип работы алгоритма и что он делать должен я не знаю
The Bird of Hermes
Сидеть читать сотни строк честно щас лень
Дмитрий
то что не соотв кретериям фильтра идет в корзину
Дмитрий
то что соотв - идет в обработку
The Bird of Hermes
из потока ловит пакеты и отсеивает их по фильтру
Ммм, а почему тогда кода так дофига
The Bird of Hermes
Если все так просто
The Bird of Hermes
Есть у меня подозрение, что он на каждый полученный байт накладывает маску, а потом сравнивает с фильтром
The Bird of Hermes
А на фильтр её накладывает на всякий пожарный
The Bird of Hermes
Звучит логично, а как на самом деле - хз
Дмитрий
да врзможно
Дмитрий
просто не хотелось бы сильно перекапывать этот код
Дмитрий
Ммм, а почему тогда кода так дофига
значит ты хочешь сказать что тут работает побитное & и сработает только тогда когда все биты засветятся?
Дмитрий
ну кроме тех которые обнулены в маске
Aiwan \ (•◡•) / _bot
пропускать (принимать) все кроме 0x00
в данном желании есть условие. маска (and) это не условная операция. она не анализирует исходный операнд, а просто пропускает те биты которые указаны в маске в не зависимости 0 это или 1. если надо пропускать все кроме нуля, то сделай условие (проверку)
Aiwan \ (•◡•) / _bot
тогда что это buffer[0] & mask = 82 ?
уж точно не условие на пропуск ненуля
Aiwan \ (•◡•) / _bot
что "и как"?
Дмитрий
да это и есть лог его работы
Aiwan \ (•◡•) / _bot
Aiwan \ (•◡•) / _bot
может ты переформулируешь свой вопрос не опираясь на свое видение по разбору логов? а то непонятно все выходит, ты одно пытаешься сопоставить с несопоставимым
КТ315
потому что я и есть крутой гуру
Настолько крут, что не понимает булевую логику.
Ask
🤣
КТ315
и не только я по ходу
Нет, я понимаю, просто посмеяться хочу с недогуру))
КТ315
допустим 10 байт в пакете равен 00
А ещё хватит называть биты - байтами, великий гуру 😂
Дмитрий
да мне похуй
Дмитрий
лиж бы отсекала нулевые пакеты
КТ315
допустим 10 байт в пакете равен 00
test eax, 0b1000000000 jz tenbitnotset 😂 "Великий гуру".
КТ315
😂😂
Дмитрий
test eax, 0b1000000000 jz tenbitnotset 😂 "Великий гуру".
ну давай покажи нам как надо сделать реверс-инженер
Дмитрий
ковырять чужое по - твоя тема
КТ315
ну давай покажи нам как надо сделать реверс-инженер
Очечи протри, я тебе уже показал 😂
The Bird of Hermes
test eax, 0b1000000000 jz tenbitnotset 😂 "Великий гуру".
Вообще если чисто на 0, то тупо test eax, eax jz zero
КТ315
Вообще если чисто на 0, то тупо test eax, eax jz zero
Какой ноль, если он хочет проверять 10-й бит, если он равен 0 - отвергнуть пакет, если 1 - принять.
КТ315
Детская задачка ... 🤦‍♂
The Bird of Hermes
Пакеты по 10 бит как-то странно звучит🤷‍♂️
КТ315
Ну я думаю там он под байтом имел ввиду байт😁
Да он просто Сишный балбес, не может различить байт от бита.
The Bird of Hermes
Где он такое писал?
Я про то, что если он говорит пакет на 10 байт, то скорее всего это пакет именно байт, потому что насколько я знаю пакеты битами не передаются😁
КТ315
Он не писал, что пакет по 10 байт, где он такое писал? Не думаю, что этот великий гуру не смог даже осилить обычную проверку на 0 😁😁
КТ315
Во
Ржу. Там в его ЯВУ языке это тупо buf[9] != 0, 😂😂😂😂😂
Дмитрий
//memcpy(&filters[idx].filter[4], rdr->hexserial + 2, 4); memset(&filters[idx].mask[4], 0xFF, 1);
Дмитрий
?
КТ315
?
Нет, *вставляет случайную строку из кода ядра Линукс*.
КТ315
//memcpy(&filters[idx].filter[4], rdr->hexserial + 2, 4); memset(&filters[idx].mask[4], 0xFF, 1);
Скажи честно, тебя в чате по С забанили, да?
The Bird of Hermes
В чем вопрос-то вообще
Дмитрий
?
пропускать пакеты с ненулевый байтом внутри
Дмитрий
остальные отсекать
КТ315
😂
Aiwan \ (•◡•) / _bot
пропускать пакеты с ненулевый байтом внутри
так проверь этот байт и если он ноль, то не пропускай остальное
The Bird of Hermes
пропускать пакеты с ненулевый байтом внутри
Так это же стандартные функции сишки🤣
The Bird of Hermes
Открой доку