Je veux faire ce qui suit, mais je reçois des erreurs:Comment affecter plusieurs valeurs à un tableau ouvert ou de taille fixe?
procedure JumpToCodeCave(CurrentLocation:DWORD;Destination:Pointer;out_JmpBack:Pointer);
var calc:DWORD;
jmppatch:Array[0..3] of byte absolute calc;
Buffer:Array[0..9] of byte;
begin
calc := (Cardinal(Destination) - $5)-(CurrentLocation + $4);
Buffer := [$90,$90,$90,$90,$E9,jmppatch,$90]; //<< Error here <<
WriteProcessmemory(Handle,Pointer(CurrentLocation),Pointer(Buffer),10,nil);
out_JmpBack^ := Currentlocation + $A;
end;
tampon devrait ressembler à ceci:
0x90,0x90,0x90,0xE9,jmppatch[0],jmppatch[1],jmppatch[2],jmppatch[3],0x90
La fonction calcule la valeur qui doit être écrit pour passer d'une adresse (actuelle) à une autre adresse (CodeCave). Le résultat est converti en octets et écrit dans le processus, mais je ne peux pas mettre les octets dans le tampon comme je l'ai fait ci-dessus.
Je suis désolé pour la question stupide, mais j'ai oublié Delphi après avoir commencé mon éducation avec C#.