Ergebnis 1 bis 8 von 8
  1. #1
    W32.Lovgate
    Registriert seit
    01.07.2007
    Beiträge
    354

    Standard Problem mit lesen aus exe

    das hier soll mal ein Stub von mir werden, um anzufangen, soll sich die Exe-Datei mal selbst kopieren, geht aber nicht, kann mir einer helfen?

    PS: Ich weiss, dass daran noch viel geändert werden muss, damit es ein packer wird, aber hier übe ich das Auslesen aus einer Exe...
    Code:
    /*test.c*/
    
    #include <stdio.h>
    
    int main(int argc, char *argv[])
    {
        FILE *me, *to;
        char c;
        
        printf("argv[0] = %s\n", *argv);
        
        me = fopen(*argv, "r");
        if(me == NULL)
        {
              fprintf(stderr, "Couldn' t open source file...");
              return 1;
        }
        
        to = fopen("C:\\test.exe", "w");
        if(to == NULL)
        {
              fprintf(stderr, "Couldn' t open destination file...");
              return 1;
        }
              
        while((c = fgetc(me)) != EOF)
        {
                 fputc(c, to);
                 printf("%c", c);
        }
        
        
        
        
    }
    [/quote]

  2. #2
    I'm in ur VM. Avatar von l0dsb
    Registriert seit
    23.07.2007
    Beiträge
    1.038

    Standard

    Was geht denn genau nicht?
    I can haz RCE?

  3. #3
    W32.Lovgate
    Registriert seit
    01.07.2007
    Beiträge
    354

    Standard

    erstens wird die test.exe nur 1 kB gross, das eigentliche Programm ist 17 kB gross.
    Inhalt der test.exe mit Text-Editor betrachtet:
    Code:
    MZ?    
    zweitens muss ich in die konsole den kompletten pfad eingeben, sonst geht es auch nicht, da bräuchte ich auch eine bessere Lösung.

  4. #4
    I'm in ur VM. Avatar von l0dsb
    Registriert seit
    23.07.2007
    Beiträge
    1.038

    Standard

    Code:
    me = fopen(*argv, "r");
    wird zu
    Code:
    me = fopen(*argv, "rb");
    Du musst die Datei binär einlesen, sonst bleibt es bei der ersten binären Null (00) stehen.

    Wenn es nicht geht, wieder posten. ^^
    I can haz RCE?

  5. #5
    Michelangelo Virus
    Registriert seit
    14.06.2007
    Beiträge
    282

    Standard

    was f0gx sagt ist richtig du musst das ganze auf der binären ebene machen. ich würde auch an deiner stelle das ganze mit fstreams aus C machen, funktioniert aber in C++ noch genauso gut. Ich hab auchmal so versucht nen Builder mit Stub etc zu schreiben, ist aber wahnsinnig umständlich, mein lieber f0gx hat mir da was viel tollererereres gezeigt xD

    mfg

    zao

  6. #6
    W32.Lovgate
    Registriert seit
    01.07.2007
    Beiträge
    354

    Standard

    ich würde auch an deiner stelle das ganze mit fstreams aus C machen
    du meinst aus C++?

    mein lieber f0gx hat mir da was viel tollererereres gezeigt xD
    Darfst du mir das auch verraten??xD

    eigentlcih hatte ich mir das so vorgestellt, nachher in das letzte byte des stubs zu schreiben, wie lange die aufgenommene Datei ist, dann den zeiger zurückspulen, von da aus extrahieren, und mit system("trojaner.exe") ausführen...

  7. #7
    I'm in ur VM. Avatar von l0dsb
    Registriert seit
    23.07.2007
    Beiträge
    1.038

    Standard

    Darfst du mir das auch verraten??xD
    Es kommt bald ein Tutorial dazu. Immer Geduld.
    I can haz RCE?

  8. #8
    W32.Lovgate
    Registriert seit
    01.07.2007
    Beiträge
    354

    Standard

    OK, vielen Dank euch beiden...

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •