AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Was sind Relocation Pointer Table und Overlaynumber (EXE)?
Thema durchsuchen
Ansicht
Themen-Optionen

Was sind Relocation Pointer Table und Overlaynumber (EXE)?

Ein Thema von Dannyboy · begonnen am 15. Mär 2004 · letzter Beitrag vom 17. Jan 2018
Antwort Antwort
Seite 3 von 4     123 4      
Dannyboy

Registriert seit: 4. Aug 2003
Ort: Delphi-Heaven
418 Beiträge
 
Delphi 7 Personal
 
#21

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 17. Mär 2004, 09:59
Zitat von Luckie:
Wie schon gesagt, wenn es nur das ist, brauchst du den ganzen PE_HEADER Kram nicht. Du kannst Dateien an eine Exe dranhängen und sie bleibt noch ausführbar. Und die Exe kann dann ihre Anhänge extrahieren.
Yo, ich habe mir das dann quasi so gedacht, dass ich die Bytefolgen von anderen Dateien
hinten an die EXE dranhänge und diese dann von einem bestimmten Teil im Loadmodule extrahieren
lasse. Natürlich muss ich dann auch die Einstegspunkte ändern, was mein Anti-Virus-Scanner
bisher nicht so toll fand! Leider meckert er da, aber das kann man ja nachvollziehen, da das leider
genau die selbe Methode von Viren ist. Ich frage mich, wie andere selbstextrahierende Packer das
machen, ohne vom Anti-Virus-Scanner eins auf die Finger zu kriegen
How much wood would a wood-chuck chuck if a wood-chuck would chuck wood?
Check this out.
DANNYBOY
  Mit Zitat antworten Zitat
LarsMiddendorf

Registriert seit: 4. Sep 2003
Ort: Hemer
104 Beiträge
 
Turbo Delphi für Win32
 
#22

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 17. Mär 2004, 10:09
Es reicht eigentlich wenn du die Daten direkt ans Ende anhängst. Danach schreibst du noch die Länge der Daten dahinter, damit du sie korrekt ausleste kannst. Der letzte Integer Wert in der Datei beschreibt dann die Länge der Daten. Dann kann man den Stream genau den Startpunkt berechnen.

So in etwa müßte das funktionieren (ungetestet):

Code:
var
 l:integer;
 Data:array of byte;
 st:TFileStream;
begin
st:=TFilestream.Create('',fmsharedenywrite);
st.Seek(-4,sofromend);
st.ReadBuffer(l,4);
st.Seek(-4-l,sofromend);
SetLength(Data,l);
st.ReadBuffer(Data[0],l);
st.Free;
end;
Irgendwo im Forum wurde auch mal beschrieben wie man eine Exe Datei aus dem Speicher laden kann. Die Exe Packer verändern aber tatsächlich den Einsprungspunkt aber die meisten Packer sind den Antivirenprogrammen bekannt.
  Mit Zitat antworten Zitat
Dannyboy

Registriert seit: 4. Aug 2003
Ort: Delphi-Heaven
418 Beiträge
 
Delphi 7 Personal
 
#23

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 17. Mär 2004, 11:06
Yo, ich mache das auch ähnlich wie in Deinem Example (halt nur in Assembler).
Zitat von LarsMiddendorf:
Irgendwo im Forum wurde auch mal beschrieben wie man eine Exe Datei aus dem Speicher laden kann. Die Exe Packer verändern aber tatsächlich den Einsprungspunkt aber die meisten Packer sind den Antivirenprogrammen bekannt.
Na super! Ich kann mein Programm wohl schlecht bei allen
Antivirus-Firmen registrieren lassen, sobald es fertig ist! Jetzt darf ich mir
noch irgendwelche Methoden einfallen lassen, damit die Anti-Virus-Software meinen Extrahierer
nicht bemängelt. Das finde ich zum !
How much wood would a wood-chuck chuck if a wood-chuck would chuck wood?
Check this out.
DANNYBOY
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 17. Mär 2004, 12:40
Zitat von Dannyboy:
Yo, ich habe mir das dann quasi so gedacht, dass ich die Bytefolgen von anderen Dateien
hinten an die EXE dranhänge und diese dann von einem bestimmten Teil im Loadmodule extrahieren
lasse.
Nicht vom Lademodul, von der Exe selber.
Zitat:
Natürlich muss ich dann auch die Einstegspunkte ändern, was mein Anti-Virus-Scanner
bisher nicht so toll fand!
Paperlapp. Sieh oben.

