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!


Anmelden zum Antworten