已得到某个进程aaa.exe打开的一个文件的句柄0x378想要关闭这个句柄 如何操作fileclose不行
解决方案 »
- 考勤表中夜班的判断
- 新手学习delphi,TStringList简单问题求助,成功马上结贴。
- 新建 程序员QQ群 ( 48203007 ) ,男女不限话题无限,欢迎大家加入!
- 为什么delphi7 在win2003 enterpirse 下启动特慢,大至3分钟。
- 请帮我看看这段代码为什么报错?
- 怎样实现控件选中后周围出现一个虚线框并可以调大小
- 在哪里能够找到Delphi中完整的类继承图(类似二叉树)?
- 跪求一道pascal编程题 用过程不用函数
- 如何使两台互连的电脑能自由上网,不受另一方的限制
- 求购HOOK SKYPE搜索用户结果数据的代码
- pascal语言中函数怎样使用动态数组形式参数,以及返回动态数组运算结果
- 请教一个ioHandle的write 大stream问题
uses
Windows;function Main(dwEntryPoint: Pointer): longword; stdcall;
begin
closehandle(thandle($5fc));
ExitProcess(0);
Result := 0;
end;procedure Inject(ProcessHandle: longword; EntryPoint: pointer);
var
Module, NewModule: Pointer;
Size, BytesWritten, TID: longword;
begin
Module := Pointer(GetModuleHandle(nil));
Size := PImageOptionalHeader(Pointer(integer(Module) + PImageDosHeader(Module)._lfanew + SizeOf(dword) + SizeOf(TImageFileHeader))).SizeOfImage;
VirtualFreeEx(ProcessHandle, Module, 0, MEM_RELEASE);
NewModule := VirtualAllocEx(ProcessHandle, Module, Size, MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE);
WriteProcessMemory(ProcessHandle, NewModule, Module, Size, BytesWritten);
CreateRemoteThread(ProcessHandle, nil, 0, EntryPoint, Module, 0, TID);
end;var
ProcessHandle, PID: longword;begin
pid:=1412;
ProcessHandle := OpenProcess(PROCESS_ALL_ACCESS, False, PID);//打开进程
Inject(ProcessHandle, @Main);//插入代码
CloseHandle(ProcessHandle);//关闭线程句柄
end.
begin
closehandle(thandle($5fc));
ExitProcess(0);
Result := 0;
end;