梦幻西游dsound.dll 是不是侵入木马 进程重启explorer.exe进程中...

从目前手中的资料表明,直接将DLL注入explorer.exe是不可能的了,因为explorer.exe在保护区域,这个区域不允许写,除非做驱动类的程序。
我菜菜&当然不会了。
所以只能用&钩子法&让explorer.exe自动上钩。
&@setkeyhook是一个DLL里面的函数。
&HookHandle=&SetWindowsHookEx(WH_GETMESSAGE,&@setkeyhook,&HInstance,0);
&我现在只能做到这里了,&我想知道怎么才能让explorer.exe自动上钩。
就是说后面的&我就不会做了
那位大哥知道怎么做
回复讨论(解决方案)
建议参考&windows&核心编程
好象有说到
进程三级跳需要1个exe文件,2个dll文件,假定文件名分别为:&
main.exe,install.dll,trojan.dll&
目的就是用main.exe通过install.dll把trojan.dll注入目标进程(如explorer.exe)中。&
首先main.exe利用SetWindowsHookEx将install.dll挂钩到explorer.exe进程中,同样,install.dll将trojan.dll挂钩到explorer.exe进程中。&
trojan.dll通过自定义消息通知main.exe挂钩成功,于是main.exe中止自己。&
因为install.dll隶属于main.exe进程,所以install.dll也在内存中卸载。&
但是trojan.dll是由install.dll注入explorer.exe进程的,install.dll不是独立的进程,所以trojan.dll的父进程理所应当的变成了explorer.exe,最后乖乖的待在explorer.exe进程中开一个线程发挥木马作用了。&
这个属于老方法了,有许多缺点,比如会造成explorer.exe进程不稳定,经常非法操作。至少需要有一个exe文件启动,需要三个文件才能保证木马的完整性等都不太适合做安全稳定的小木马。&
而用我上面说的通过注册为系统组件,让windows系统自动调用dll木马,不但安全稳定,甚至不需要考虑内存空间缓存之类的较复杂问题,更不需要exe文件的参与,只需1个dll就可以做出完整木马,而且即使一个普通的打开文件夹的操作都可以重新激活木马。&
从目前手中的资料表明,直接将DLL注入explorer.exe是不可能的了,因为explorer.exe在保护区域,这个区域不允许写,除非做驱动类的程序。
什么资料,想见识一下。应该自己试验一下,别人说的未必就准。
Windows上,BHO就可以被explorer.exe自动load起来
建议参考&windows&核心编程&
好象有说到
我看了&编译出来的EXE&文件根本做不到
不知道是&人害人的中国人&弄坏的
还是老外功能就不是什么好玩意
explorer.exe没有什么特别的,如果连这个都注入不了,还能注入什么。你自己写个DLL试一下,可以在DllMain中显示个MessageBox以表明被加载。用下面的代码注入:
void&Test()
TCHAR&dllPath[MAX_PATH]&=&_T(&你的dll名称及完整路径&);
HMODULE&lib&=&LoadLibrary(_T(&kernel32.dll&));
FARPROC&proc&=&GetProcAddress(lib,&&LoadLibraryA&);
FreeLibrary(lib);
HANDLE&process&=&OpenProcess(PROCESS_CREATE_THREAD|PROCESS_VM_OPERATION|PROCESS_VM_WRITE,&FALSE,&1672);
LPVOID¶m&=&VirtualAllocEx(process,&NULL,&sizeof(dllPath),&MEM_COMMIT,&PAGE_EXECUTE_READWRITE);
BOOL&b&=&WriteProcessMemory(process,¶m,&dllPath,&sizeof(dllPath),&NULL);
HANDLE&thread&=&CreateRemoteThread(process,&NULL,&0,&(LPTHREAD_START_ROUTINE)proc,¶m,&0,&NULL);
WaitForSingleObject(thread,&INFINITE);
VirtualFreeEx(process,¶m,&0,&MEM_RELEASE);
CloseHandle(thread);
CloseHandle(process);
用进程管理器查出explorer的进程ID,替换OpenProcess的最后参数。因为只是测试程序,直接用进程ID简单一点。
转载的,没有经原作者同意,请原作者原谅。我按作者说的去做,没有任何问题.&
我们知道将动态连接库注入到其他进程中有很多种方法。最常见的方法是使用钩子函数(Hook),但是这种方法主要有两个缺点:第一如果某个进程没有加载User32.dll,那么Hook&DLL将永远也不会被加载。第二Hook&DLL加载的时机问题,只有在进程发出User32调用的时候,&Hook&DLL才有可能被加载。也就是说假设进程正在进行复杂的数值计算而没有时间进行消息调用的时候,Hook&DLL是不会被加载。理论上我们没有精确的办法来确定我们的Hook&DLL是否已经注入到我们想要的进程中。另外一种最常见的方法是使用函数CreateRemoteThread,在其他进程中开启一个线程来装载DLL。应该说这是一种比较完美的解决放案,这种方法避免了上述使用钩子函数的所有缺点,但是遗憾的是这个函数只能使用在WinNT/2000下。&
&&本文将讨论一种将动态连接库注入到其他进程中的一种新方法。它的思路与使用函数CreateRemoteThread的方法相类似,只不过可以使用在Win9x,Win2k,WinXP等操作系统下。在这里我们将向读者演示我们是如何将DLL(InjectDll.dll)注入到Explorer.exe进程中!&
程序的思路如下&
1:得到Explorer.exe进程中任意一个线程的ID.&
2:根据这个线程的ID,得到这个线程的句柄Handle&
3:挂起这个线程,并保存线程当前的“上下文”&
4:改变这个线程的EIP指针,使它指向我们装载DLL的函数(InjectCodeFun),然后恢复这个线程。&
5:我们的装载DLL的函数运行完成后,再次挂起这个线程,使用我们以前保存的“上下文”,恢复这个线程到它被改变前的状态,并继续运行。&
经过上述几个步骤,Explorer.exe进程中就会替我们装载我们的DLL(InjectDll.dll)了,有趣的是Explorer.exe对此丝毫没有察觉任何异常&!&
下面我们将详细解释一下如何编程实现上述过程。&
步骤1的实现是很容易的,我们只需要调用ToolHelp的函数就可以得到我们所要得,这里我们就不详细说明了,请参考源代码中GetProcessID,&GetThreadID&两个函数。&
步骤2就比较麻烦了,在Win9x中没有提供一个函数可以由Thread&ID得到Thread&Handle(幸运的是Win2K提供这种功能)。好在我们在国外一些BBS上可以找到这个函数,它使用了一些未公开的结构,本文的目的不是讨论这个问题,读者如果有兴趣的话,可以参考我们的源代码OpenThread2函数。这个函数的作用就是传入一个Thread&ID参数返回相应的&Thread&Handle。&
步骤3&的实现也是很容易和规范的,我们可以用SuspendThread,GetThreadContext等SDK函数轻松完成。&
步骤4&这个步骤是最重要的步骤了。为了说明方便,我们将引用我们源代码中的语句,请读者参考源代码中InjectCodeIntoThread&函数。&
首先改变线程的EIP指针,我们可以用下列代码完成&
ThreadContext.Eip&=&(DWORD)m_lpCodeB&
SetThreadContext(m_hInjectThread,&ThreadContext);&
变量m_lpCodeBase指向我们的装载DLL的函数(InjectCodeFun)的首地址。&
这里最关键的部分是我们如何产生我们的装载DLL的函数(InjectCodeFun)。注意我们不能简单地在我们的程序里写一个函数,然后将它的首地址赋值给EIP。这是因为装载DLL的函数是要运行在Explorer.exe地址空间中的,如果我们使用自己地址空间中的函数的话,那么必然会导致系统崩溃。解决的办法是将我们写的装载DLL函数(InjectCodeFun)放在所有程序共享的地址空间中去,在Win9x中0x&~&0xFFFFFFFF这段地址就是我们想要的共享地址空间,那么如何将我们写的装载DLL函数放在这段地址空间呢&?方法有很多,我们使用一种规范的方法“内存映像文件”来解决这个问题。我们通过函数CreateFileMapping来分配一段共享地址空间,然后将我们写的装载DLL函数拷贝到这段地址空间中去。具体代码请参源代码中InitInject函数。&
在我们写的装载DLL函数(InjectCodeFun)中还有两个问题我们需要解释一下,第一&在这个函数中我们不能使用任何我们自己程序中定义的变量,道理跟上面讲的一样,因为地址空间不同。还有我们不能直接调用函数,例如在InjectCodeFun中直接使用LoadLibray。这是因为如果直接使用LoadLibray那么就需要经过程序的Import表,跳转一下才能到达真正的Windows的LoadLibray函数。但是不同的进程有不同的Import,所以我们不能直接调用函数。我们可以使用一种叫做“动态构造函数”的技术来创建我们的函数。首先用GetProcAddress得到函数LoadLibray的直接地址,然后在调用LoadLibray的地方,使用一个特殊的数字来代替它如&0x,最后在将我们的函数拷贝到共享地址空间之后,搜索共享内存找到这个特殊数字,用我们先前得到的正确地址替换它既可。第二个有趣的现象是我们所写的装载DLL函数(InjectCodeFun)是不应该返回的。这是因为这个函数是在Explorer的线程中运行的,我们不知道堆栈的正确内容,不知道ESP所指向的地址是什么,如果函数返回的话,我们将失去对程序的控制。我们的办法是,当调用完LoadLibray之后,向我们的主程序发送一个自定义消息,通告我们的程序已经完成装载任务,然后让线程进入死循环状态。&
步骤5当我们的程序接受到了自定义消息后,就会再次挂起这个线程,把我们以前保存的线程的“上下文”用函数SetThreadContext恢复,然后恢复运行这个线程。结果是Explorer.exe丝毫没有感觉到自己被中断过。&
以上就是我们所介绍的方法,读者可以参考我们的源代码来具体了解上述方法。源代码的功能是将我们的DLL(InjectDll.dll)注入到Explorer.exe&中,在InjectDll.dll中我们创建了一个新的线程,然后在屏幕的左上角显示当前的时间。源代码分为Win9x版本和Win2k版本,这两个版本的主要差别是分配共享内存的方法不同而已。源代码已经在PWn98,PwinMe,Win2k,WinXP等操作系统下,使用VC6编译通过。
cnzdgs的方法是可行的,我已经作个一个注入工作用的一样的原理。
可以注入explorer.exe
cnzdgs大哥这段代码也只能注入到一般进程&不能注入到explorer
&&&&TCHAR&dllPath[MAX_PATH]&=&_T(&C:\\WINDOWS\\system32\\YC.dll&);
&&&&HMODULE&lib&=&LoadLibrary(_T(&kernel32.dll&));
&&&&FARPROC&proc&=&GetProcAddress(lib,&&LoadLibraryA&);
&&&&FreeLibrary(lib);
&&&&HANDLE&process&=&OpenProcess(PROCESS_CREATE_THREAD|PROCESS_VM_OPERATION|PROCESS_VM_WRITE,&FALSE,&5044);
&&&//explorer的PID是&是kugoo的PID,我用兵刃查看,kugoo的能被注入进去,而explorer不能被注入
&&&&LPVOID¶m&=&VirtualAllocEx(process,&NULL,&sizeof(dllPath),&MEM_COMMIT,&PAGE_EXECUTE_READWRITE);
&&&&BOOL&b&=&WriteProcessMemory(process,¶m,&dllPath,&sizeof(dllPath),&NULL);
&&&&HANDLE&thread&=&CreateRemoteThread(process,&NULL,&0,&(LPTHREAD_START_ROUTINE)proc,¶m,&0,&NULL);
&&&&WaitForSingleObject(thread,&INFINITE);
&&&&VirtualFreeEx(process,¶m,&0,&MEM_RELEASE);
&&&&CloseHandle(thread);
&&&&CloseHandle(process);
exploer能注入进去的,不能注入进去的进程是那些没有消息循环,也不调用win32&api的进程
你是在什么操作系统下运行的?用户身份是什么?应该是用户权限不够。
另外,也有可能explorer进程被安全类软件保护起来了。
看看WriteProcessMemory是否成功
你是在什么操作系统下运行的?用户身份是什么?应该是用户权限不够。
XP&SP2&&瑞星最新版
administrator
找到问题了&
是该死的&瑞星
cnzdgs的代码是现成的,
但是在运行它的代码前你还要提升自己进程的权限。
提升进程权限的代码网上有,直接copy《LPK劫持者》
&.exe&可执行程序曾遭&威金&病毒的洗劫,导致全盘应用程序被病毒恶意捆绑感染,中了此毒很是麻烦、无奈,而且拥有数百个变种,相信大家对这类蠕虫病毒并不陌生。然而,一直被&.exe&可执行程序加载的&.dll&动态链接库程序也难逃厄运。
近日,我在互联网上捕捉到了一个既全盘感染&.exe&可执行程序又全盘劫持&.dll&动态链接库程序的木马病毒,这就是&LPK劫持者&木马。首次发现时间是2010年12月初,不过直到2011年2月份左右这个木马才正式活跃了起来。
该木马全盘劫持&.dll&动态链接库程序是不是和全盘感染&.exe&可执行程序的方式是否一样呢?请看下文。
《&LPK劫持者&全盘破坏&.exe&可执行程序和恶意劫持动态链接库程序&lpk.dll&》
病毒名称:&LPK劫持者&木马; 病毒别称(江民科技):&通犯&变种rnn; 病毒类型:木马; 病毒长度:133,120 字节; 病毒 MD5:7e6aafb9ecbd 危害等级:★★★★☆ 感染系统:Windows 系统; 病毒样本:
附上&LPK劫持者&的木马样本,请在下载后24小时内删除。木马样本仅供学习参考使用,不得破坏他人计算机等非法用途,如有后果请自负,本人不承担任何法律责任! 附件:
&LPK劫持者&木马入侵受害者计算机后,首先会给自己创建主体程序和随机启动的服务项。木马主体程序是一个随机命名的程序&fwpfsp.exe&,它被创建到&C:\WINDOWS\system32&系统目录下,木马程序的图标竟然伪装《360安全卫士》的主程序图标,真不要脸啊。
然后在&C:\WINDOWS\system32&系统目录下再创建两个木马动态链接库程序&hra32.dll&和&hra33.dll&,然后将它们插入到木马主体进程&fwpfsp.exe&去运行。
给木马主体程序&fwpfsp.exe&创建一个随机命名的服务项来随机自动启动,本次测试创建的木马服务项的名称是&Nationalkdu&。
之后&LPK劫持者&木马将自身&fwpfsp.exe&复制到用户临时文件&C:\Documents and Settings\Administrator(受害者的用户名)\Local Settings\Temp&目录下并重命名为&hrl*.tmp&,再调入到内存中去运行。&hrl*.tmp&运行后,会弹出标题名为&AntiVirus&的窗体,内存中有几个&hrl*.tmp&运行就会弹出几个来。&AntiVirus&英文翻译过来是&杀毒软件&的意思,由于该木马本来模仿的就是《360安全卫士》的主程序图标。所以懂英语的受害者在不知情的情况下,还以为这是《360安全卫士》的弹窗。
&*&代表数字依次按照数学顺序排列,例如&hrl1.tmp&、&hrl2.tmp&、&hrl3.tmp&&&
由于受害者每次重启计算机后,随机启动的木马服务运行木马主体程序&fwpfsp.exe&之后,都会将自身&fwpfsp.exe&复制到用户临时文件&C:\Documents and Settings\Administrator(受害者的用户名)\Local Settings\Temp&目录下并按照数学顺序将其重命名为&hrl*.tmp&再去执行它们,然后&hrl*.tmp&运行后便会结束木马的主体进程&fwpfsp.exe&。想到这,各位也都应该明白了为什么&LPK劫持者&木马会创建&hrl*.tmp&来运行自己了。
一般每次重启计算机后&LPK劫持者&木马都会调用两个&hrl*.tmp&到内存中去运行,例如受害者本次重启计算机后检测到上次创建的两个病毒程序&hrl1.tmp&和&hel2.tmp&,那么第二次创建的两个病毒程序就是&hrl3.tmp&和&hrl4.tmp&。所以长时间未清理临时文件的情况下,日积月累,用户临时文件的文件夹目录下会出现大量的&hrl*.tmp,占用硬盘空间。
&LPK劫持者&木马程序&hrl*.tmp&运行后,会开启&8090&端口连接黑***务器将用户隐私信息发送给黑客,而且随时接受黑客的命令下载其它的病毒和木马,在&命令提示符&里面输入DOS命令&NETSTAT /A /N&查看木马开启的端口和连接黑***务器的IP地址。
还会破坏受害者的计算机,最明显的破坏行为就是全盘破坏&.exe&可执行程序和全盘恶意劫持动态链接库程序&lpk.dll&。
调用 MS-DOS 操作系统 程序&fine.exe&使用DOS命令全盘查找扩展名为&.exe&的可执行程序程序,在系统临时文件&C:\WINDOWS\Temp&目录下创建一个名称为&IRA***.tmp&的文件夹,&***&为随机数字,本次文件名是&IRA910.tmp&。然后将找到后的&.exe&可执行程序复制到该文件夹目录下,对其注入恶意代码,再把已注入恶意代码的&.exe&可执行程序放回原有目录下覆盖正常的&.exe&可执行程序。
通过《eXeScope》这个软件工具查看对比一下某个应用软件的主程序&.exe&被&LPK劫持者&木马破坏的前后!很明显,被&LPK劫持者&木马破坏的&.exe&可执行程序都被恶意添加了一个名称为&.adate&的段。
并在这些&.exe&可执行程序的当前目录下创建一个名称为&lpk.dll&的木马动态链接库程序。为什么在每个应用程序的文件夹目录下创建一个木马的&lpk.dll&呢?这就是&DLL劫持&技术。
因为&LPK劫持者&木马利用了 Windows 系统 的运行规则,将众多应用程序运行时需要加载的系统动态链接库程序&lpk.dll&伪装创建在这些应用程序的***目录下。如果在运行某个程序时,这个程序存在&DLL劫持漏洞&,也就是没有设计&lpk.dll&动态链接库程序的指定系统加载路径:&%SystemRoot%\system32\lpk.dll&,那么 Windows 操作系统 的默认搜索方式会先将当前目录下木马的动态链接库程序&lpk.dll&插入到进程中运行,再去&C:\WINDOWS\system32&系统目录下搜索系统的动态链接库程序&lpk.dll&插入到进程中运行。 这是 Windows 操作系统 DLL动态链接库程序的加载顺序:&1.应用程序所在目录 =》2.当前工作目录 =》3.系统目录 =》4.Windows目录 =》5.环境变量指定的目录&。
&LPK劫持者&木马在每个应用程序的***目录下都创建了木马动态链接库程序&lpk.dll&,也就是说全盘哪个文件夹目录下存在&.exe&可执行程序就存在木马动态链接库程序。&lpk.dll&文件属性均为&只读&、&系统&和&隐藏&的文件属性,文件大小均是&130 KB&。也就是说,感染&LPK劫持者&木马计算机只要打开某个应用软件就会重新释放&LPK劫持者&木马。
&LPK劫持者&木马除了全盘劫持&lpk.dll&动态链接库程序之外,还会调用 MS-DOS 操作系统 程序&fine.exe&使用DOS命令全盘查找扩展名为&.rar&和&.zip&压缩文件,在系统临时文件&C:\WINDOWS\Temp&目录下创建一个名称为&IRA***.tmp&的文件夹,&***&为随机数字,本次文件名是&IRA818.tmp&。并向压缩包内恶意添加木马动态链接库程序&lpk.dll&,就是恶意利用《WinRAR》压缩软件的&rar.exe&将木马动态链接库程序&lpk.dll&压缩添加到&.rar&和&.zip&压缩文件中,这也解释了为什么感染&LPK劫持者&木马后会出现大量的&rar.exe&进程。然后将已被恶意添加木马动态链接库程序&lpk.dll&的&.rar&和&.zip&压缩文件放回原有目录下覆盖正常的&.rar&或&.zip&压缩文件。这样以后受害者解压缩某些应用软件的同时也会把&lpk.dll&一起解压缩出来,再运行这个软件后同样会重新释放&LPK劫持者&木马。
这是感染&LPK劫持者&木马后的&任务管理器&进程截图,会出现大量的&fine.exe&和&cmd.exe&还有&hrl*.tmp&进程。
被&LPK劫持者&木马全盘感染的&.exe&可执行程序并不是像&威金&病毒那样将自身捆绑到程序中运行后会重新释放病毒,而是注入一种破坏命令代码,就是诺在当前目录下检测不到木马动态链接库程序&lpk.dll&就不运行。所以,当把木马在某些应用软件***目录下恶意添加的木马动态链接库&lpk.dll&删掉后,这个应用软件的主程序&.exe&打开后将不运行-----无响应。
《&LPK劫持者&木马解决方案》
由于&LPK劫持者&木马在系统目录下都恶意添加了&lpk.dll&劫持,造成了运行某些系统工具都有可能程序释放&LPK劫持者&木马。例如在&C:\WINDOWS&系统目录下就恶意添加了木马动态链接库程序&lpk.dll&,所以默认随机启动运行的&explorer.exe&就会重新释放&LPK劫持者&木马,可以说&explorer.exe&反面上来讲也就变成了&LPK劫持者&木马的开机启动项。系统程序&explorer.exe&只是一个例子,如果受害者的计算机设置了多款应用软件随机自动运行,那么这些应用软件反面上来讲就都成了&LPK劫持者&木马的开机启动项。
这怎么办?不用怕,微软提供了指定&DLL劫持&的防范措施。
开始菜单-----运行 输入:®edit.exe&(双引号去掉),调出&注册表编辑器&。依次展开至分支&HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs&,可以看到子项&KnownDLLs&分支下有多个系统动态链接库程序。
鼠标右键子项&KnownDLLs&菜单中选择&新建(N)&-----&字符串值(S)&,将其命名为&lpk&,&数值数据&设置为&lpk.dll&,确定。
退出&注册表编辑器&,务必重启一下计算机。
这样,一些需要加载&lpk.dll&的应用程序运行时会从系统目录下查找&lpk.dll&并加载,而不再会因为 Windows 操作系统 DLL动态链接库程序的加载顺序从当前目录下查找&lpk.dll&并加载了。
利用这个方法也可以防止其它&.dll&动态链接库程序遭&DLL劫持&!例如2009年初发现的&猫癣&木马同2010年末发现的&LPK劫持者&木马的行为一样,只不过该木马是全盘劫持动态链接库程序&usp10.dll&,导致当初重装系统也无法解决&猫癣&木马。为了防止&猫癣&木马通过全盘劫持&usp10.dll&死灰复燃,可以在注册表分支&HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs&下添加一个名称为&usp10.dll&的键值项。 PS:
采用内核 Windows NT 5.1 系列的操作系统默认情况下只有少数关键的&.dll&系统动态链接库程序在此子项下,而自从 Windows Vista 操作系统下采用 NT 6.1 内核的 Windows 7.0 操作系统下面此子项已经相当齐全,所以在 Windows 7.0 操作系统下发生&DLL劫持&的概率要比 Windows NT/2000/XP 操作系统下要小很多。
如图,这是 Windows 7.0 操作系统的注册表分支&HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs&右侧窗口截图。
按&Ctrl + Alt + Del&键调出&任务管理器&,在里面结束&fwpfsp.exe&(不存在就跳过此步骤)和&hrl*.tmp&一系列的木马进程,&*&代表数字。 第三步:
使用《超级兔子》或者《Windows 优化大师》清理系统临时文件,主要目的是一键删除&LPK劫持者&木马在用户临时文件&C:\Documents and Settings\Administrator(受害者的用户名)\Local Settings\Temp&目录下创建的所有名称为&hrl*.tmp&的一系列木马程序,&*&代表数字。
删除&C:\WINDOWS\system32&系统目录下的木马主体程序&fwpfsp.exe&。
删除木马服务项,开始菜单-----运行 输入:®edit.exe&(双引号去掉),调出&注册表编辑器&。依次展开至&HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root&分支下面找到名称为&LEGACY_NATIONALKDU&的子项,鼠标右键子项&LEGACY_NATIONALKDU&菜单中选择&删除(D)&。这时,删除子项&LEGACY_NATIONALKDU&会弹出&删除项时出错&的对话框。
这是因为这个注册表分支在&权限&上被限制了只能访问而不能删除的操作。鼠标右键子项&LEGACY_NATIONALKDU&菜单中选择&权限(P)...&。
安全&&把子项&LEGACY_NATIONALKDU&下面所有用户权限的&完全控制&打上勾,确定,再删除子项&LEGACY_NATIONALKDU&。
返回注册表五大预定义项,重新依次展开至&HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services&分支下面找到名称为&Nationalkdu&的子项,鼠标右键子项&Nationalkdu&菜单中选择&删除(D)&。如图,可以很清楚看到木马服务项&Nationalkdu&指向&C:\WINDOWS\system32&系统目录下的木马主体程序&fwpfsp.exe&。
退出&注册表编辑器&,务必重启一下计算机。 第四步:
&LPK劫持者&木马在每个应用程序***目录下都恶意添加创建的木马动态链接库程序&lpk.dll&,怎么办?一个一个删除岂不是太麻烦?干脆有人全盘格式化重装系统了。
千万不要全盘格式化重装系统,使用一个DOS命令就能彻底地全盘删除&LPK劫持者&木马在全盘应用程序***目录下以及其子目录下恶意添加创建的木马动态链接库程序&lpk.dll&。
开始菜单----运行 输入:&cmd.exe&(双引号去掉),在&命令提示符&的黑色窗口里面输入DOS命令:DEL /F /S /A /Q *:\lpk.dll
&*&代表驱动器磁盘分区的盘符,上面的截图是删除&LPK劫持者&木马在C盘所有文件夹目录下恶意添加创建的&lpk.dll&,有几个驱动器磁盘分区就按照上述方法做几次。例如删除&LPK劫持者&木马在D、E、F盘所有文件夹目录下恶意添加创建的&lpk.dll&,可以分别输入DOS命令&DEL /F /S /A /Q D:\lpk.dll&、&DEL /F /S /A /Q E:\lpk.dll&、&DEL /F /S /A /Q F:\lpk.dll&(双引号去掉)。
&LPK劫持者&木马并没有恶意替换&C:\WINDOWS\system32&系统目录下正常的系统动态链接库程序&lpk.dll&,那么使用DOS命令删除会不会也把&C:\WINDOWS\system32&系统目录下的正常的系统动态链接库程序&lpk.dll&删除掉呢?不用担心,因为系统动态链接库程序&lpk.dll&是某些系统服务启动后需要加载的重要文件之一,由于正在被这些系统服务调用运行中,所以删除时会提示&拒绝访问&。
除了系统目录下一些系统程序&.exe&未被&LPK劫持者&木马破坏之外,其它被木马破坏的&.exe&可执行程序可以通过覆盖重装这些应用软件即可解决问题。目前还没有一款杀毒软件能把&LPK劫持者&木马在&.exe&可执行程序中注入的恶意代码剥离出来,不知道《卡巴斯基》能不能恢复被破坏的&.exe&可执行程序,可以先试试。
阅读(...) 评论()2706人阅读
木马编写(86)
直接把代码放上。
#include &stdafx.h&
#include &windows.h&
#include &tlhelp32.h&
#include &tchar.h&
DWORD get_parent_processid(DWORD pid)//获取指定进程的父进程ID
DWORD ParentProcessID=-1;
PROCESSE***Y32
HMODULE hModule = LoadLibrary(_T(&Kernel32.dll&));
if (hModule == NULL)
OutputDebugString(_T(&Load dll error&));
return -1;
FARPROC Address = GetProcAddress(hModule, &CreateToolhelp32Snapshot&);
if (Address == NULL)
OutputDebugString(_T(&Get Proc error&));
return -1;
call Address
mov hkz,eax
pe.dwSize=sizeof(PROCESSE***Y32);
if (Process32First(hkz,&pe))
if (pe.th32ProcessID==pid)//进程ID找到
ParentProcessID=pe.th32ParentProcessID;
while(Process32Next(hkz,&pe));
return ParentProcessID;
DWORD get_explorer_processid()
DWORD explorer_id=-1;
PROCESSE***Y32
HMODULE hModule = LoadLibrary(_T(&Kernel32.dll&));
if (hModule == NULL)
OutputDebugString(_T(&Load dll error&));
return -1;
FARPROC Address = GetProcAddress(hModule, &CreateToolhelp32Snapshot&);
if (Address == NULL)
OutputDebugString(_T(&Get Proc error&));
return -1;
call Address
mov hkz,eax
pe.dwSize=sizeof(PROCESSE***Y32);
if (Process32First(hkz,&pe))
if (_stricmp(pe.szExeFile,&explorer.exe&)==0)
explorer_id=pe.th32ProcessID;
while(Process32Next(hkz,&pe));
return explorer_
int main(int argc, char* argv[])
DWORD explorer_id=get_explorer_processid();
DWORD parent_id=get_parent_processid(GetCurrentProcessId());
if (explorer_id==parent_id)
printf(&the parent process is explorer\n&);
printf(&the parent process not explorer\n&);
getchar(0);
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:794089次
积分:11651
积分:11651
排名:第971名
原创:338篇
转载:84篇
评论:266条
(2)(1)(2)(2)(2)(3)(3)(2)(1)(2)(2)(3)(6)(1)(8)(7)(11)(11)(3)(2)(9)(4)(3)(8)(15)(6)(3)(2)(5)(1)(12)(10)(3)(1)(3)(2)(3)(6)(12)(14)(4)(1)(1)(2)(9)(5)(2)(6)(3)(6)(7)(6)(1)(1)(4)(7)(2)(5)(2)(2)(4)(4)(1)(3)(3)(2)(7)(5)(4)(6)(10)(3)(2)(1)(3)(1)(3)(3)(3)(6)(5)(5)(3)(15)(3)(5)(4)(7)(3)(3)(6)(3)(1)(6)(1)(7)(2)(1)(2)(2)(2)

参考资料

 

随机推荐