Autor Beitrag
pHaRyNx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 94

win 95, win 2000, win xp, VISTA, Ubuntu 8.04
Delphi 7 PE
BeitragVerfasst: Mi 04.01.06 13:09 
moin!
ich will mein programm packen (mit nem packer à la UPX). bei jedem programmstart soll getestet werden, ob das programm noch immer gepackt ist, deshalb will ich beim programmstart den entry point (EP) auslesen und prüfen, ob der EP dem Orginal Entry Point entspricht, oder sowas.
ReadProcessMemory hab ich als tipp schonmal bekommen, allerdings kann ich mit dem befehl nicht umgehen und es wäre nett, wenn mir jemand mal den befehl erklären kann, wie er funktioniert und welche weiteren angaben (parameter?) notwendig sind (welche wert[e] werden zurückgegeben...halt die ganze anwendung erklären).
Gibt es noch andere Befehle für Delphi in dieser richtung (links, tutorials, erklärungen erwünscht)?
mfg pHaRyNx
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mi 04.01.06 16:09 
Mit ReadProcessMemory kommst Du nicht weit. UPX entpackt die Anwendung im Speicher und stellt dabei im Speicher jegliche Header wieder her. Es handelt sich bei jeglichen Merkmalen, die UPX hinterlässt immer nur um Kleinigkeiten.

ReadProcessMemory wäre, wenn es sich um den eigenenn Process handelt 1. Overhead und 2. Unnötig. Lern die MZ\PE-Header lesen und vergleich dann mal die Details ;-)

Wenn man aber nicht mal mit der grundlegenden API zurechtkommt, sollte man sich mit solchen Dingen nicht beschäftigen. Aufwand zum Aushebeln: < 15 Minuten ...

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.