Hallo !
Ich habe mal wieder ein Problem mit der Portierung von C++ Code nach Delphi.... Denke ich zumind., da das Programm nicht die richtigen Ergebnisse zu liefern scheint.
Hier mal die C++ Deklarationen und Funktionen :
Delphi-Quellcode:
DWORD read = 0;
LPBYTE buffer = new BYTE[end-start];
DWORD_PTR ptr;
int *value;
int *cmp;
int k, add, tmp;
int pattern;
if (!buffer)
return;
pattern = 0xFE27C0;
if(ReadProcessMemory(procHandle, (void*)start, buffer, end - start, &read) == NULL)
return;
else
{
if (start+2*sizeof(value) >= end)
return;
for(add = 0; add < (int)(end - start - 2*sizeof(value)); ++add)
{
value = (int*)&buffer[add];
cmp = (int*)&buffer[add+4];
if (*value == pattern && *cmp == 0)
......
Und hier mal meine bisheriger Delphi Code:
Delphi-Quellcode:
var
read : DWORD;
buffer : Array of PByte;
ptr : Longint;
value, cmp : ^Integer;
k, add, tmp : Integer;
pattern : Integer;
begin
read := 0;
SetLength(buffer,(ends-start));
if (Length(buffer) = 0) then exit;
pattern := $FE27C0;
if not(ReadProcessMemory(m_ProgHandle, Pointer(start), buffer, ends - start, read)) then
exit
else begin
if (start + (2 *sizeof(value)) >= ends) then
exit;
for add := 0 to Integer(ends - start - (2*sizeof(value)))-1 do begin
value := @buffer[add];
cmp := @buffer[add+4];
if (value^ = pattern) and (cmp^ = 0) then begin
........
Eventuell habe ich ja mit den Pointern einen Fehler gemacht.. ?!
Bin für jede Hilfe dankbar!
CU
GOOFY