Archiv verlassen und diese Seite im Standarddesign anzeigen : exploit dexadezial
Hi,
hab mal ne frage, in vielen exploits sieht man meistens als shellcode
"\x01\x10\x0F\x20\x0A\x00\x00\x00\x02\x18\x00\x01\x 00\x00\x00\x00"
Was hat das genau zu bedeuten und was ist der Unterschied zu:
ShellCode[] = {
0x01, 0x10, 0x0F, 0x20, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, ??????
Wie formatiert man einen Text bzw. Assembler Befehle so(add, mov) und warum tut man das ?
Ich hoffe ich habe das hier ins richtige Forum geschrieben und mir kann man helfen.
Shakademus
20.01.2007, 14:39
Jedes Stückchen Assembler-Code hat eine binäre Entsprechung, nop z.B. 00001000. Damit es übersichtlich ist und nicht zuviel Platz frißt, verwendet man halt das Hexadezimalsystem. Das erste ist ein nullterminierter String, das zwei ein einfaches Char-Array. Weiteres erklärt Dir ein beliebiges C-Tutorial.
Hi,
hab mal ne frage, in vielen exploits sieht man meistens als shellcode
"\x01\x10\x0F\x20\x0A\x00\x00\x00\x02\x18\x00\x01\x 00\x00\x00\x00"
Was hat das genau zu bedeuten und was ist der Unterschied zu:
ShellCode[] = {
0x01, 0x10, 0x0F, 0x20, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, ??????Es kommt bei beiden das selbe Raus [1]; welche Schreibweise man verwendet ist jedem selbst überlassen (ich mag z.B. den String oben lieber, weil es etwas kompakter ist).
Wie formatiert man einen Text bzw. Assembler Befehle so(add, mov) und warum tut man das ?Man lässt den Assembler die Mnemonics in Maschienencode übersetzen, und dann schreibt man die einzelnen Bytes entweder per Skipt oder von Hand in einen Syntax, den der compiler für den Exploit versteht [2]. Oder was genau wolltest du wissen?
Ich hoffe ich habe das hier ins richtige Forum geschrieben und mir kann man helfen.Ersteres mit Sicherheit ja; das zweite hoffe ich auch ;).
[1] Ok, ich lege nicht meine Hand dafür ins Feuer dass der Kompiler bei beiden Schreibweisen exakt den selben Code generiert.
[2] einige Shellcode-Generatoren (z.B. der von metasploit) erledigen dass auch automatisch.