Registriert seit: 17. Jul 2007
Ort: Ulm
258 Beiträge
Delphi 7 Enterprise
|
WriteProcessMemory/dealloc fragen
30. Dez 2007, 21:54
Hey leute,
also ich arbeite seit vorgestern an einem trainer.
Hier erstmal der code worum es sich handelt damit ihr es besser versteht
Delphi-Quellcode:
if GMZoritaVAC.Checked = true
then
begin
// Allocating for CSEAX X
lulz := VirtualAllocEx(HandleWindow, nil, 128, MEM_RESERVE or MEM_COMMIT, PAGE_READWRITE);
// Writing on allocated memory CSEAX X
buf := integer(lulz);
ShowMessage(IntToStr(buf));
WriteProcessMemory(HandleWindow, lulz, @ZoritaAllc1, 5, Write);
WriteProcessMemory(HandleWindow, ptr(integer(lulz)+5), @ZoritaAllc2, 1, Write);
WriteProcessMemory(HandleWindow, ptr(integer(lulz)+6), @ZoritaAllc3, 6, Write);
WriteProcessMemory(HandleWindow, ptr(integer(lulz)+12), @ZoritaAllc4, 1, Write);
WriteProcessMemory(HandleWindow, ptr(integer(lulz)+13), @ZoritaAllc5, 6, Write);
WriteProcessMemory(HandleWindow, ptr(integer(lulz)+19), @ZoritaAllc6, 2, Write);
WriteProcessMemory(HandleWindow, ptr(integer(lulz)+21), @ZoritaAllc7, 3, Write);
WriteProcessMemory(HandleWindow, ptr(integer(lulz)+24), @ZoritaAllc8, 1, Write);
// Writing the call
WriteProcessMemory(HandleWindow, ptr($006DF140), [free], 2, Write);
CloseHandle(HandleWindow);
end
else
begin
VirtualFreeEx(HandleWindow, lulz, 0, MEM_RELEASE);
CloseHandle(HandleWindow);
end;
Jetzt hab ich folgende probleme:
1. Das allocaten mit VirtualAllocEx allocated zu viel, ich will nur 128 bytes aber der macht mir 4kb oder so
2. Das deallocate (VirtualFreeEx) funktionier nicht. Aber ich kann keinen fehler sehen
3. Am ende bei "Writing the call" da muss ich auf die addresse $006DF140 schreiben "call "+Die eben allocated memory. Doch wie?
danke im vorraus..
|