📄 main.pas
字号:
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls;
const
Delimiter = '|'; { Separate every part of the information string }
type
TVirtualMemoryWalkerCallback = procedure (Buffer: PChar; BufferSize: DWORD); stdcall;
TVirtualMemoryWalk = function (VirtualMemoryWalker: TVirtualMemoryWalkerCallback; Detailed: Boolean): BOOL; stdcall;
TMainForm = class(TForm)
ListView: TListView;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
FDllHandle: THandle;
public
{ Public declarations }
end;
var
MainForm: TMainForm;
procedure VirtualMemoryWalker(Buffer: PChar; BufferSize: DWORD); stdcall;
implementation
uses JuUtils, JuInject;
{$R *.dfm}
procedure VirtualMemoryWalker(Buffer: PChar; BufferSize: DWORD); stdcall;
var
S: string;
Tokens: TTokens;
Item: TListItem;
I: Integer;
begin
S := Buffer;
GetTokens(S, [Delimiter], Tokens);
Item := MainForm.ListView.Items.Add();
Item.Caption := Tokens[0];
for I := 1 to High(Tokens) do Item.SubItems.Add(Tokens[I]);
end;
procedure TMainForm.FormCreate(Sender: TObject);
begin
// InjectDll(GetCurrentProcessId(), 'VMQuery.dll', VirtualMemoryWalker);
InjectDll(916{'Notrepad.exe'}, 'VMQuery.dll', VirtualMemoryWalker);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -