zamiana "010203" na "\x1\x2\x3"

Odpowiedz Nowy wątek
2014-10-13 21:16
0

Witam.

Czy jest jakaś funkcja w c+, która robi coś takiego jak w tytule ? Jeśli nie to jak przechowywać "\x" w c++ ?

dzięki za pomoc.

Pozostało 580 znaków

2014-10-13 22:03
1

Przechowywać możesz w tablicy charów:

unsigned char shellcode[] = "\xEB\x19\x31\xC0\x5E\x88\x46\x07\xBB\xEF\xBE\xAD\xDE\x50\x56\xFF"
"\xD3\x31\xC0\x50\xBB\xBE\xBA\xFE\xCA\xFF\xD3\xE8\xE2\xFF\xFF\xFF"
"\x63\x6D\x64\x2E\x65\x78\x65" ;

Ale fajnie będzie, jak napiszesz, co dokładnie chcesz osiągnąć.

Pozostało 580 znaków

2014-10-13 22:14
0

Trochę się pomyliłem. Mam jednak

char * input = "0102030405"; 

i chciałbym to skonwertować tak, żeby tam było "\x1\x2\x3\x4\x5".

Mam nadzieje, że teraz jaśniej, sory za dezinformacje.

Pozostało 580 znaków

2014-10-13 22:31
kq
3
char * input = "0102030405"; 

To nie jest poprawny kod C++ i nie powinien się kompilować.

Jeśli chodzi o samą zamianę, polecam std::regex.

    string s = "0102030405";

    regex zero{"(0)"};

    DBG((regex_replace(s, zero, string{R"(\x)"})));

http://melpon.org/wandbox/permlink/jgJ86DMlWVZY4XoD


Pozostało 580 znaków

2014-10-14 10:35
Czarny Terrorysta
0

gdyby było const char * input = "0102030405" było by poprawnie ;)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0