Kuck dir auf meiner HP die SFXTools an. Genauso mache ich es mit denen. Ich habe eine Stub an der ich die Dateien mit einer anderen Exe dranhänge. Die Stub enthält den Code um die eigenen Anhänge wieder auf Platte zu schreiben. Da die Stub vorherkopiert wird änderst sich auch nicht die Größe der original Stub. Si wird ja praktisch neu erstellt mit den angehängten Dateien. Weshalb auch kein Virenscanner mekert.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Dannyboy

Registriert seit: 4. Aug 2003
Ort: Delphi-Heaven
418 Beiträge
 
Delphi 7 Personal
 
#25

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 17. Mär 2004, 13:08
Ja Luckie, Du hast wohl Recht. Ich wollte den Code eigentlich vollkommen allein schreiben,
aber das hatte ich mir wohl leichter vorgestellt, als es ist. Ich wollte mir die ganzen
Informationen aneignen, die ich benötige, dabei aber dennoch auf jeglichen Sourcecode
verzichten. Anscheinend geht das wohl doch nicht und ich bin doch auf bereits existenten
Code angewiesen. Sowas ärgert mich!
How much wood would a wood-chuck chuck if a wood-chuck would chuck wood?
Check this out.
DANNYBOY
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 17. Mär 2004, 19:21
Wieso existierender Code? Niemand hält dich davon ab die Routinen zum Anhängen und Extrahieren selber zu schreiben. Hinweis: Kuck dir mal TFileStream an.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Dannyboy

Registriert seit: 4. Aug 2003
Ort: Delphi-Heaven
418 Beiträge
 
Delphi 7 Personal
 
#27

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 18. Mär 2004, 10:22
Zitat von Luckie:
Wieso existierender Code? Niemand hält dich davon ab die Routinen zum Anhängen und Extrahieren selber zu schreiben. Hinweis: Kuck dir mal TFileStream an.
Yo, ich werd's mir zumindest mal anschauen um mir die ein oder andere Idee zu holen.
Filestream kenne ich, aber ich schreibe das Programm komplett in Assembler.
How much wood would a wood-chuck chuck if a wood-chuck would chuck wood?
Check this out.
DANNYBOY
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 18. Mär 2004, 11:35
Darf man fragen warum?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Dannyboy

Registriert seit: 4. Aug 2003
Ort: Delphi-Heaven
418 Beiträge
 
Delphi 7 Personal
 
#29

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 18. Mär 2004, 12:01
Zitat von Luckie:
Darf man fragen warum?
Na klar doch. Ich würde ja gern so was erzählen wie : "Bla bla, Performance hin,
Performance her, bla bla, Assembler ist schneller" und das übliche Zeug einfach.
Aber das hat in Wirklichkeit gar nichts mit Performance zu tun.

Ich hatte während des Abiturs mal Assembler und in den 2 Jahren danach habe
ich einen Großteil dessen wieder vergessen (oder verdrängt ). Ich wollte
mir Assembler wieder aneignen und fing dann mit einfacheren Aufgaben an,
wie Stringschupsereien und Stack Rumgepusche und "Gepoppe".
Yo, nachdem ich mir dann das Wissen dieser Themen wieder angeeignet hatte,
fing ich mit Dateiverarbeitung in Assembler an. Auf meinem Weg dort hin,
habe ich hier im Forum die korrespondierenden Fragen zu ASSEMBLER gestellt.
Das sieht man hier:Hier im Forum suchenDannyboy AND Assembler.
Yo, und da bin ich nun.
How much wood would a wood-chuck chuck if a wood-chuck would chuck wood?
Check this out.
DANNYBOY
  Mit Zitat antworten Zitat
Fukiszo
(Gast)

n/a Beiträge
 
#30

AW: Was sind Relocation Pointer Table und Overlaynumber (EXE)?

  Alt 17. Jan 2018, 00:28
man kanns auch total billig aber dafür kompatibel zu jedem AV programm so machen:
erstelle ein kleines konsolen programm (stub) das code für folgendes enthält
- schreiben von resourcen in speicher
- code zum ausführen des speichers
- code der das obrige beim starten ausführt

füge deine PE datei als resource der stub datei zu.
PE datei kann im vorfeld mit was auch immer bearbeitet sein,
wie meistens gibt es auch hier ausnahmen (selfcheck, programme die ihre config in exe speichern usw...)
aber der großteil der programme greift ja glücklicherweise nicht direkt auf sich selbst zu. (spring zu offset X und lad Y bytes etc...)

Im groben arbeitet so mein AV-Helper, was lediglich ein stub ist mit paar schmankerl (RC4 verschlüsselung, RtlCompressBuffer als packer)
kann logischerweise per memory-dump teilweise "zurückverwandelt" werden aber nicht per PE extraktion einfach aus exe-datei gespeichert werden.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 16:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz