Good evening,
I have a unit, I am trying to code, I get errors around here
nHook.pas(18,20) Error: Incompatible types: got "Byte" expected "Char" , I am still trying to learn as I am learning via Forums.
My source code looks like this
unit nHook;
{$mode delphi}{$H+}
interface
uses
Windows , Classes, SysUtils;
function nHookCode(TargetProc, NewProc: pointer; var OldProc: pointer):Boolean;
implementation
function nHookCode(TargetProc, NewProc: pointer; var OldProc: pointer):Boolean;
var
oldProtect:DWORD;
i:integer;
nNops:integer;
begin
VirtualProtect(OldProc,5 + nNops,PAGE_EXECUTE_READWRITE,@oldProtect);
PChar(OldProc)^:=$E9;
PDWord(DWORD(OldProc)+1)^:=DWORD(NewProc)-DWORD(OldProc)-5;
for i:=0 to nNops -1 do begin PBYTE(DWORD(OldProc)+5+i)^:=$90 end;
VirtualProtect(OldProc,5+nNops,OldProtect,@OldProtect);
end;
end.
I honestly do not have an idea of this kind of error, what could be wrong. Doesn't pop out any Message box to show hooked.