delphi LDR断链 隐藏DLL
unit UHideModule;
interface
uses
windows;
type
UNICODE_STRING = packed record
Len:Cardinal;
Max:Cardinal;
Buffer:PWideChar
end;
PLIST_ENTRY = ^LIST_ENTRY;
LIST_ENTRY = Packed record
FLink:PLIST_ENTRY;
BLink:PLIST_ENTRY;
end;
PPEB_LDR_DATA =^PEB_LDR_DATA;
PEB_LDR_DATA = packed record
Len:Cardinal;
Initialized:Bool;
SsHandle:PPointer;
InLoadOrderModuleList:LIST_ENTRY;
InMemoryOrderModuleList:LIST_ENTRY;
InInitializationOrderModuleList:LIST_ENTRY;
end;
PLDR_MODULE = ^LDR_MODULE;
LDR_MODULE = packed Record
InLoadOrderModuleList:LIST_ENTRY;
InMemoryOrderModuleList:LIST_ENTRY;
InInitializationOrderModuleList:LIST_ENTRY;
BaseAddress:Cardinal;
EntryPoint:Cardinal;
SizeOfImage:Cardinal;
FullDllName:UNICODE_STRING;
BaseDllName:UNICODE_STRING;
Flags:Cardinal;
LoadCount:Word;
TlsIndex:Word;
SectionHandle:Cardinal;
CheckSum:Cardinal;
TimeDateStamp:Cardinal;
End;
Procedure HideModule(hModule:Cardinal);
implementation
Procedure HideModule(hModule:Cardinal);
var
Head,Cur:PLIST_ENTRY;
ldr:PPEB_LDR_DATA;
ldm:PLDR_MODULE;
Lp:PChar;
begin
asm
mov eax , fs:[$30]
mov ecx , [eax + $0c] //Ldr
mov ldr , ecx
end;
Head:= @ldr.InLoadOrderModuleList;
Cur := Head.Flink;
repeat
ldm := @Cur.FLink;
if ldm.BaseAddress =hModule then
begin
ldm.InLoadOrderModuleList.BLink.FLink:= ldm.InLoadOrderModuleList.FLink;
ldm.InLoadOrderModuleList.FLink.BLink :=ldm.InLoadOrderModuleList.BLink;
ldm.InInitializationOrderModuleList.BLink.FLink:=ldm.InInitializationOrderModuleList.FLink;
ldm.InInitializationOrderModuleList.FLink.BLink:=ldm.InInitializationOrderModuleList.BLink;
ldm.InMemoryOrderModuleList.BLink.FLink:=ldm.InMemoryOrderModuleList.FLink;
ldm.InMemoryOrderModuleList.FLink.BLink:=ldm.InMemoryOrderModuleList.BLink;
break;
end;
Cur:=Cur.FLink;
until (Head = Cur);
end;
end.
- 点赞
- 收藏
- 分享
- 文章举报
- delphi LDR断链 隐藏DLL
- (2009-06-17)今日收获-只读列隐藏-win2003 dll文件下载
- 将连接数据库的代码隐藏在DLL中
- LDR断链 隐藏DLL
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- 利用LdrLoadLibrary加载与隐藏DLL (绕过API HOOK LoadLibrary)
- 如何隐藏DLL中,导出函数的名称?
- 谈谈vc如何写dll(封装性,隐藏头文件,私有成员)(转)
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件
- [置顶] 恶意代码--dll动态链接库注入目标进程隐藏自身(亲测win7x86和x64有效)
- 如何隐藏DLL的导出函数
- 隐藏dll
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- 进程中dll模块的隐藏
- 将连接数据库的代码隐藏在DLL中
- vc DLL 隐藏成员和内部类
- 隐藏DLL
- 将dll作为资源隐藏在进程中