Gewusst wie: übergeben Sie einen hex-Wert als string und legen Sie es in char-variable?
Vielleicht, was ich verlange ist nicht machbar, aber ich werde versuchen, so klar wie möglich.
Habe ich eine einfache Datei, die in c geschrieben. wenn ich es ausführen, ich übergeben Sie eine Zeichenfolge, indem Sie den Befehl Zeile und speichern Sie es in eine lokale variable in der main-Funktion.
Den string im Speicher ist, konvertieren Sie in exadecimal wie diese:
es. main ABCDEFGH
im stack werden wir sehen, 0x44434241 0x48474645
was ist das inverse problem? Ich möchte zu finden eine Zeichenfolge (oder Nummer) so, dass der Speicher angezeigt wird, in einer Weise ich.e 0xab640e17 0x45b2c78a (beliebiger hexadezimaler Wert)
Denken, dass ich all das per Kommandozeile, keine code-Verbesserung! Gibt es einen speziellen Befehl oder ein escape-char dabei?
Dank, ich hoffe, es ist klar genug :/
mögliche Lösung
vielleicht ist das übergeben dieser: perl -e 'print "\xab\x64\x0e\x17\x45\xb2\xc7\x8a"'
- Können Sie erläutern, wie mehr der umgekehrte Fall? Ich habe nicht bekommen, was Sie fordern.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nur entkommen, wörtliche hex-Werte in eine C-Zeichenfolge wie diese:
oder Sie können einfach verwenden Sie hex-Werte direkt so:
(das hat auch den Vorteil, dass Sie nicht generieren ein trailing 0x00, wenn Sie gar nicht brauche).
Oh, ich glaube, Sie sind gerade auf der Suche nach einem ASCII-Tabelle. Gerade schauen Sie oben jedes hex-Wert und das entsprechende Zeichen. Leider hex-Zeichen über 0x7F haben die Maschine-abhängig ASCII-Repräsentation, und einige der niedrigeren Werte sind nicht druckbar.