AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Konfigurations - Parameter in Exe-Datei ablegen
Thema durchsuchen
Ansicht
Themen-Optionen

Konfigurations - Parameter in Exe-Datei ablegen

Ein Thema von meisteralex · begonnen am 23. Nov 2005 · letzter Beitrag vom 24. Nov 2005
Antwort Antwort
meisteralex

Registriert seit: 22. Nov 2005
173 Beiträge
 
#1

Konfigurations - Parameter in Exe-Datei ablegen

  Alt 23. Nov 2005, 22:06
Guten Abend zusammen, habe mal eine Frage an euch spezialisten:
Viele von euch kennen bestimmt noch das Tool BackOrifice 2000, welches ein Trojaner war und vor 5 Jahren die Runde gemacht hat. Ich muss gestehe, ich fand es damals auch interessant und nun kam mir gerade wieder einen Funktion in den Kopf, die ich von diesem Programm her kannte.

Man hatte damals einen Server, nennen wir die Datei serv.exe und einen Konfigurator conf.exe.
Wollte man den server konfigurieren, öffnete man den Konfigurator und teilte dem Servver Dinge (wie z.b. seinen Port) mit.
Das tolle an der Sache, was mich auch letzendlich interessiert ist, dass der Konfigurator die exe selbst bearbeitet hat. Er hat also nicht ein INI-File bearbeitet, welches Parameter wie port=4444 enthielt, sondern hat direkt die exe - bearbeitet, so, dass man nur die exe-datei brauchte und keinen weiteren Code.

Weiß jemand wie sowas zu realisieren ist?, möglichst in delphi (es geht mir dabei lediglich um das parameterschreiben in die exe, nicht um die weitere funktionserkläreung von backorifice)

Wäre sehr nett, wenn jemand ein Codebeispiel hätte.

Vielen Dank schonmal
  Mit Zitat antworten Zitat
Benutzerbild von ErazerZ
ErazerZ

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

Re: Konfigurations - Parameter in Exe-Datei ablegen

  Alt 23. Nov 2005, 22:14
möglichkeit 1)
Daten an Server anhängen, server leißt die vom Dateiende aus (zb. Record, also immer fixe größe) - das funkt leicht, du öffnest im server den server zum lesen und gehst am dateiende - sizeof(Record) - dannach einfach im record füllen ..

möglichkeit 2)
Daten in der Resource des Servers speichern, also einfach UpdateResource um die einstellungen zu updaten

möglichkeit 3)
Daten (strings) irgendwo speichern, als consts, und das dann updaten, also nach offsets suchen und den bearbeiten, jedoch muss da genug platz vorhanden sein, zb.
Delphi-Quellcode:
const
  sTest = '123456789012345678901234567890'; // 30 Strings
Edit:
Code beispiel zu möglichkeit 1)
"server":
Delphi-Quellcode:
type
  TSettings = record
    TestString1: String[20];
    TestString2: String[15];
    TestInteger1: Integer;
  end;

var
  Settings: TSettings;

procedure LoadSettings();
var
  hFile: THandle;
  BytesRead: Cardinal;
begin
  hFile:= FileOpen(ParamStr(0), fmOpenRead);
  try
    SetFilePointer(hFile, GetFileSize(hFile, nil) - sizeof(TSettings), nil, FILE_BEGIN);
    ReadFile(hFile, Settings, sizeof(Settings), BytesRead, nil);
  finally
    CloseHandle(hFile);
  end;
end;

begin
  LoadSettings();
  WriteLn('TestString1: ' + Settings.TestString1);
  WriteLn('TestString2: ' + Settings.TestString2),
  WriteLn('TestInteger1: ' + IntToStr(Settings.TestInteger1));
end.
Editor:
Delphi-Quellcode:
type
  TSettings = record
    TestString1: String[20];
    TestString2: String[15];
    TestInteger1: Integer;
  end;

var
  Settings: TSettings;

procedure WriteSettings();
var
  fsFile: TFileStream;
begin
  Settings.TestString1 := 'Teeeesttt';
  Settings.TestString2 := 'Tessssttt';
  Settings.TestInteger1 := 1234;
  fsFile := TFileStream.Create('application.exe', fmOpenWrite);
  try
    fsFile.Position := fsFile.Size;
    fsFile.WriteBuffer(Settings, sizeof(Settings));
  finally
    fsFile.Free;
  end;
end;

begin
  WriteSettings();
end.
  Mit Zitat antworten Zitat
raffo

Registriert seit: 15. Aug 2005
79 Beiträge
 
#3

Re: Konfigurations - Parameter in Exe-Datei ablegen

  Alt 23. Nov 2005, 22:22
Hier gibts auch noch nen Code Beispiel zu Möglichkeit 1)
http://www.dsdt.info/tipps/?id=645

Aber prinzipiell würde davon abraten diese Taktik zu verwenden, denk an die vielen Virenscanner und Firewall die die Änderung der Exe anzeigen und den User bestimmt verunsichern werden.
Ralf Ringshausen
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Konfigurations - Parameter in Exe-Datei ablegen

  Alt 23. Nov 2005, 22:24
Zitat:
// 30 Strings
30 chars!
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
Benutzerbild von ErazerZ
ErazerZ

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

Re: Konfigurations - Parameter in Exe-Datei ablegen

  Alt 23. Nov 2005, 22:25
Zitat von supermuckl:
Zitat:
// 30 Strings
30 chars!
  Mit Zitat antworten Zitat
meisteralex

Registriert seit: 22. Nov 2005
173 Beiträge
 
#6

Re: Konfigurations - Parameter in Exe-Datei ablegen

  Alt 24. Nov 2005, 13:38
wow ihr habts ja echt drauf
kann mir jemand die methode mit der resorcen- datei noch mal näher erklären ?
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#7

Re: Konfigurations - Parameter in Exe-Datei ablegen

  Alt 24. Nov 2005, 13:52
Zitat von raffo:
Hier gibts auch noch nen Code Beispiel zu Möglichkeit 1)
http://www.dsdt.info/tipps/?id=645
Ist ziemlich unpraktisch, da die Größe der Exe im Quellcode steht (beißt sich die Katze in den Schwanz).

Ein allgemeiner Weg wird hier beschrieben:
(funktioniert auch, wenn das Programm nachträglich komprimiert wird)
http://www.delphipraxis.net/internal...=387636#387636
  Mit Zitat antworten Zitat
Benutzerbild von ErazerZ
ErazerZ

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

Re: Konfigurations - Parameter in Exe-Datei ablegen

  Alt 24. Nov 2005, 15:01
Zitat von meisteralex:
wow ihr habts ja echt drauf
kann mir jemand die methode mit der resorcen- datei noch mal näher erklären ?
ja, hier ist ein beispiel von Aphex,
Link
Zitat:
No fixed offsets
No maxium length for settings
No overlay/EOF data
No special requirements for packing
  Mit Zitat antworten Zitat
Antwort Antwort


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:18 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