Programmieren - alles kontrollieren 4.942 Themen, 20.719 Beiträge

"Self-modifing source code in C"

(Anonym) / 4 Antworten / Baumansicht Nickles

Ich muss eine Funktion implementieren die erkennen soll wie oft das Programm eigentlich ausgeführt wurde. Ich möchte dies durch ein selbst modifizierendes Program realisieren. Ich hab mich leider noch nie mit diesem Thema in der C programmierung auseinander gesetzt und würde mich daher sehr über (web) referenzen freuen.
(Beispiel source codes sind auch erwünschenswert - soweit ich weiss gibt es mehrere Lösungen für dieses Problem)

bei Antwort benachrichtigen
(Anonym) Nachtrag zu: „"Self-modifing source code in C"“
Optionen

Setz doch mal nen Wert in die Reg, allerdings erst nach dem das Programm zum ersten mal gelaufen ist. Diese Möglichkeit ist am einfachsten, weil sonst kaum eine Möglichkeit besteht (auser durch versteckte Dateien) die anzahl der run´s zu ermitteln.
Das liegt daran, daß das Setup die Reg Werte mit protokolliert und beim uninstall wieder löscht (bei nem gutem Setup).
Das andere Problem ist, daß durch eine automatische Änderung die Controllsumme der exe / com verändert wird und der Viruswarner anschlagen könnte ;-).
In Assembler war ein solches Problem relativ leicht zu lösen? Aber vielleicht bindest Du ein kleines Asm Code in C ein?

Gruß

bei Antwort benachrichtigen
(Anonym) Nachtrag zu: „Setz doch mal nen Wert in die Reg, allerdings erst nach dem das Programm zum...“
Optionen

ok, das problem habe ich schon gelöst. ich habe mit hilfe von inline asm (int68 geht auch) mir ein TSR gebastelt. Nach einer time-trap (1s) öffnet das programm sich selber (*.exe) und modifiziert den offset, den ich durch ein seek.routine ermittle. ganz einfach ...

zu deiner antwort mit Reg:: zum ersten ist das purer windows scheiß und zum zweiten hat dies rein garnichts mit "self-modifying code" tu tun.

ps. virusscanner bleibt rühig! so sensible sind sie gottseidank nicht!
Trotzdem vielen dank für deine antwort, auch wenn du mir nicht all zu viel helfen konntest! (ich glaub' nickles ist absolut die falsche adresse für ernsthaftes coden!: leider gilt das auch für alle anderen boards!).

bei Antwort benachrichtigen
(Anonym) Nachtrag zu: „"Self-modifing source code in C"“
Optionen

Setz doch mal nen Wert in die Reg, allerdings erst nach dem das Programm zum ersten mal gelaufen ist. Diese Möglichkeit ist am einfachsten, weil sonst kaum eine Möglichkeit besteht (auser durch versteckte Dateien) die anzahl der run´s zu ermitteln.
Das liegt daran, daß das Setup die Reg Werte mit protokolliert und beim uninstall wieder löscht (bei nem gutem Setup).
Das andere Problem ist, daß durch eine automatische Änderung die Controllsumme der exe / com verändert wird und der Viruswarner anschlagen könnte ;-).
In Assembler war ein solches Problem relativ leicht zu lösen? Aber vielleicht bindest Du ein kleines Asm Code in C ein?

Gruß

bei Antwort benachrichtigen
(Anonym) Nachtrag zu: „"Self-modifing source code in C"“
Optionen

zumindest ist es die falsche Adresse für Idioten, die eine Frage posten, um die Antwort dann selbst hinterherzuposten (ach bin ich toll) und dabei leute, die dir versuchen zu helfen, zu brüskieren. Auf asm wärst du sicher auch alleine gekommen, na klar.

behalt dein ernsthaftes coden doch einfach für dich beim nächsten mal.

bei Antwort benachrichtigen