Size: a a a

2020 December 16

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Alex
Т. е. так должно компилиться и работать без копирования?
void g(std::vector<int>&&);

void f(std::vector<int> v)
{
  g(std::forward<decltype(v)>(v);
}
Потому что форвард возвращает T&&
источник

R

Roman in pro.cxx
Кто может подсказать , почему '\?' при касте ( byte*) в сигнатурном сканировании принимает любой байт , а '\х00' - нет.
источник

LA

Liber Azerate in pro.cxx
Artöm Bakri Al-Sarmini
Потому что форвард возвращает T&&
А какой здесь смысл в условном касте, если параметр по значению? Там обычный мув быть должен
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Liber Azerate
А какой здесь смысл в условном касте, если параметр по значению? Там обычный мув быть должен
Там не по значению
источник

A

Alex in pro.cxx
Нет! Потому что T может быть int& (например)
источник

LA

Liber Azerate in pro.cxx
Artöm Bakri Al-Sarmini
Там не по значению
f(std::vector<int> v) иль я ослеп
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Roman
Кто может подсказать , почему '\?' при касте ( byte*) в сигнатурном сканировании принимает любой байт , а '\х00' - нет.
Че
источник

A

Alex in pro.cxx
здесь да, но это просто мой пример, которым я уточнял поведение forward
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Liber Azerate
f(std::vector<int> v) иль я ослеп
Посмотри тут https://t.me/ProCxx/420128
источник

LA

Liber Azerate in pro.cxx
Alex
здесь да, но это просто мой пример, которым я уточнял поведение forward
Ну и ты его дальше в g передаёшь, там не нужен форвард, он там бессмысленен
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Liber Azerate
Ну и ты его дальше в g передаёшь, там не нужен форвард, он там бессмысленен
Это код к вопросу о том, как работает форвард, не к исходному вопросу
источник

R

Roman in pro.cxx
Данные хранятся в памяти , при этом ячейки памяти имеют " свое имя"
Так вот сигнатурное сканирование ищет по модулю совпадение этих байт
Пример сигнатуры : "\x5B\xA1\x33\x56\x57\?"
Везде, кроме ? Будет строгое сравнение
В дизассемблерах это наглядно видно
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
При чем тут каст?
источник

R

Roman in pro.cxx
Как-то именно при byte* сам знак '\?'  Подразумевает в себе что-то неизвестное. Вот и хочу узнать , как это работает. Т.к char* таким свойством не обладает
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Покажи код тогда
источник

m

magras in pro.cxx
Artöm Bakri Al-Sarmini
Покажи код тогда
Словосочетание "сигнатурный поиск" мне напоминает об антивирусах. Возможно не стоит помогать этому человеку.
источник

AN

Alexander N in pro.cxx
magras
Словосочетание "сигнатурный поиск" мне напоминает об антивирусах. Возможно не стоит помогать этому человеку.
Или читах)
источник

К

Коля🤔🎭 in pro.cxx
Roman
Данные хранятся в памяти , при этом ячейки памяти имеют " свое имя"
Так вот сигнатурное сканирование ищет по модулю совпадение этих байт
Пример сигнатуры : "\x5B\xA1\x33\x56\x57\?"
Везде, кроме ? Будет строгое сравнение
В дизассемблерах это наглядно видно
Там, где ? всегда будет случайный адрес (с хипа или еще откуда). Зачастую так и ищут нужный адрес. Или же ищется статический адрес (указатель), который указывает на этот хип
источник

К

Коля🤔🎭 in pro.cxx
Если все значения совпадают по маске (то есть вместо ? может быть что угодно, но другие значения должны совпадать), значит значение найдено. Но сигнатуры могут быть повторяющимися, следуют это учитывать и проверять, иначе иногда будет искать совсем другой адрес
источник

ПК

Побитый Кирпич... in pro.cxx
Егор Ворончихин
при ручном чтении слишком рано прерывается цикл
ifstream infile(filePath);
while (infile >> tmp) {
   vectorBson.push_back(tmp);
}
потому что принимает что-то за конец файла раньше, чем нужно, поэтому когда я даю vectorBson библиотечной функции from_bson, она ругается на syntax error
Потому что не так файл в память читают, гугли метод read
источник