Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » laufendes Programm verändern

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
18.02.2005, 22:49 Uhr
~n-w
Gast


Wie kann man ein Programm schreiben, welches sich selbst (auf der Festplatte) verändern kann?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.02.2005, 23:00 Uhr
Bruder Leif
dances with systems
(Operator)


Sich selbst oder andere Programmdateien?
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.02.2005, 23:22 Uhr
0xdeadbeef
Gott
(Operator)


...ich halte das für keine gute Idee - es sei denn, du sprichst perfekt die Maschinensprache der Plattform, auf der der Kram laufen soll (nein, asm reicht da nicht) und kennst das Binärformat des Betriebssystems in- und auswändig. Plattformunabhängigkeit kannste damit natürlich knicken. Was willst du denn konkret machen?
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 18.02.2005 um 23:27 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.02.2005, 23:40 Uhr
~Gast
Gast


Das Prog soll den eigenen Code modifizieren und danach in die Originaldatei schreiben.
Oder kann man auf Umwegen die ausgeführte Programmdatei löschen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
18.02.2005, 23:42 Uhr
0xdeadbeef
Gott
(Operator)


Welches Betriebssystem?
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
19.02.2005, 08:58 Uhr
~Gast
Gast


Windows 32
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
19.02.2005, 09:33 Uhr
virtual
Sexiest Bit alive
(Operator)


Vergiß es:
So ganz direkt geht das nicht, weil Windows die Datei zum Schreibenj sperrt, während sie ausgeführt wird. Überdenke einfach Dein Design, IMHO gibt es keine guteartigen Gründe, Programme selfmodifying zu schreiben.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
19.02.2005, 10:18 Uhr
~Gast
Gast


Gibt es nicht eine Möglichkeit beim Linken? Das Codesegment kann man doch so auch im Arbeitsspeicher überschreiben.
Oder kann man wenigstens sein eigenes Programm wieder löschen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
19.02.2005, 11:20 Uhr
enno-tyrant
Frag nicht!


du kannst dein eigenes programm natürlich löschen, durch ein anderes programm ,hehe.

spaß beiseite, für mich hört sich das ganze an als würdest du versuchen einen polymorphen wurm/virus oder eben 'nur' einen virus zu schreiben (der sich danach wieder selbst von der platte entfernt).

dein 'code-segment' im arbeitsspeicher kannst du mit sicherheit überschreiben, mußt nur rausfinden wo es liegt und wie es dein betriebssystem dort verteilt hat. dann solltest du auch wissen was für zeichen dort im ram liegen, kannste nämlich mit deinem ascii-source-code nicht vergleichen.
--
...um etwas zu verstehen muß man wissen wie es funktioniert...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
19.02.2005, 11:46 Uhr
~Gast
Gast


Im Moment versuche ich erstmal eine Art Installationsprogramm zu schreiben, welches sich anschließend selbst löscht.
Danach kommt dann ein Laufzeitpacker.

Das Codesegment kann man übrigens nur überschreiben, wenn man es entsprechend gelinkt hat.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: