| 

.NET C# Java Javascript Exception

1
Wie kann ich die Größe eines Programmes zur Laufzeit abfragen, um beispielsweise Manipulationen an der Programmdatei zu erkennen und zu melden?
26.01.2011
heffer 11 2
1
Welche Größe meinst du hier? Die Größe der Programmdatei auf der Festplatte oder die größe des verwendeten Speicher (WorkingetSize) im RAM?
klaus_b 27.01.2011
Also ich meinte: Ich starte das Programm und das soll auf der Festplatte quasi seine eigene Datei überprüfen, dass die eben noch die Größe hat, die sie haben soll.
heffer 27.01.2011
3 Antworten
3
Die Größe gibt dir nur bedingt Auskunft darüber, ob eine Programmdatei geändert wurde. Hier ist es sicherer wenn du z.B. ein MD5-Wert der Exe bildest und diesen gegen einen sicher hinterlegten MD5-Wert vergleichst.

Sicher hinterlegt könnte z.B. ein Download von deinem eigenen Server sein oder ein Webservice, dem du die aktuell ermittelte MD5 übergibst und er vergleicht mit der bei ihm hinterlegten oder ...
27.01.2011
Andreas Richter 1,7k 1 2 8
2
Dazu benutzt du einfach folgenden Code:

FileInfo f = new FileInfo(@"C:\Daten\Programm.exe");
long size = f.Length;

Damit bekommst du die Größe der Datei in Bytes.
27.01.2011
Konstantin 3,7k 1 8
Oder besser: new FileInfo(Assembly.GetExecutingAssembly())
Floyd 27.01.2011
Er schrieb "eines Programmes", deswegen gehe ich davon aus, das er nicht sein Programm meint ;-)
Konstantin 27.01.2011
Ok geb mich geschlagen ^^
Floyd 27.01.2011
0
Wenngleich etwas complexer helfen dir vielleicht dennoch auch diese Beiträge weiter.
Denn eine reine größen Prüfung ist nicht wirklich sicher

Tamper Proofing your Code

Implementation Part 1

Implementation Part 2

Implementation Part 3
17.02.2011
Gentlehag 1,0k 3 8

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH