⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 callself.pas

📁 破解“国际领先的Nprotect键盘加密技术”
💻 PAS
字号:
unit CallSelf;

interface

uses Windows;

type

   TInstallHook  = procedure();stdcall;
   TUnHook       = procedure();stdcall;
   TGetShareData = function ():Pointer;stdcall;

var
  DLLInstallHook  : TInstallHook = nil;
  DLLUnHook       : TUnHook = nil;
  DllGetShareData : TGetShareData = nil;

 procedure  InstallHookA;
 procedure  UnHookA;
 function   GetShareDataA : Pointer;

implementation

procedure LoadDllFunc;
var
 dllHandle : Thandle;
 ThisDLLName : array [0..MAX_PATH] of char;
begin
  GetModuleFileName(HInstance, @ThisDLLName[0], MAX_PATH);
  dllHandle := LoadLibrary(@ThisDLLName[0]);
  if dllHandle > 0 then begin
     DLLInstallHook  := GetProcAddress(dllHandle,'MsgHookOn');
     DLLUnHook       := GetProcAddress(dllHandle,'MsgHookOff');
     DllGetShareData := GetProcAddress(dllHandle,'GetShareData');
  end;
end;

procedure InstallHookA;
begin
   if @DllInstallHook = nil then begin
      LoadDllFunc;
   end;
   if @DllInstallHook <> nil then
     DllInstallHook;
end;

procedure  UnHookA;
begin
   if @DllUnHook = nil then begin
      LoadDllFunc;
   end;
   if @DllUnHook <> nil then
     DllUnHook;
end;

function GetShareDataA : Pointer;
begin
   Result := nil;
   if @DllGetShareData = nil then begin
     LoadDllFunc;
   end;
   if @DllGetShareData <> nil then
      Result := DllGetShareData;
end;

end. 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -