lpk大型游戏安装器大型高二是什么车

1179人阅读
c++(229)
由于中只包含DLL名而没有它的路径名,因此加载程序必须在磁盘上搜索。首先会尝试从当前程序所在的目录加载DLL,如果没找到,则在中查找,最后是在中列出的各个目录下查找。利用这个特点,先伪造一个系统同名的DLL,提供同样的,每个输出函数转向真正的系统DLL。程序调用系统DLL时会先调用当前目录下伪造的DLL,完成相关功能后,再跳到系统DLL同名函数里执行。这个过程用个形象的词来描述就是系统DLL被劫持(hijack)了。
利用这种方法取得控制权后,可以对主程序进行补丁。此种方法只对除kernel32.dll、ntdll.dll等核心系统库以外的DLL有效,如网络应用程序的、游戏程序中的,还有大部分应用程序都调用的lpk.dll、,这些DLL都可被劫持。
伪造的dll制作好后,放到程序当前目录下,这样当原程序调用时就调用了伪造的dll的同名函数,进入劫持DLL的代码,处理完毕后,再调用原DLL此函数。
这种补丁技术,对保护的软件很有效,选择挂接的函数最好是中没有被调用的,当挂接函数被执行时,相关的代码已被解压,可以直接补丁了。在有些情况下,必须用计数器统计挂接的函数的调用次数来接近OEP。此方法巧妙地绕过了壳的复杂检测,很适合加壳程序的补丁制作。
一些木马或病毒也会利用DLL劫持技术搞破坏,因此当在应用程序目录下发现系统一些存在时,如lpk.dll,应引起注意。
在本次中,我们将要利用这个技术来实现对游戏窗口进行注入,有很多方法都可以实现,比如劫持lpk.dll ,或者是d3d8thk.dll等都可以实现。
下面首先以lpk.dll为例来进行说明
// 导出函数
#pragma comment(linker, &/EXPORT:LpkInitialize=_AheadLib_LpkInitialize,@1&)
#pragma comment(linker, &/EXPORT:LpkTabbedTextOut=_AheadLib_LpkTabbedTextOut,@2&)
#pragma comment(linker, &/EXPORT:LpkDllInitialize=_AheadLib_LpkDllInitialize,@3&)
#pragma comment(linker, &/EXPORT:LpkDrawTextEx=_AheadLib_LpkDrawTextEx,@4&)
//#pragma comment(linker, &/EXPORT:LpkEditControl=_AheadLib_LpkEditControl,@5&)
#pragma comment(linker, &/EXPORT:LpkExtTextOut=_AheadLib_LpkExtTextOut,@6&)
#pragma comment(linker, &/EXPORT:LpkGetCharacterPlacement=_AheadLib_LpkGetCharacterPlacement,@7&)
#pragma comment(linker, &/EXPORT:LpkGetTextExtentExPoint=_AheadLib_LpkGetTextExtentExPoint,@8&)
#pragma comment(linker, &/EXPORT:LpkPSMTextOut=_AheadLib_LpkPSMTextOut,@9&)
#pragma comment(linker, &/EXPORT:LpkUseGDIWidthCache=_AheadLib_LpkUseGDIWidthCache,@10&)
#pragma comment(linker, &/EXPORT:ftsWordBreak=_AheadLib_ftsWordBreak,@11&)
首先是对lpk动态链接库中的函数进行导出
#define EXTERNC extern &C&
#define NAKED __declspec(naked)
#define EXPORT __declspec(dllexport)
#define ALCPP EXPORT NAKED
#define ALSTD EXTERNC EXPORT NAKED void __stdcall
#define ALCFAST EXTERNC EXPORT NAKED void __fastcall
#define ALCDECL EXTERNC NAKED void __cdecl
宏定义,用来指明函数的调用方式等东西
//LpkEditControl导出的是数组,不是单一的函数(by Backer)
EXTERNC void __cdecl AheadLib_LpkEditControl(void);
EXTERNC __declspec(dllexport) void(*LpkEditControl[14])() = { AheadLib_LpkEditControl };
由于 LpkEditControl中存的是数组数组,所以需要拷贝过来,而不是直接导出
// AheadLib 命名空间
namespace AheadLib
HMODULE m_hModule = NULL; // 原始模块句柄
// 加载原始模块
inline BOOL WINAPI Load()
TCHAR tzPath[MAX_PATH];
TCHAR tzTemp[MAX_PATH * 2];
GetSystemDirectory(tzPath, MAX_PATH);
//MessageBox(NULL, tzPath, &path&, MB_OK);
//GetCurrentDirectory(MAX_PATH, tzPath);
lstrcat(tzPath, TEXT(&\\lpk.dll&));
m_hModule = LoadLibrary(tzPath);
if (m_hModule == NULL)
wsprintf(tzTemp, TEXT(&无法加载 %s,程序无法正常运行。&), tzPath);
MessageBox(NULL, tzTemp, TEXT(&AheadLib&), MB_ICONSTOP);
//MessageBox(NULL, &原始模块加载成功&, TEXT(&AheadLib&), MB_ICONSTOP);
return (m_hModule != NULL);
// 释放原始模块
inline VOID WINAPI Free()
if (m_hModule)
FreeLibrary(m_hModule);
// 获取原始函数地址
FARPROC WINAPI GetAddress(PCSTR pszProcName)
FARPROC fpA
CHAR szProcName[16];
TCHAR tzTemp[MAX_PATH];
fpAddress = GetProcAddress(m_hModule, pszProcName);
if (fpAddress == NULL)
if (HIWORD(pszProcName) == 0)
wsprintf(szProcName, &%d&, pszProcName);
pszProcName = szProcN
wsprintf(tzTemp, TEXT(&无法找到函数 %hs,程序无法正常运行。&), pszProcName);
MessageBox(NULL, tzTemp, TEXT(&AheadLib&), MB_ICONSTOP);
ExitProcess(-2);
return fpA
下面就是我们要实现dll注入的地方,一般的dll注入都是在这存入关键代码
////////////////////////////////////////////////////////////////////////////////////////////////
//函数声明
void WINAPIV Init(LPVOID pParam);
////////////////////////////////////////////////////////////////////////////////////////////////
void WINAPIV Init(LPVOID pParam)
//在这里添加DLL加载代码
// LoadLibrary(TEXT(&.\\MFC_DLL.dll&));
MessageBox(NULL, &lpkdll劫持成功&, &lpkk劫持&, MB_OK);
下面是入口函数:
// 入口函数
BOOL WINAPI DllMain(HMODULE hModule, DWORD dwReason, PVOID pvReserved)
if (dwReason == DLL_PROCESS_ATTACH)
DisableThreadLibraryCalls(hModule);
if (Load())
//LpkEditControl这个数组有14个成员,必须将其复制过来
memcpy((LPVOID)(LpkEditControl + 1), (LPVOID)((int*)GetAddress(&LpkEditControl&) + 1), 52);
_beginthread(Init, NULL, NULL);
// MessageBox(NULL, &初始化失败&, &123 ERROR&, MB_ICONSTOP);
return FALSE;
else if (dwReason == DLL_PROCESS_DETACH)
return TRUE;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
然后是函数导出:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_LpkInitialize(void)
GetAddress(&LpkInitialize&);
__asm JMP EAX;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_LpkTabbedTextOut(void)
GetAddress(&LpkTabbedTextOut&);
__asm JMP EAX;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_LpkDllInitialize(void)
GetAddress(&LpkDllInitialize&);
__asm JMP EAX;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_LpkDrawTextEx(void)
GetAddress(&LpkDrawTextEx&);
__asm JMP EAX;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_LpkEditControl(void)
GetAddress(&LpkEditControl&);
__asm jmp DWORD ptr[EAX];//这里的LpkEditControl是数组,eax存的是函数指针
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_LpkExtTextOut(void)
GetAddress(&LpkExtTextOut&);
__asm JMP EAX;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_LpkGetCharacterPlacement(void)
GetAddress(&LpkGetCharacterPlacement&);
__asm JMP EAX;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_LpkGetTextExtentExPoint(void)
GetAddress(&LpkGetTextExtentExPoint&);
__asm JMP EAX;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_LpkPSMTextOut(void)
GetAddress(&LpkPSMTextOut&);
__asm JMP EAX;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_LpkUseGDIWidthCache(void)
GetAddress(&LpkUseGDIWidthCache&);
__asm JMP EAX;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_ftsWordBreak(void)
GetAddress(&ftsWordBreak&);
__asm JMP EAX;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
函数导出的目的就是让当前dll跳转到系统下的lpk.dll目录下执行相应的函数。这样就实现了先执行自己的伪造的lpk.dll(在其中完成代码的注入等一系列功能),然后在跳转到正常的lpk.dll函数中,就完成了lpk.dll的劫持
最后就是兼容win7,就需要在注册表中添加一个多字节剂的命令&ExcludeFromKnownDlls ,其中的值为 lpk.dll 就可以实现lpk.dll的劫持了
具体源码如下:
// lpk.cpp : Defines the entry point for the DLL application.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include &stdafx.h&
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include &process.h&
#include&Windows.h&
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
#pragma comment(linker, &/EXPORT:LpkInitialize=_AheadLib_LpkInitialize,@1&)
#pragma comment(linker, &/EXPORT:LpkTabbedTextOut=_AheadLib_LpkTabbedTextOut,@2&)
#pragma comment(linker, &/EXPORT:LpkDllInitialize=_AheadLib_LpkDllInitialize,@3&)
#pragma comment(linker, &/EXPORT:LpkDrawTextEx=_AheadLib_LpkDrawTextEx,@4&)
//#pragma comment(linker, &/EXPORT:LpkEditControl=_AheadLib_LpkEditControl,@5&)
#pragma comment(linker, &/EXPORT:LpkExtTextOut=_AheadLib_LpkExtTextOut,@6&)
#pragma comment(linker, &/EXPORT:LpkGetCharacterPlacement=_AheadLib_LpkGetCharacterPlacement,@7&)
#pragma comment(linker, &/EXPORT:LpkGetTextExtentExPoint=_AheadLib_LpkGetTextExtentExPoint,@8&)
#pragma comment(linker, &/EXPORT:LpkPSMTextOut=_AheadLib_LpkPSMTextOut,@9&)
#pragma comment(linker, &/EXPORT:LpkUseGDIWidthCache=_AheadLib_LpkUseGDIWidthCache,@10&)
#pragma comment(linker, &/EXPORT:ftsWordBreak=_AheadLib_ftsWordBreak,@11&)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#define EXTERNC extern &C&
#define NAKED __declspec(naked)
#define EXPORT __declspec(dllexport)
#define ALCPP EXPORT NAKED
#define ALSTD EXTERNC EXPORT NAKED void __stdcall
#define ALCFAST EXTERNC EXPORT NAKED void __fastcall
#define ALCDECL EXTERNC NAKED void __cdecl
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//LpkEditControl导出的是数组,不是单一的函数(by Backer)
EXTERNC void __cdecl AheadLib_LpkEditControl(void);
EXTERNC __declspec(dllexport) void(*LpkEditControl[14])() = { AheadLib_LpkEditControl };
////////////////////////////////////////////////////////////////////////////////////////////////
//添加全局变量
////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// AheadLib 命名空间
namespace AheadLib
HMODULE m_hModule = NULL; // 原始模块句柄
// 加载原始模块
inline BOOL WINAPI Load()
TCHAR tzPath[MAX_PATH];
TCHAR tzTemp[MAX_PATH * 2];
GetSystemDirectory(tzPath, MAX_PATH);
//MessageBox(NULL, tzPath, &path&, MB_OK);
//GetCurrentDirectory(MAX_PATH, tzPath);
lstrcat(tzPath, TEXT(&\\lpk.dll&));
m_hModule = LoadLibrary(tzPath);
if (m_hModule == NULL)
wsprintf(tzTemp, TEXT(&无法加载 %s,程序无法正常运行。&), tzPath);
MessageBox(NULL, tzTemp, TEXT(&AheadLib&), MB_ICONSTOP);
//MessageBox(NULL, &原始模块加载成功&, TEXT(&AheadLib&), MB_ICONSTOP);
return (m_hModule != NULL);
// 释放原始模块
inline VOID WINAPI Free()
if (m_hModule)
FreeLibrary(m_hModule);
// 获取原始函数地址
FARPROC WINAPI GetAddress(PCSTR pszProcName)
FARPROC fpA
CHAR szProcName[16];
TCHAR tzTemp[MAX_PATH];
fpAddress = GetProcAddress(m_hModule, pszProcName);
if (fpAddress == NULL)
if (HIWORD(pszProcName) == 0)
wsprintf(szProcName, &%d&, pszProcName);
pszProcName = szProcN
wsprintf(tzTemp, TEXT(&无法找到函数 %hs,程序无法正常运行。&), pszProcName);
MessageBox(NULL, tzTemp, TEXT(&AheadLib&), MB_ICONSTOP);
ExitProcess(-2);
return fpA
using namespace AheadL
////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////
//函数声明
void WINAPIV Init(LPVOID pParam);
////////////////////////////////////////////////////////////////////////////////////////////////
void WINAPIV Init(LPVOID pParam)
//在这里添加DLL加载代码
// LoadLibrary(TEXT(&.\\MFC_DLL.dll&));
MessageBox(NULL, &lpkdll劫持成功&, &lpkk劫持&, MB_OK);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 入口函数
BOOL WINAPI DllMain(HMODULE hModule, DWORD dwReason, PVOID pvReserved)
if (dwReason == DLL_PROCESS_ATTACH)
DisableThreadLibraryCalls(hModule);
if (Load())
//LpkEditControl这个数组有14个成员,必须将其复制过来
memcpy((LPVOID)(LpkEditControl + 1), (LPVOID)((int*)GetAddress(&LpkEditControl&) + 1), 52);
_beginthread(Init, NULL, NULL);
// MessageBox(NULL, &初始化失败&, &123 ERROR&, MB_ICONSTOP);
return FALSE;
else if (dwReason == DLL_PROCESS_DETACH)
return TRUE;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_LpkInitialize(void)
GetAddress(&LpkInitialize&);
__asm JMP EAX;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_LpkTabbedTextOut(void)
GetAddress(&LpkTabbedTextOut&);
__asm JMP EAX;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_LpkDllInitialize(void)
GetAddress(&LpkDllInitialize&);
__asm JMP EAX;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_LpkDrawTextEx(void)
GetAddress(&LpkDrawTextEx&);
__asm JMP EAX;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_LpkEditControl(void)
GetAddress(&LpkEditControl&);
__asm jmp DWORD ptr[EAX];//这里的LpkEditControl是数组,eax存的是函数指针
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_LpkExtTextOut(void)
GetAddress(&LpkExtTextOut&);
__asm JMP EAX;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_LpkGetCharacterPlacement(void)
GetAddress(&LpkGetCharacterPlacement&);
__asm JMP EAX;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_LpkGetTextExtentExPoint(void)
GetAddress(&LpkGetTextExtentExPoint&);
__asm JMP EAX;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_LpkPSMTextOut(void)
GetAddress(&LpkPSMTextOut&);
__asm JMP EAX;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_LpkUseGDIWidthCache(void)
GetAddress(&LpkUseGDIWidthCache&);
__asm JMP EAX;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 导出函数
ALCDECL AheadLib_ftsWordBreak(void)
GetAddress(&ftsWordBreak&);
__asm JMP EAX;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:89267次
积分:3247
积分:3247
排名:第8407名
原创:243篇
转载:14篇
(1)(1)(1)(1)(1)(5)(8)(7)(3)(32)(25)(1)(27)(13)(20)(27)(1)(18)(9)(10)(14)(3)(1)(12)(4)(1)(14)当前位置: >
> 乐逗游戏盒子 v2.0.9 官方安装版 安卓版
乐逗游戏盒子 v2.0.9 官方安装版 安卓版
乐逗游戏下载
游戏大小:3.04MB
游戏语言:简体中文
游戏类型:
游戏授权:免费软件
更新时间:
游戏类别:安卓游戏
游戏官网:
应用平台:
网友评分:
内容介绍热点排行下载地址相关内容
天天酷跑龙杰破解版这是天天酷跑最新的一款破解版本,最近封号太严重了,许多玩家都在寻找最新的破解版本,今天小编为大家推荐的这款算是比较稳定的,封号率比较低,但是也节奏大师全P版这是腾讯热门音乐游戏节奏大师的破解版本。本版本大大降低了游戏的难度,有了它神马高分都是分分钟的是啦天天飞车航哥破解版是腾讯热门游戏天天飞车的破解版本,这款天天飞车破解版本是航哥破解的,目前没有异常,没封号风险,注意的是游戏版本更新的比较快海岛奇兵国服内购破解版 Boom Beach 是一款深受玩家们喜爱的战斗策略类手机游戏。游戏画面精美细腻,人设呆萌可爱,各种系统交相辉映,形成了一个完整的战争世界。此次,游《天天酷跑林哥破解版》由林哥修改游戏,对游戏数据进行修改,去除了导弹,地刺,挡路的石墙和减少了怪物等等,刷分刷金币更加简单!想要高分的玩家试试吧《节奏大师》是一款老少皆宜的绿色音乐游戏。游戏方式在传统敲击音符玩法基础上加入滑动屏幕的操作方式、海量的中文音乐、丰富的歌曲类型、新颖的操作方式、世界排名挑战天天酷跑完美破解版是腾讯游戏天天酷跑的一款完美破解版本,这个破解版本很稳定,很适合没有好装备的新手玩,游戏破解之后难度降低很多基本上算是无难度《天天酷跑训哥破解版》由训哥修改游戏,对游戏数据进行修改,去除了导弹,地刺,挡路的石墙和减少了怪物等等,刷分刷金币更加简单!晴天4.13进击模式冲刺无怪版这是一款体验极近真实的美女恋爱养成游戏。可爱又不乏性感的真人美女芳芳,会在你强大的对话、送礼、约会攻势中逐渐变成你的女友、知己、恋人直至妻子
乐逗游戏盒子 v2.0.9 官方安装版 安卓版
CopyRight &
JB51.Net , All Rights Reserved查看: 2272|回复: 13
已中lpk.dll病毒再安装hips该如何处理?
已中lpk.dll病毒,每个目录下都被拷贝了lpk.dll和usp10.dll,再安装hips该如何处理?
系统环境:WinXP,普通用户
安装哪个Hips和规则库?
头像被屏蔽
lpk.dll和usp10.dll
先把这两个发到救援区给老毒物看下。
下个sreng,弄个日志也给救援区给老毒物看下。防止还有其他你不知道的病毒。
先弄这些把。
回复hujiwa:不是这个意思。我是想用Hips的规则来禁止lpk.dll这样的模块劫持方式。限制应用程序调用系统目录下的lpk.dll而不是别的路径下的。这个漏洞微软已经堵了,我搞这个是为了通用。
单身熟男 该用户已被删除
一般情况下只允许从 c:\windows\system32下加载这两个dll,其他的全部阻止。
不过也有一些其他程序会用自己的lpk.dll和usp10.dll,例如中所说C:\Program Files\Common Files\Microsoft Shared\OFFICE11\usp10.dll
C:\Program Files\Microsoft Web Designer Tools\Office12\usp10.dll
C:\WINDOWS\ServicePackFiles\i386\lpk.dll
C:\WINDOWS\ServicePackFiles\i386\usp10.dll
这些都是正常的
ps:巨盾的pk.dll-usp10.dll专杀工具已经解决了此贴中所说问题
谢谢楼上的解答!
头像被屏蔽
用哪个hips上那个hips区问吧。
随便乱来了一张,试试。未必一定适合你。
2.png (10.11 KB, 下载次数: 0)
13:00 上传
头像被屏蔽
4楼说是说说system32下的是正常的,那么我刚好图弄反了
单身熟男 发表于
一般情况下只允许从 c:\windows\system32下加载这两个dll,其他的全部阻止。
不过也有一些其他程序会用自己 ...
补充一个位置&&估计被很多人笑&&呵呵
C:\WINDOWS\system32\dllcache 的目录
&&下午 23:37& && && &&&406,016 usp10.dll
& && && && && &1 个文件& && &&&406,016 字节
想用Hips的规则来禁止lpk.dll这样的模块劫持方式。限制应用程序调用系统目录下的lpk.dll而不是别的路径下的。????
不是这逻辑顺序哟
此病毒情况分二种:
1、系统目录内同名的lpk.dll和usp10.dll文件没被病毒感染的话,那么直接免疫一下这两文件即可。
2、如果系统目录内的lpk.dll和usp10.dll文件已被病毒感染的话,必须免疫的同时,得替换回正确的原系统文件。
至于利用hips软件,也仅是放行系统目录内库文件加载,阻止非系统目录内这两库文件加载而已。
简单的EQ3.41就可以做到,自己设置即可。不过不需要考虑这个,免疫得了。
单身熟男 该用户已被删除
dllcache下的文件不会直接加载,只是用来替换被替换的源文件,所以保证这个文件夹内的东西不被修改或者添加就行了
Copyright & KaFan & All Rights Reserved.
Powered by Discuz! X3.1( 苏ICP备号 ) GMT+8,

我要回帖

更多关于 lpk.dll是什么 的文章

 

随机推荐