AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Portable Executable File Unit
Thema durchsuchen
Ansicht
Themen-Optionen

Portable Executable File Unit

Ein Thema von ErazerZ · begonnen am 30. Jun 2007 · letzter Beitrag vom 16. Aug 2010
Antwort Antwort
Seite 3 von 3     123   
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#1

Re: Portable Executable File Unit

  Alt 16. Jul 2007, 09:54
Hi Olli, ich weiß dass wie die AV Programme in der Regel aufgebaut sind. Als Cheatprogrammierer kenn ich zumindest die Hooktechniken und teste so auch mal die ein oder anderen AV Programme. Ich hab mir aber schon länger nicht mehr KAV usw. getestet, daher kann ich nur aus Erfahrungen sprechen.
Bei Antivir war es z.b. so, dass ich ein mit UPX gepacktes Programm hatte, was nach dem entpacken und wieder packen mit UPX und einem anderen Komprimierungslevel schon die Exe nicht mehr erkannt hat. Da war wohl einfach eine Signatur für die Exe eingebaut, entpackt wurde sie wohl nicht. (Obwohl Antivir dafür ja eine entpackroutine hat). Hat mich nur geweundert warum sie da eine einfache Signatur gemacht haben und nicht auf die entpackte Exe. Naja gut, wird sich wohl mitlerweile geändert haben.
Dann das Beispiel Morphine. Wird ja größtenteils für Viren use bwneutzt und da bin ich mir doch eben sicher, dass zumindest zu meiner Zeit wo ichs mir angeschaut habe, generell alle mit Morphine gepackten Dateien als Virus eingestuft wurden. Ist mir auch relativ verständlich. Immerhin ist es OpenSource und man kann da immer kleine Änderungen machen und die gleiche gepackte Datei sieht auch immer anders aus. Macht mein Crpyter ja genauso, und denke nicht, dass die AV Programmierer für irgend welche kleinen Crypter jedesmal einen ALgorithmus entwicklen wollen der das Teil entpackt.
Und dann kommen wir noch zu Execryptor ( http://www.strongbit.com/execryptor_inside.asp ) ein kommerzielles Programm zum crypten. Die selbe Exe sieht auch immer anders aus, und entpacken kann man es nicht. Würd mich aml interessieren wie du dagegen vorgehen würdest. Bleibt ja dann auch nur für jeden Virus eine Signatur zu erstellen. Nur der Virenschreiben muss jedesmal die Exe neu durch den Crypter jagen und jedesmal wird sie nicht mehr erkannt.
Ein interessantter (wenn auch meienr Meinung nach unschön gelöster) Ansatz hjat ja asquared. Also API hooking um dann zu schaun ob man einen Virus hat. Dies könnten die AV Hersteller eigentlich super für jeglichen gecrypteten Code anwenden. Nur als Beispiel wieder Morphine, wo einige AV Hersteller ja wohl lange Zeit Probleme hatten den Programmcode zu entcrpyten. Ein Hook auf VirtualProtect (bzw. VirtualProtectNt) und man kann die Adresse vom entschlüsselten Code direkt vom Stack ablesen. Und dann darauf eben eine Signatur anlegen. Weiß nicht inwiefern die AV Hersteller das Scannen von ausgeführten Dateien überwachen. Damit kann man schon Viren die gecrypted sind erkennen ohne großartig für jede Version des Crypters den Entschlüsselunsgcode anzupassen. die ganzen Morphine Viren können so während der Laufzeit gecheckt werden, und der VirtualProtect Hook funktioniert für alle Morhpine Versionen.
http://uall.cheat-project.com/files/...ine_source.zip
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#2

Re: Portable Executable File Unit

  Alt 16. Jul 2007, 14:50
Zitat von brechi:
Dann das Beispiel Morphine. Wird ja größtenteils für Viren use bwneutzt und da bin ich mir doch eben sicher, dass zumindest zu meiner Zeit wo ichs mir angeschaut habe, generell alle mit Morphine gepackten Dateien als Virus eingestuft wurden.
Denkbar, aber mit welchen der insgesamt 2 dutzend AV-Engines die es so gibt?

Zitat von brechi:
Ist mir auch relativ verständlich. Immerhin ist es OpenSource und man kann da immer kleine Änderungen machen und die gleiche gepackte Datei sieht auch immer anders aus. Macht mein Crpyter ja genauso, und denke nicht, dass die AV Programmierer für irgend welche kleinen Crypter jedesmal einen ALgorithmus entwicklen wollen der das Teil entpackt.
Wollen nicht, oft ist es aber notwendig und oftmals sind zumindest die Packalgos wiederverwendbar.

Zitat von brechi:
Und dann kommen wir noch zu Execryptor ( http://www.strongbit.com/execryptor_inside.asp ) ein kommerzielles Programm zum crypten. Die selbe Exe sieht auch immer anders aus, und entpacken kann man es nicht. Würd mich aml interessieren wie du dagegen vorgehen würdest. Bleibt ja dann auch nur für jeden Virus eine Signatur zu erstellen. Nur der Virenschreiben muss jedesmal die Exe neu durch den Crypter jagen und jedesmal wird sie nicht mehr erkannt.
Hmm, also ich wuerde sagen, dass dieses Produkt nur von paranoiden Idioten eingesetzt wird, die ihren Anwendern langsame Programme anbieten wollen, und eben von Malware-Autoren welche die "frei erhaeltliche" Version benutzen. So gesehen waere das einer der Packer, wo ich sogar fuer eine generelle Erkennung und Einstufung als potentielle Malware waere. Gibt da noch weniger als ein halbes dutzend anderer Kandidaten, fuer die aehnliches zutrifft. Bei Themida waeren es eben die Spielehersteller und die Malware-Autoren.

Zitat von brechi:
Ein interessantter (wenn auch meienr Meinung nach unschön gelöster) Ansatz hjat ja asquared. Also API hooking um dann zu schaun ob man einen Virus hat. Dies könnten die AV Hersteller eigentlich super für jeglichen gecrypteten Code anwenden. Nur als Beispiel wieder Morphine, wo einige AV Hersteller ja wohl lange Zeit Probleme hatten den Programmcode zu entcrpyten. Ein Hook auf VirtualProtect (bzw. VirtualProtectNt) und man kann die Adresse vom entschlüsselten Code direkt vom Stack ablesen. Und dann darauf eben eine Signatur anlegen.
Eines der ersten Gebote in der AV-Branche: Niemals boesartigen Code ausfuehren, den man erkennen kann. Du weisst so gut wie ich, dass man solchen Hooks ueblicherweise einfach entgehen kann. Die Emulatoren haben im Zusammenhang mit Signaturen aber aehnliche Dinge eingebaut. Ist also nicht so, dass hier die Signaturen von gepackten Dateien hinzugefuegt werden muessen, wenn man denn einen Entpacker hat oder der Emulator die Datei entpacken kann.

Zitat von brechi:
Weiß nicht inwiefern die AV Hersteller das Scannen von ausgeführten Dateien überwachen.
Meinst du nach dem Laden?

Zitat von brechi:
Damit kann man schon Viren die gecrypted sind erkennen ohne großartig für jede Version des Crypters den Entschlüsselunsgcode anzupassen.
Packer erkennen heisst aber noch nicht entpacken. Und bei unserem Emulator ist es so, dass der die EXE auch aufm PPC-Mac oder irgendwelcher anderen exotischen Hardware "ausfuehrt" (also emuliert). Hooks sind zumindest fuer die Kern-Engine bei uns einfach zu systemspezifisch.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Portable Executable File Unit

  Alt 16. Jul 2007, 14:54
Ich hatte nachgefragt, weil ich morphine kenne und weiß, dass das von Antivren-Programmen erkannt6 wird. Aber was nützt es mir, wenn mein Virenscanner nicht anschlägt, aber dann der von Kunden? Und dann hängt das ja noch von der Definitionsdatei ab.

Der beste Schutz ist immer noch eine bedingte Kompilierung und entsprechend Funktionen nicht einkompilieren bei Shareware Versionen. Denn was im Kompilat nicht drin ist, kann nicht gecrackt werden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#4

Re: Portable Executable File Unit

  Alt 16. Jul 2007, 15:03
Zitat von Luckie:
Der beste Schutz ist immer noch eine bedingte Kompilierung und entsprechend Funktionen nicht einkompilieren bei Shareware Versionen. Denn was im Kompilat nicht drin ist, kann nicht gecrackt werden.
Bingo!
  Mit Zitat antworten Zitat
Benutzerbild von ErazerZ
ErazerZ

Registriert seit: 27. Mai 2005
Ort: Baden
315 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Portable Executable File Unit

  Alt 17. Jul 2007, 17:35
Zitat:
  • Neu Dabei
  • AddSection - RawSize hinzugefügt, VirtualSize entfernt - wird automatisch von RecalcImageSize berechnet,
    lpData und dwDataLength hinzugefügt (das heißt, dass man die neue Sektion gleich mit Daten füllen kann).
  • DeleteSection - ImageSize wird über RecalcImageSize berechnet, ruft RecalcCheckSum am Ende der funktion auf!
  • ResizeSection - Damit kann man einzelne Sektionen vergrößern! Achtung: Ressourcen (OffsetToData) werden angepasst!
  • GetResources - Überarbeitet (RVA wurde falsch berechnet!), neue Struktur (enthält größe des Entries)
  • Resources Beispiel - Angepasst an die neue Struktur und Dump funktion hinzugefügt!
  • CalcChecksum - Damit wird die Check-Summe der PE Datei berechnet.
  • RecalcCheckSum - Berechnet automatisch die Check-Summe und ändert diese gleich in den Headern.
  • WriteImageSectionHeader - Schreibt alle ImageSections in dem Speicher!
ResizeSection hat Probleme gemacht aber geht schon
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Portable Executable File Unit

  Alt 6. Mai 2008, 13:58
Zitat von ErazerZ:
Du kannst damit zum Beispiel, einen neuen Code in die Anwendung "einschleusen" und diesen beim Start ausführen lassen.
Gibt es dazu auch ein Beispiel?

Um neuen Code einzuschleusen, reicht es da in die neue Sektion eine kompilierte Exe zu kopieren und dann den Einsprungspunkt umzubiegen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von ErazerZ
ErazerZ

Registriert seit: 27. Mai 2005
Ort: Baden
315 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Portable Executable File Unit

  Alt 6. Mai 2008, 17:42
ExeLoader.dpr ist ein Beispiel dazu. Das ist ein einfacher Execrypter der nichts anderes macht wie einen Code in einer anderen Exe-Datei einzuschleusen und dann beim ausführen ausgeführt wird und er zurück zum originellen Einsprungpunkt zurückspringt.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Portable Executable File Unit

  Alt 6. Mai 2008, 17:47
Gut, dann muss ich mir das noch mal genauer angucken.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
darknes

Registriert seit: 11. Apr 2009
15 Beiträge
 
#9

AW: Portable Executable File Unit

  Alt 16. Aug 2010, 13:42
Mir ist klar das dieses thema schon sehr alt ist aber schon zu 2003 konnte man Execrypter entpacken(mupen).
Allso @ brechi ist das hier "Und dann kommen wir noch zu Execryptor ( http://www.strongbit.com/execryptor_inside.asp ) ein kommerzielles Programm zum crypten. Die selbe Exe sieht auch immer anders aus, und entpacken kann man es nicht"
Reiner müll vonwegen nicht entpacken das ich nicht lache.
Du hast dich zwar sehr viel mit av´s befasst,aber wenn du dich nur ein monat oder zwei mit dem manuel unpacking befasst denkst du dir das die routine eines av´s programmes ein witz gegen über von manuel unpacking ist.
@ErazerZ könntest du ein bsp:coden wo bestimmte sectionen gelöscht werden.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz