zoukankan      html  css  js  c++  java
  • [delphi]SetWindowsHookExA函数入口处修改

    library Project2;
    
    uses
      SysUtils,
      Classes,
      windows,
      Dialogs;
    {$R *.res}
    
    function GetModuleHandleA(a: string): Integer; stdcall; external 'kernel32.dll'
    {取程序或DLL句柄
    a:DLL名
    }
    
    function GetProcAddress(a: integer; b: string): Integer; stdcall; external 'kernel32.dll'
    {取DLL函数地址
     a:模块句柄
     b:函数名
    }
    
    function GetCurrentProcess: Integer; stdcall; external 'kernel32.dll'
    {取伪句柄
    }
    
    
    function Test11(aa: string): string;
    begin
    
      Result := aa;
    end;
    var
      b: array[1..3] of byte = ($C2, $10, $0);
    function Test2(): Integer;
    var
      a: Integer;
      c: Integer;
      WriteByte: DWORD;
    begin
      //GetModuleHandleA('user32.dll');
      a := GetModuleHandleA('user32.dll');
      c := GetProcAddress(a, 'SetWindowsHookExA');
      WriteProcessMemory(GetCurrentProcess(), Pointer(c), @b[1], 3, WriteByte);
      ShowMessage('hook成功');
      Result := 1;
    end;
    
    
    
    exports
      Test2;
    begin
      Test2();
    end.
  • 相关阅读:
    数论2&莫&杜
    虚树学习笔记
    LinkCutTree学习笔记
    FWT学习笔记
    容斥
    线段树合并
    线性基
    FFT_应用和例题
    斜率优化
    Redis中String的底层实现
  • 原文地址:https://www.cnblogs.com/Wzqa/p/3150652.html
Copyright © 2011-2022 走看看