Voik Func In
Post date: Jan 26, 2012 9:45:13 PM
This unit has been coded to facilitate simple use of the otherwise advanced "Func In" technique.
Functions can be written normally. This version also supports:
+ Static strings
+ Functions calls
+ Parameters
Client Example:
program Client;
//Voik
uses
Windows,
VoikClientFuncIn;
function IsDebuggerPresent(): Boolean; stdcall; external kernel32 name 'IsDebuggerPresent';
procedure AntiDebugger1(Parameters: Pointer); stdcall;
begin
if IsDebuggerPresent() then
ExitProcess(0);
end;
procedure AntiDebugger2(Parameters: Pointer); stdcall;
begin
OutputDebugString('%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s');
end;
procedure ShowMessage(Parameters: Pointer); stdcall;
begin
MessageBox(0, pChar(Parameters), 'Voik', MB_OK);
end;
const
MSG = 'No debbuger!';
var
FuncIn: TVoikFuncIn;
begin
FuncIn := TVoikFuncIn.Create('Stub.exe');
FuncIn.AddFunction(AntiDebugger1);
FuncIn.AddFunction(AntiDebugger2);
FuncIn.AddFunction(ShowMessage, pChar(MSG), Length(MSG) + 1);
FuncIn.SaveFunctions();
end.
Respective Server Example:
program Stub;
//Voik
uses
VoikServerFuncIn;
begin
VoikFuncIn();
end.
Only delphi source code is included in the archive.