[Gelöst] DLL und MD5 Hash

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
hörmi
Beiträge: 106
Registriert: 10.07.2007 15:20
Kontaktdaten:

Re: DLL und Hash

Beitrag von hörmi »

wenn du die dll mit einer in pb geschriebenen exe öffnest hab ich den fehler
*ganz stolz auf mich bin*

versuch mal diesen code hier in beiden datein dann wirst du den unterschied erkennen

Code: Alles auswählen

Procedure.s CreateDirHash()
Shared Files()
Protected hash.s
  ListFiles("C:\Users\Admin\Desktop\asdfasdf\asfsadf\", 1)
  ForEach Files()
    hash.s = hash + Files()\md5
  Next
   hash = hash+ProgramFilename()
  *Buffer =AllocateMemory(StringByteLength(hash)+100)
  PokeS(*Buffer,hash)
  md5.s = MD5Fingerprint(*Buffer,MemorySize(*Buffer))
  FreeMemory(*Buffer)
  ProcedureReturn hash
EndProcedure
BildBild Bild
netzcoder
Beiträge: 275
Registriert: 27.08.2009 14:14
Computerausstattung: Intel Quad Core 2.5 GHz; 8GB DDR2 RAM; NVIDIA GeForce GT 130 mit 1500 MB; 2TB HDD;
Kontaktdaten:

Re: DLL und Hash

Beitrag von netzcoder »

hörmi hat geschrieben:wenn du die dll mit einer in pb geschriebenen exe öffnest hab ich den fehler
*ganz stolz auf mich bin*

versuch mal diesen code hier in beiden datein dann wirst du den unterschied erkennen

Code: Alles auswählen

Procedure.s CreateDirHash()
Shared Files()
Protected hash.s
  ListFiles("C:\Users\Admin\Desktop\asdfasdf\asfsadf\", 1)
  ForEach Files()
    hash.s = hash + Files()\md5
  Next
   hash = hash+ProgramFilename()
  *Buffer =AllocateMemory(StringByteLength(hash)+100)
  PokeS(*Buffer,hash)
  md5.s = MD5Fingerprint(*Buffer,MemorySize(*Buffer))
  FreeMemory(*Buffer)
  ProcedureReturn hash
EndProcedure
Hey! Damit hat das ganze an Sinn verloren. Denn somit check ich ja nur den Pfad der DLL. Und der ist bei jedem User anders.
PB 4.40 Final Full Version
Benutzeravatar
hörmi
Beiträge: 106
Registriert: 10.07.2007 15:20
Kontaktdaten:

Re: DLL und Hash

Beitrag von hörmi »

netzcoder hat geschrieben: Hey! Damit hat das ganze an Sinn verloren. Denn somit check ich ja nur den Pfad der DLL. Und der ist bei jedem User anders.
Manchmal muss man den code einfach nur zum fehlersuchen ein bisschen umschreiben und wenn man den fehler gefunden hat kann man das wieder rückgängig machen

Ich geh mal davon aus du hast es nicht getestet...?

Code: Alles auswählen

   hash = hash+MD5FileFingerprint(ProgramFilename())
wenn du ProgramFilename() von der dll startest kommt der name der dll und wenn du es per exe machst hast du den namen der exe aber kiffi hat das ja schon mal erwähnt
BildBild Bild
netzcoder
Beiträge: 275
Registriert: 27.08.2009 14:14
Computerausstattung: Intel Quad Core 2.5 GHz; 8GB DDR2 RAM; NVIDIA GeForce GT 130 mit 1500 MB; 2TB HDD;
Kontaktdaten:

Re: DLL und Hash

Beitrag von netzcoder »

Naja dann ist aber die Hilfe falsch. Dort steht das wenn man diese Funktion in einer DLL verwendet gibt sie den Pfad der DLL aus und nicht den der EXE!
PB 4.40 Final Full Version
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Re: DLL und Hash

Beitrag von Mok »

hörmi hat geschrieben:wenn du ProgramFilename() von der dll startest kommt der name der dll
netzcoder hat geschrieben:Naja dann ist aber die Hilfe falsch. Dort steht das wenn man diese Funktion in einer DLL verwendet gibt sie den Pfad der DLL aus
Was zum Geier...?
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Benutzeravatar
hörmi
Beiträge: 106
Registriert: 10.07.2007 15:20
Kontaktdaten:

Re: DLL und Hash

Beitrag von hörmi »

aufjedenfall kommt bei einer dll was anderes raus als wenn man es direkt über die exe ausführt
BildBild Bild
netzcoder
Beiträge: 275
Registriert: 27.08.2009 14:14
Computerausstattung: Intel Quad Core 2.5 GHz; 8GB DDR2 RAM; NVIDIA GeForce GT 130 mit 1500 MB; 2TB HDD;
Kontaktdaten:

Re: DLL und Hash

Beitrag von netzcoder »

Ich hab den Fehler gefunden. Ich habe die LinkedList nicht geleert und somit musste der Hash ja anders sein.
Vielen Dank für eure Bemühungen.
Euer netzcoder
PB 4.40 Final Full Version
Antworten