Einzelnen Beitrag anzeigen

Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#21

Re: ASM in Delphi "nop" umsetzen

  Alt 15. Jun 2009, 23:27
Generell kannst Du damit Code mehr oder weniger deaktivieren. Das muss nicht zwangsläufig der Code des Kopierschutzes sein. Ein Beispiel aus der Malwarebekämpfung: Viele Conficker Remover überschreiben den injezierten Conficker Code im Speicher mit einer NOP Slide und einem kleinen Shellcode um eine aktive Infektion zu deaktivieren. Siehe dazu z.B. den Quelltext des Conficker Cleaners der Uni Bonn:

Code:
  //create nop slide
  memset(buffer, 0x90, pageSize);
  for (addr=start; addr < nopslide_end; addr+=write_size){
    write_size = min(pageSize, nopslide_end - addr);

    if (!WriteProcessMemory(hProcess, (void *) addr, buffer, write_size, &written)) PrintErrorMessage("WriteProcessMemory");
  }
Meiner Ansicht nach wäre es zwar eleganter zu überprüfen welche Threads eine Startadresse innerhalb der von Conficker erstellten Memorybereiche haben und diese dann zu suspenden bzw. zu terminieren, aber jeder macht das halt anders .
Fridolin Walther
  Mit Zitat antworten Zitat