У меня есть строка шелл-кода с NULL-символами между ними, и я не могу определить ее длину, я попробовал метод std::string.length()
, но он учитывается только до NULL-символа, после чего он не считается.
Вот пример кода.
std::string shell_str = "\x55\x48\x89\x00\x00\x00\x00\xC3\x90";
std::cout << "shell : " << shell_str << std::endl;
std::cout << "shell length : " << shell_str.length() << std::endl;
Выход :
shell : UH�
shell length : 3
Но длина строки равна 9 , и я попытался скопировать ее в вектор, но все равно не получил желаемого результата.
Полный фрагмент кода размещен здесь