📄 global.pas
字号:
unit Global;
interface
uses
Windows, StdCtrls;
const
ResTypeCount = 24;
THREAD_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED or SYNCHRONIZE or $3FF);
type
pIMAGE_RESOURCE_DIRECTORY = ^IMAGE_RESOURCE_DIRECTORY;
IMAGE_RESOURCE_DIRECTORY = packed record
Characteristics:DWORD;
TimeDateStamp:DWORD;
MajorVersion:WORD;
MinorVersion:WORD;
NumberOfNamedEntries:WORD;
NumberOfIdEntries:WORD;
end;
pIMAGE_RESOURCE_DIRECTORY_ENTRY = ^IMAGE_RESOURCE_DIRECTORY_ENTRY;
IMAGE_RESOURCE_DIRECTORY_ENTRY = packed record
OffsetToName:DWORD;
OffsetToData:DWORD;
end;
MY_IMAGE_RESOURCE_DIRECTORY_ENTRY = packed record
ID:DWORD;
Name:array [0..255] of byte;
ChildCount:DWORD;
end;
pIMAGE_RESOURCE_DATA_ENTRY = ^IMAGE_RESOURCE_DATA_ENTRY;
IMAGE_RESOURCE_DATA_ENTRY = packed record
OffsetToData:DWORD;
Size1:DWORD;
CodePage:DWORD;
Reserved:DWORD;
end;
TWorkProc = packed record
ProcId:DWORD;
hProc:DWORD;
ImageBase:DWORD;
ImageSize:DWORD;
ResBase:DWORD;
ResDirect:IMAGE_RESOURCE_DIRECTORY;
end;
TModuleInfo = packed record
ImageBase:DWORD;
ImageSize:DWORD;
end;
TDrx = packed record
Dr0:DWORD;
Dr1:DWORD;
Dr2:DWORD;
Dr3:DWORD;
Dr6:DWORD;
Dr7:DWORD;
end;
TmyContext = packed record
ThreadID:DWORD;
Drx:TDrx;
end;
var
ProcIdList:array [0..255] of dword;
ProcIdListCount:dword;
hModule:array [0..255] of dword;
hModuleInfo:array [0..255] of TModuleInfo;
hModuleCount:dword;
ThreadIDList:array [0..255] of dword;
ThreadDrxList:array [0..255] of TDrx;
ThreadIDCount:integer;
ProcName:array [0..255] of char;
ResType:array [0..ResTypeCount-1] of string [20]=('Cursor','Bitmap','Icon','Menu','Dialog','String Table',
'Font Directory','Font','Accelerator','Resource Data','Message Table',
'Group Cursor','13','Group Icon','15','Version InforMation',
'DialogInclude','18','PlugPlay','Vxd','AnimatedCursor','AnimatedIcon',
'HTML','Manifest');
WorkProc:TWorkProc;
TmpBuf:array [0..255] of byte;
MainResDir:array of MY_IMAGE_RESOURCE_DIRECTORY_ENTRY;
MainResDirCount:integer;
ChildResDir:array of MY_IMAGE_RESOURCE_DIRECTORY_ENTRY;
ResDateEntry:array of IMAGE_RESOURCE_DATA_ENTRY;
ResDateEntryCount:integer;
ResDateSize:dword;
ResDirectorySize:dword;
ResNameSize:dword;
ResDateBuf:array of byte;
ResDirectoryBuf:array of byte;
ResNameBuf:array of byte;
CB_Bx:array [0..3] of TCheckBox;
RB_LG:array [0..7] of TCheckBox;
RB_Len:array [0..11] of TRadioButton;
RB_RWE:array [0..15] of TRadioButton;
ctext:CONTEXT;
TmpContext:TmyContext;
dr7set:array [0..55] of dword = (0,16,1,16,2,16,3,16,
0,18,1,18,3,18,
0,20,1,20,2,20,3,20,
0,22,1,22,3,22,
0,24,1,24,2,24,3,24,
0,26,1,26,3,26,
0,28,1,28,2,28,3,28,
0,30,1,30,3,30);
implementation
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -