![]() |
Portable Executable File Unit
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe mich des öfteren mit Microsofts PE-Format beschäftigt und deswegen dachte ich mir das ich mal eine Unit mache die die Arbeit mit dem PE-Format erleichtern sollte :). Die Unit wird von mir täglich mit neuen Funktionen erweitert! Unit Version: 1.3 Funktionen:
Beispiel-Aufruf:
Delphi-Quellcode:
Falls ihr Verbesserungsvorschläge habt, dann nur her damit!
uses untPeFile;
... procedure TForm1.FormCreate(Sender: TObject); var PE: TPeFile; x: Word; Imports: TImportsArray; const sSection = 'Name: %s' + #13#10 + 'Sektion: %d/%d' + #13#10 + 'Start der Sektion: %d' + #13#10 + 'Größe der Sektion: %d'; sImports = 'Bound Import Lib: %s'; begin PE := TPeFile.Create; // Datei Laden .. if PE.LoadFromFile('C:\WINDOWS\Notepad.exe') then begin // Alle Sektionen ausgeben for x := Low(PE.ImageSections) to High(PE.ImageSections) do ShowMessage(Format(sSection, [PE.SectionToString(PE.ImageSections[x]), x, PE.NumberOfSections -1, PE.ImageSections[x].PointerToRawData, PE.ImageSections[x].SizeOfRawData])); // Imports Auslesen PE.GetImportAddressTable(Imports); // Nur die Bound IAT ausgeben for x := Low(Imports) to High(Imports) do if Imports[x].ImportType = itBound then ShowMessage(Format(sImports, [Imports[x].LibraryName])); // Neue Sektion anlegen PE.AddSection('NewSec', $200); // Die angelegte Sektion wieder entfernen PE.DeleteSection(PE.NumberOfSections -1); // Speichern ... PE.SaveToFile('C:\NOTEPAD_TMP.exe'); end; // Freigeben... PE.Free; end; |
Re: Portable Executable File Unit
ich werde sie mal testen thx dafür, wie siehts denn aus mit dem copyright???
nur credits bei verwendung!!?? und wie siehts aus mit dem bearbeiten??? |
Re: Portable Executable File Unit
Zitat:
|
Re: Portable Executable File Unit
Habe gerade eben eine neue Version (mit Beispielen) raufgeladen.
Zitat:
|
Re: Portable Executable File Unit
Gute Arbeit :thumb:
|
Re: Portable Executable File Unit
Du machst dir da ja ein menge Arbeit. Ich habe dafür bis jetzt immer die JclPeImage Unit benutzt.
|
Re: Portable Executable File Unit
Moin, moin
Ja, das mit den zugehörigen Beispielen hat was! Programme zum verschlüsseln von Programmteilen kosten oft deutlich Geld. Hier sieht man auch noch wie vieles funktioniert. Das Projekt lässt jedenfalls auf deutlich Geduld und Ausdauer schliessen. Viele Grüße // Martin |
Re: Portable Executable File Unit
huhu!
mal eine ganz beschränkte frage: was tut es und wofür braucht man es? :-) gruß reli |
Re: Portable Executable File Unit
Zitat:
![]() |
Re: Portable Executable File Unit
jo da hatte ich gerade kurz mal drüber gelesen :-)
mir war nur der sinn nicht 100%ig klar :-) d.h. man könnte in einer bestehenden datei z.b. noch eine andere "datei" unterbringen durch eine neue section und diese dann später wieder auslesen? gruß reli |
Re: Portable Executable File Unit
Zitat:
|
Re: Portable Executable File Unit
Zitat:
![]() |
Re: Portable Executable File Unit
coole sache... aber ich glaube sowas mögen kunden generell nicht :-p
|
Re: Portable Executable File Unit
Was sagen eingentlich Virenscanner dazu, wenn man die Exe-Datei modifiziert oder verschlüsselt?
|
Re: Portable Executable File Unit
Und ich hab schon wieder eine Neue Version hochgeladen.
Zitat:
|
Re: Portable Executable File Unit
Zitat:
|
Re: Portable Executable File Unit
Zitat:
Zitat:
|
Re: Portable Executable File Unit
Die sagen nichts, du kannst jeden Virus crypten und der wird nicht mehr erkannt. Jedenfalls so lange bis der crypter auf die Blacklist kommt. (vereinzelt zeigen die halt an, dass die Datei möglicherweise ein Virus ist)
|
Re: Portable Executable File Unit
Zitat:
Zitat:
Allerdings muß ich dir etwas widersprechen. Das Thema wurde zwar auf dem Antivirus-Tester-Workshop hier in Reykjavík im Mai auch angesprochen, aber allgemein ist es eben nicht so, daß Packer/Crypter geblacklisted werden. Bei einigen AV-Firmen gibt es allerdings diese Tendenz, was auch rege am zweiten Tag in der Podiumsdiskussion diskutiert wurde. Auch war man sich weitgehend darüber einig, daß bei einem Packer/Crypter der quasi nur von Malware benutzt wird, ein Blacklisting bis zur Analyse und Implementierung im Emulator der AV-Engine gerechtfertigt werden kann. Übrigens hatte diese Diskussion ein Kollege von Kaspersky Niederlande angeregt, weil er sowas in seinem Vortrag am Rande erwähnt hatte - das (zumindest temporäre Blacklisting) sei übliche Praxis bei Kaspersky. Ist der Packer erstmal effektiv in der Engine implementiert, braucht der Emulator sich bekanntlich nicht mehr durch den Entpackcode durchwühlen und damit werden solche Viren dann doch erkannt. Du (brechi) solltest doch eigentlich wissen, wie AVs implementiert sind, zumindest oberflächlich. Abgesehen davon reden wir hier vermutlich noch nichtmal von Viren im traditionellen Sinn, weil die bekanntlich nur noch den kleinsten Teil ausmachen. Auch Skiptkiddies sind schließlich nur Benutzer vorgefertigter Lösungen ;) |
Re: Portable Executable File Unit
Zitat:
|
Re: Portable Executable File Unit
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 ( ![]() 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. ![]() |
Re: Portable Executable File Unit
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: Portable Executable File Unit
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. |
Re: Portable Executable File Unit
Zitat:
|
Re: Portable Executable File Unit
Zitat:
|
Re: Portable Executable File Unit
Zitat:
Um neuen Code einzuschleusen, reicht es da in die neue Sektion eine kompilierte Exe zu kopieren und dann den Einsprungspunkt umzubiegen? |
Re: Portable Executable File Unit
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.
|
Re: Portable Executable File Unit
Gut, dann muss ich mir das noch mal genauer angucken.
|
AW: Portable Executable File Unit
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 ( ![]() 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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:02 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