verstehen eines Assemblercodes
-
Hi,
ich hab Probleme einen Assemblercode zu verstehen.
Da ist er:inc cx add [bx+di+0x0],al add [bx+si],al inc dx add [bp+si+0x0],al add [bx+si],al inc bx
Den code hab ich von nem disassembler, ndisasm, also sollte das nasm syntax sein.
Hintergrund:
Der Code stammt aus einem Samba Exploit (http://www.milw0rm.com/exploits/4732)
Und zwar würde ich gern selbst shellcode ausführen, aber dazu muss ich wohl erstmal verstehen was der Autor da macht. Ich brauch das für meine Facharbeit - ich würde halt gern demonstrieren was alles geht und nicht nur aufzeigen das da irgendwie was sein könnte.MfG gosha16
-
So aus dem Kontext gerissen ist dieses Schnippsel allein ziemlich sinnfrei.
Da ich weder Zeit noch Lust habe, deine Arbeit fuer dich zu machen, kann ich dir so allgemein eigentlich auch nicht viel mehr dazu sagen. Was verstehst du denn an diesem konkreten Stueck Code nicht, bzw. beschreibe mal genauer, wo du Schwierigkeiten hast.
-
16Bit code ....
-
gosha16 schrieb:
inc cx add [bx+di+0x0],al add [bx+si],al inc dx add [bp+si+0x0],al add [bx+si],al inc bx
Das ist ungefähr das hier:
++a; p_data[i] += K; p_data[k] += K; ++b; buffer[k] += K; p_data[k] += K; ++p_data;
Leute, was bedeuten die ganzen Additionen
-
abc.w schrieb:
Leute, was bedeuten die ganzen Additionen
Das da irgendwas addiert wird.
Ohne einen Kontext kann ich dieses "irgendwas" auch nicht erraten.
(meine Kristalkugel ist diese Woche leider noch nicht einsatzbereit, so früh am Montag Morgen ist das immer ein Problem)
-
Das sind disassemblierte "Daten":
0000 (01) 41 INC CX 0001 (03) 00 41 00 ADD [BX+DI+0x0], AL 0004 (02) 00 00 ADD [BX+SI], AL 0006 (01) 42 INC DX 0007 (03) 00 42 00 ADD [BP+SI+0x0], AL 000A (02) 00 00 ADD [BX+SI], AL 000C (01) 43 INC BX 41 00 A . 41 00 00 00 A . . . 42 00 B . 42 00 00 00 B . . . 43 C
-
1. Das sieht mir nicht nach Code aus...
2. Ist der exploit für eine 16Bit Variante von Samba? – das mag ich irgendwie bezweifeln!