![]() |
AW: XE2 Bios Daten auslesen
Ja habs eben auch probiert aber nix rausbekommen.
Stimmt die Adresse denn überhaupt? Hab jetzt im Internet beim groben Googlen nichts gefunden. |
AW: XE2 Bios Daten auslesen
Schon mal den Rückgabewert von ReadProcessMemory überprüft?
|
AW: XE2 Bios Daten auslesen
*Pff* wozu, wir lieben das Risiko :lol:
Nee, im Ernst, das geht schon in die Hose. Zitat:
|
AW: XE2 Bios Daten auslesen
Ja, hab ich auch grad rausbekommen :mrgreen:
Aber was sagt uns das? Hat er mal so bisschen gelesen, dann aber keine Lust mehr gehabt oder was? -.- Finde die Fehlermeldung komisch... |
AW: XE2 Bios Daten auslesen
Zitat:
Zitat:
|
AW: XE2 Bios Daten auslesen
Da hätte ich aber eher eine Meldung "Zugriff verweigert" o.ä. erwartet. Finde die Meldung etwas.. komisch.
Zitat:
|
AW: XE2 Bios Daten auslesen
![]() |
AW: XE2 Bios Daten auslesen
Jupp, der erste Speicherbereich ($00000000..$0000FFFF) ist nicht verfügbar.
Und wenn es das wäre, dann könnte man wohl auch direkt auf seinen eigenen Speicher zugreifen.
Delphi-Quellcode:
procedure TForm6.FormCreate(Sender: TObject);
type TBIOSString8 = array[0..7] of AnsiChar; PBIOSString8 = ^TBIOSString8; begin Caption := PBIOSString8($FE061)^; end; |
AW: XE2 Bios Daten auslesen
OK der Ansatz zum Auslesen der BIOS Daten spielt nur bis Win 2K ....
muss diese Funktion wohl entsorgen :-( |
AW: XE2 Bios Daten auslesen
ReadProcessMemory und WriteProcessMemory funktoniert beim Delphi sieben einwandfrei. Aber beim xe2 immer diese trottole fehler bekomme ich. Ich kann kein mehr lösung finden
[DCC Fehler] Unit1.pas(59): E2033 Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen bitte hilfe :S
Code:
uses
Windows, Messages; {$R Loader.RES} var si : Startupinfo; pi : Process_Information; NewData : array[0..1] of byte = ($90,$90); NewDataSize : DWORD; Bytesread : DWORD; Olddata : array[0..1] of byte; begin NewDataSize := sizeof(newdata); IF CreateProcess(nil,'Example.exe',nil,nil,FALSE, Create_Suspended,nil,nil,si,pi) = true then begin ReadProcessMemory(pi.hprocess,Pointer($403CEA),@olddata,2,bytesread); if (olddata[0] = $75) and (olddata[1] = $19) then begin WriteProcessMemory(pi.hProcess, Pointer($403CEA), @NewData, NewDataSize, bytesread); ResumeThread(pi.hThread); end else begin Messagebox(0,pchar('Bytes not found! Wrong version?...'),pchar('Error'),mb_iconinformation); TerminateProcess(PI.hProcess,0); end; CloseHandle(PI.hProcess); CloseHandle(PI.hThread); end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz