|
分享源码
界面截图: |
- |
是否带模块: |
纯源码 |
备注说明: |
- |
变量名 | 类 型 | 静态 | 数组 | 备 注 | hModule | 整数型 | | | FuncAddress | 整数型 | | 2 | hHook | 整数型 | | 2 | HookFuncAddr | 整数型 | | 2 | OldProtect | 整数型 | | |
HookFuncAddr [1 ] = 到整数 (&_GetOpenFileNameA )HookFuncAddr [2 ] = 到整数 (&_GetSaveFileNameA )hModule = GetModuleHandle (“comdlg32.dll”)FuncAddress [1 ] = GetProcAddress (hModule, “GetOpenFileNameA”)FuncAddress [2 ] = GetProcAddress (hModule, “GetSaveFileNameA”)hHook [1 ] = VirtualAlloc (0, 14, 12288, 64 )hHook [2 ] = VirtualAlloc (0, 14, 12288, 64 )RtlMoveMemory_1 (hHook [1 ], 到字节集 (FuncAddress [1 ]), 4 )RtlMoveMemory_1 (hHook [2 ], 到字节集 (FuncAddress [2 ]), 4 )JmpCode [1 ] = hHook [1 ] + 4 JmpCode [2 ] = hHook [2 ] + 4 RtlMoveMemory (JmpCode [1 ], FuncAddress [1 ], 5 )RtlMoveMemory (JmpCode [2 ], FuncAddress [2 ], 5 )RtlMoveMemory_1 (JmpCode [1 ] + 5, { 233 } + 到字节集 (到整数 (FuncAddress [1 ] + 5 - JmpCode [1 ] - 10 )), 5 )RtlMoveMemory_1 (JmpCode [2 ] + 5, { 233 } + 到字节集 (到整数 (FuncAddress [2 ] + 5 - JmpCode [2 ] - 10 )), 5 )VirtualProtect (FuncAddress [1 ], 5, 64, OldProtect )RtlMoveMemory_1 (FuncAddress [1 ], { 233 } + 到字节集 (到整数 (HookFuncAddr [1 ] - FuncAddress [1 ] - 5 )), 5 )VirtualProtect (FuncAddress [1 ], 5, OldProtect, 0 )VirtualProtect (FuncAddress [2 ], 5, 64, OldProtect )RtlMoveMemory_1 (FuncAddress [2 ], { 233 } + 到字节集 (到整数 (HookFuncAddr [2 ] - FuncAddress [2 ] - 5 )), 5 )VirtualProtect (FuncAddress [2 ], 5, OldProtect, 0 )|
_GetOpenFileNameA | 整数型 | | |
lpofn | 整数型 | | | | 处理OFN (lpofn )返回 (Jmp (JmpCode [1 ], lpofn )) |
_GetSaveFileNameA | 整数型 | | |
lpofn | 整数型 | | | | 处理OFN (lpofn )返回 (Jmp (JmpCode [2 ], lpofn )) 写到内存 (位异或 (指针到整数 (lpofn + 52 ), 32 ), lpofn + 52, 4 )置入代码 ({ 201, 88, 135, 4, 36, 255, 224 })返回 (0 )置入代码 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })返回 (0 )|
GetModuleHandle | 整数型 | | |
kernel32.dll | |
GetModuleHandleA | |
|
(未填写子程序名) | | | | |
|
|
lpModuleName | 文本型 | | | |
|
GetProcAddress | 整数型 | | |
kernel32.dll | |
GetProcAddress | |
|
(未填写子程序名) | | | | |
|
|
hModule | 整数型 | | | | lpProcName | 文本型 | | | |
|
VirtualAlloc | 整数型 | | |
kernel32.dll | |
VirtualAlloc | |
|
(未填写子程序名) | | | | |
|
|
lpAddress | 整数型 | | | | dwSize | 整数型 | | | | flAllocationType | 整数型 | | | | flProtect | 整数型 | | | |
|
RtlMoveMemory_1 | | | |
kernel32.dll | |
RtlMoveMemory | |
|
(未填写子程序名) | | | | |
|
|
Destination | 整数型 | | | | Source | 字节集 | | | | Length | 整数型 | | | |
|
RtlMoveMemory | | | |
kernel32.dll | |
RtlMoveMemory | |
|
(未填写子程序名) | | | | |
|
|
Destination | 整数型 | | | | Source | 整数型 | | | | Length | 整数型 | | | |
|
VirtualProtect | 逻辑型 | | |
kernel32.dll | |
VirtualProtect | |
|
(未填写子程序名) | | | | |
|
|
lpAddress | 整数型 | | | | dwSize | 整数型 | | | | flNewProtect | 整数型 | | | | lpflOldProtect | 整数型 | | | |
|
|