劫持系统源码
㈠ 系统文件被劫持怎么办
你好,用360系统急救箱!可以恢复系统文件
恢复之后,请重启电脑!
谢谢采纳
㈡ 如何发现自己的网站被劫持,网站被劫持后又该怎么处理
首先要确定是怎样被劫持的?
1、网站域名泛解析。
处理方法:关闭域名的泛解析,进入了域名管理后台之后点击我们的域名找到带*号的域名解析,删除点就可以了。
2、浏览器劫持。
处理方法:网络让装他们浏览器。
3、运营商劫持。
处理方法:这个劫持是最难以处理的,通常大家遇到的也是这种情况,如何处理这种情况就需要降到HTTPS加密了。
4、黑客攻击种植木马程序。
打开自己网站的时候跳转到了别的网站的这种情况属于黑客攻击劫持的情况。
处理方法:对于备份文件,找到被修改的文件,清理木马程序即可(注意:请养成备份习惯,最少每个星期备份一次)
㈢ 网站被劫持到非法网站,程序里面找不到,源代码看不出问题
系统不稳定,跟你的程序没关系的
㈣ vb怎么劫持文件就是劫持一个软件其中一个dll 启动软件就会加载这个dll
DLL劫持利用系统未知DLL的搜索路径方式,使得程序加载当前目录下的系统同名DLL。所以可以告诉系统DLL的位置,改变加载系统DLL的顺序不是当前目录,而是直接到系统目录下查找。
这个想法可以通过修改注册表实现。
在注册表键值:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs
是调用系统DLL的首要查找目录。例如里面有RE_SZ类型的ntdll=ntdll.dll项,则系统载入ntdll时会直接从系统目录加载。
由此,添加LPK=LPK.DLL即可防止LPK被劫持,同理可以阻止一些其他DLL被劫持,例如USP10。
在Windows NT系统,XP默认只有少数关键DLL在此键值下,Win7下面此键值已经相当齐全,在Win7系统下发生DLL劫持的概率要比XP小很多。
一 回顾DLL挟持的发展
2010年08月24日微软发布安全公告2269637,提到三方软件编程不安全存在一个DLL挟持的缺陷可以导致远程攻击
2010年08月24日流行的漏洞信息共享网站exploit-db马上就爆出多个DLL挟持漏洞涉及的软件有:Wireshark(免费嗅探器),Windows Live email(邮箱客户端), Microsoft MovieMaker(视频编辑处理),Firefox(网页浏览器), uTorrent (BT下载工具),PowerPoint 2010(办公软件)等
2010年08月25日-26日漏洞信息共享网站exploit-db继续爆出Winamp,Google Earth,Photoshop等软件存在DLL挟持漏洞,同时发布这个blog之前笔者的电脑中已经发掘存在的流行软件有,QQ影音,QQ音乐,美图秀秀,ppstream等
二新老DLL挟持的攻击原理分析和防御
1 动态链接库文件通常加载顺序如下
windows xp sp2系统以上会默认开启SafeDllSearchMode,安全dll搜索模式下DLL文件的搜索顺序如下所示
(1)可执行程序加载的目录(可理解为程序安装目录比如 C:\Program Files\uTorrent)(2)系统目录(即 %windir%\system32 )(3)16位系统目录(即 %windir%\system)(4)Windows目录(即 %windir%)(5)运行某文件的所在目录,比如C:\Documents and Settings\Administrator\Desktop\test)(6)PATH环境变量中列出的目录
2 老DLL挟持触发的原理解析和防御(漏洞触发在DLL搜索流程的第一层,运行程序即加载病毒)
(1)老DLL挟持的特点:
为了增加触发的概率,通常会使用usp1.dll,ws2_32.dll,lpk.dll等应用程序所必须的系统dll文件,然后利用DLL搜索第一顺位是程序安装目录,在程序安装目录释放一个同名DLL文件,抢先加载恶意病毒DLL文件,从而达到破坏的作用。这里可执行程序相当于恶意dll的加载器
(2)老DLL挟持病毒利用回顾重现
2007年罗姆病毒(ws2_32.dll导致很多杀毒软件无法打开),2009年春节猫癣病毒(usp10.dll导致很多用户重装系统都无法解决病毒问题)
通常使用老DLL挟持的病毒木马会枚举电脑里面的所有exe目录,然后将恶意的usp10.dll释放到每个exe所在的目录。当用户执行一个应用程序的时候,将会把恶意的usp10.dll文件优先加载从而感染系统
根据前面介绍的DLL加载顺序,运行程序的时候会优先到程序执行的目录下加载必须文件,下图显示了utorrent.exe在安装目录下的找到了usp10.dll文件并把它加载到内存中。
(3)老DLL挟持的通用免疫方案
可以通过编辑HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs来添加需要面议的DLL文件,比如:新建一个ws2_32 指向ws2_32.dll
3 新DLL挟持触发的原理解析和防御(漏洞触发在DLL搜索流程的第五层,运行图片即加载病毒)
(1)新DLL挟持的特点:
应用程序为了扩展或者兼容等目的需要加载相应的DLL文件,但是因为某些原因导致这个DLL文件默认不存在于当前系统,比如plugin_dll.dll文件默认情况下不存在utorrent的安装目录,dwmapi.dllxp环境下不存在(Vista以上系统存在),ie6环境下没有ieframe.dll(ie7以上版本存在)。正是因为程序需要的DLL文件在DLL搜索顺序的(1)-(4)中都不可能存在,此时就会尝试加载文件所在目录下的恶意dll文件,从而达到破坏的作用。这里运行的文件(比如mp3)相当于触发者,根据文件关联它会启动一个应用程序去播放mp3文件。而因为应用程序存在DLL挟持漏洞(比如QQ影音),此时QQ影音就会因为设计上的不足导致成为恶意DLL的加载器。相当于老DLL挟持,简直达到了运行图片/视频文件就会执行恶意文件的目的,当然前提是大灰客们能猜中你电脑里面的默认查看的软件是否存在DLL挟持漏洞了,目前已经发现的存在DLL挟持缺陷的主要有以下几类
① 特定系统环境下的文件
典型的有dwmapi.dll文件,xp环境下不存在,vista以上版本存在,也就是说需要触发这个漏洞的系统环境只能是XP系统
② 特定软件版本下的文件
典型的有:ieframe.dll,IE6下不 存在,ie7以上版本有,也就是说触发漏洞的电脑IE必须是IE6版本
③ 特定的库文件
典型的有:mfc80chs.dll
④ 程序自己需要的dll文件,可能是为了功能扩展或者兼容
典型的有:plugin_dll.dll
⑤ 其它未知
(2)新DLL挟持利用重现
通常灰客们会先通过DLL挟持挖掘工具寻找存在DLL挟持漏洞的流行应用程序,然后构造相应的文件上传到网络上供用户下载(具体的传播方式请看下一章),如果用户的电脑存在漏洞那么运行相应文件的时候就会执行存在漏洞的程序,从而使得恶意dll被不知不觉加载
根据前面介绍的DLL加载顺序和新DLL挟持的特点,程序在前四个流程都没有找到需要的文件,只能勉为其难的在第五流程-当前文件目录下加载恶意dll文件,下图就显示了uTorrent加载plugin_dll.dll顺序(前四个流程都是 name not found)并且加载当前目录下恶意plugin_dll.dll文件(第五流程显示的是success )的过程
㈤ dll劫持的如何防止DLL劫持
DLL劫持利用系统未知DLL的搜索路径方式,使得程序加载当前目录下的系统同名DLL。所以可以告诉系统DLL的位置,改变加载系统DLL的顺序不是当前目录,而是直接到系统目录下查找。
这个想法可以通过修改注册表实现。
在注册表键值:HKEY_LOCAL_ ManagerKnownDLLs
是调用系统DLL的首要查找目录。例如里面有RE_SZ类型的ntdll=ntdll.dll项,则系统载入ntdll时会直接从系统目录加载。
由此,添加LPK=LPK.DLL即可防止LPK被劫持,同理可以阻止一些其他DLL被劫持,例如USP10。
在Windows NT系统,XP默认只有少数关键DLL在此键值下,Win7下面此键值已经相当齐全,在Win7系统下发生DLL劫持的概率要比XP小很多。
一 回顾DLL挟持的发展
2010年08月24日微软发布安全公告2269637,提到三方软件编程不安全存在一个DLL挟持的缺陷可以导致远程攻击
2010年08月24日流行的漏洞信息共享网站exploit-db马上就爆出多个DLL挟持漏洞涉及的软件有:Wireshark(免费嗅探器),Windows Live email(邮箱客户端), Microsoft MovieMaker(视频编辑处理),Firefox(网页浏览器), uTorrent (BT下载工具),PowerPoint 2010(办公软件)等
2010年08月25日-26日漏洞信息共享网站exploit-db继续爆出Winamp,Google Earth,Photoshop等软件存在DLL挟持漏洞,同时发布这个blog之前笔者的电脑中已经发掘存在的流行软件有,QQ影音,QQ音乐,美图秀秀,ppstream等
二新老DLL挟持的攻击原理分析和防御
1 动态链接库文件通常加载顺序如下
windows xp sp2系统以上会默认开启SafeDllSearchMode,安全dll搜索模式下DLL文件的搜索顺序如下所示
(1)可执行程序加载的目录(可理解为程序安装目录比如 C:Program FilesuTorrent)(2)系统目录(即 %windir%system32 )(3)16位系统目录(即 %windir%system)(4)Windows目录(即 %windir%)(5)运行某文件的所在目录,比如C:Documents and SettingsAdministratorDesktop est)(6)PATH环境变量中列出的目录
2 老DLL挟持触发的原理解析和防御(漏洞触发在DLL搜索流程的第一层,运行程序即加载病毒)
(1)老DLL挟持的特点:
为了增加触发的概率,通常会使用usp1.dll,ws2_32.dll,lpk.dll等应用程序所必须的系统dll文件,然后利用DLL搜索第一顺位是程序安装目录,在程序安装目录释放一个同名DLL文件,抢先加载恶意病毒DLL文件,从而达到破坏的作用。这里可执行程序相当于恶意dll的加载器
(2)老DLL挟持病毒利用回顾重现
2007年罗姆病毒(ws2_32.dll导致很多杀毒软件无法打开),2009年春节猫癣病毒(usp10.dll导致很多用户重装系统都无法解决病毒问题)
通常使用老DLL挟持的病毒木马会枚举电脑里面的所有exe目录,然后将恶意的usp10.dll释放到每个exe所在的目录。当用户执行一个应用程序的时候,将会把恶意的usp10.dll文件优先加载从而感染系统
根据前面介绍的DLL加载顺序,运行程序的时候会优先到程序执行的目录下加载必须文件,下图显示了utorrent.exe在安装目录下的找到了usp10.dll文件并把它加载到内存中。
(3)老DLL挟持的通用免疫方案
可以通过编辑 ManagerKnownDLLs来添加需要面议的DLL文件,比如:新建一个ws2_32 指向ws2_32.dll
3 新DLL挟持触发的原理解析和防御(漏洞触发在DLL搜索流程的第五层,运行图片即加载病毒)
(1)新DLL挟持的特点:
应用程序为了扩展或者兼容等目的需要加载相应的DLL文件,但是因为某些原因导致这个DLL文件默认不存在于当前系统,比如plugin_dll.dll文件默认情况下不存在utorrent的安装目录,dwmapi.dllxp环境下不存在(Vista以上系统存在),ie6环境下没有ieframe.dll(ie7以上版本存在)。正是因为程序需要的DLL文件在DLL搜索顺序的(1)-(4)中都不可能存在,此时就会尝试加载文件所在目录下的恶意dll文件,从而达到破坏的作用。这里运行的文件(比如mp3)相当于触发者,根据文件关联它会启动一个应用程序去播放mp3文件。而因为应用程序存在DLL挟持漏洞(比如QQ影音),此时QQ影音就会因为设计上的不足导致成为恶意DLL的加载器。相当于老DLL挟持,简直达到了运行图片/视频文件就会执行恶意文件的目的,当然前提是大灰客们能猜中你电脑里面的默认查看的软件是否存在DLL挟持漏洞了,目前已经发现的存在DLL挟持缺陷的主要有以下几类
① 特定系统环境下的文件
典型的有dwmapi.dll文件,xp环境下不存在,vista以上版本存在,也就是说需要触发这个漏洞的系统环境只能是XP系统
② 特定软件版本下的文件
典型的有:ieframe.dll,IE6下不 存在,ie7以上版本有,也就是说触发漏洞的电脑IE必须是IE6版本
③ 特定的库文件
典型的有:mfc80chs.dll
④ 程序自己需要的dll文件,可能是为了功能扩展或者兼容
典型的有:plugin_dll.dll
⑤ 其它未知
(2)新DLL挟持利用重现
通常灰客们会先通过DLL挟持挖掘工具寻找存在DLL挟持漏洞的流行应用程序,然后构造相应的文件上传到网络上供用户下载(具体的传播方式请看下一章),如果用户的电脑存在漏洞那么运行相应文件的时候就会执行存在漏洞的程序,从而使得恶意dll被不知不觉加载
根据前面介绍的DLL加载顺序和新DLL挟持的特点,程序在前四个流程都没有找到需要的文件,只能勉为其难的在第五流程-当前文件目录下加载恶意dll文件,下图就显示了uTorrent加载plugin_dll.dll顺序(前四个流程都是 name not found)并且加载当前目录下恶意plugin_dll.dll文件(第五流程显示的是success )的过程
(3)新DLL挟持的免疫
目前微软没有提供有效的免疫方案可以使用,建议升级你常用软件到最新版本.
三 新DLL挟持可能存在的攻击方式
exploit-db公布了存在DLL Hijacking的大量常用软件,这些软件里面有视频音频播放器,图像设计浏览软件,IM聊天工具,文字处理软件,网页浏览器,下载软件,杀毒软件。根据在下的一点拙见如果病毒作者想要利用这个漏洞来实现广泛传播的话主要有几种方式。
1 BT下载大片传播
挖掘出支持BT下载的流行软件(比如uTorrent )的DLL Hijacking漏洞,然后构造一个恶意dll文件(估计会设置隐藏属性,这样你解压以后将不会看到这个文件)和BT种子文件打包成压缩包上传到网上供用户下载,用户一旦下载了这个压缩包双击BT种子文件的时候会调用uTorrent 打开,uTorrent 运行的时候由于设计上的不河蟹根据dll加载的顺序最后会将种子所在目录的恶意dll加载
2 美女图片分享传播
挖掘出流行图片浏览工具(比如美图秀秀)的DLL Hijacking漏洞,然后构造一个恶意dll文件(估计会设置隐藏属性,这样你解压以后将不会看到这个文件)和图片文件打包成压缩包上传到网上供用户下载,用户一旦下载了这个压缩包,解压浏览美女靓照的时候可能会调用图片浏览工具打开从而触发漏洞加载恶意dll文件
3 软件下载包含的网页文件传播
挖掘出流行网页浏览工具(比如firefox)的DLL Hijacking漏洞,然后构造一个恶意dll文件(估计会设置隐藏属性,这样你解压以后将不会看到这个文件),应用程序和htm等网页文件打包成软件压缩包并上传到网上供用户下载。用户一旦下载了这个软件压缩包,解压以后运行安装必看.htm之类的网页文件会调用网页浏览工具打开从而触发漏洞加载恶意dll文件
4 热门视频音频文件传播
挖掘出流行视频音频播放工具(比如QQ影音)的DLL Hijacking漏洞,然后构造一个恶意dll文件(估计会设置隐藏属性,这样你解压以后将不会看到这个文件)和rmvb等视音频文件打包压缩包并上传到网上供用户下载。用户一旦下载了这个压缩包,解压播放相应视频的时候从而触发漏洞加载恶意dll文件
5 目前公布的部分软件列表
Google Earth
Nullsoft Winamp 5.581
Media Player Classic 6.4.9.1
Mozilla Thunderbird
Microsoft Office PowerPoint 2007
Adobe InDesign CS4
Nvidia Driver
Adobe Illustrator CS4
Adobe Premier Pro CS4
Skype <= 4.2.0.169
TechSmith Snagit 10
Safari v5.0.1
uTorrent
Microsoft Visio 2003
Adobe Photoshop CS2
avast! <= 5.0.594
Adobe Dreamweaver CS5
Opera v10.61
Firefox <= 3.6.8
四 DLL安全编程,避免产生DLL挟持问题
(1) 调用LoadLibrary, LoadLibraryEx, CreateProcess的,或者 的ShellExecute 等涉及到模块加载的函数的时候,指定DLL加载的完整路径,貌似应该有API可以获取当前程序运行的目录的
(2)考虑使用 的DLL重定向 或 Manifests文件 ,以确保您的应用程序使用正确的DLL。
HKEY_LOCAL_ ManagerKnownDLLs
(3)确保DLL安全搜索模式被激活。未使用安全搜索设置的话,第二加载项就是当前目录。
Manager SafeDllSearchMode
(4)从搜索列表中取消当前目录,可以通过调用SetDllDirectory 参数设置为一个空字符串
㈥ 如何处理网站劫持现象
要想解决网站被恶意劫持,比较简单的方法就是可以给网站安装一个SSL证书,它的主要功能就是数据加密传输和服务器身份验证,其好处是:
1、提升企业网站排名
目前Google、网络等主流搜索引擎表示会优先收录以HTTPS开头的网站,并赋予网站高权重,有效提高网站关键词的排名。网站安装SSL证书便可以实现网站从HTTP升级到HTTPS。
2、网站隐私信息加密
对网站传输的数据进行加密,包括网站用户的账户密码、身份证等隐私信息,防止被黑客监听、窃取和篡改。目前大部分网站都会涉及到用户的隐私数据传输,安装SSL证书很有必要。
3、浏览器受信任
任如果没有安装SSL证书,用户通过谷歌、火狐等浏览器访问企业网站时会提示不安全,这必然会影响到用户的访问体验,而安装由受信任的证书颁发机构签发的SSL证书,会成为谷歌、火狐等主流浏览器受信任站点。
4、防止流量劫持
普通的http网站非常容易遭受网络攻击,尤其是流量劫持,会强制用户访客其他网站,从而造成网站流量损失。而安装受信任的SSL证书,你的网站就能有效避免流量劫持。
5、提升企业形象
安装高级的SSL证书不仅会出现绿色小锁及“https”,还会显示出企业名称,这会大大增加用户的信任,同时提升企业的形象和可信度。
㈦ DLL文件劫持应该怎么办 急啊
DLL当一个可执行文件运行时,Windows加载器将可执行模块映射到进程的地址空间中,加载器分析可执行模块的输入表,并设法找出任何需要的DLL,并将它们映射到进程的地址空间中。
由于输入表中只包含DLL名而没有它的路径名,因此加载程序必须在磁盘上搜索DLL文件。首先会尝试从当前程序所在的目录加载DLL,如果没找到,则在Windows系统目录查找,最后是在环境变量中列出的各个目录下查找。利用这个特点,先伪造一个系统同名的DLL,提供同样的输出表,每个输出函数转向真正的系统DLL。程序调用系统DLL时会先调用当前目录下伪造的DLL,完成相关功能后,再跳到系统DLL同名函数里执行,如图18.4。这个过程用个形象的词来描述就是系统DLL被劫持(hijack)了。
184.gif
利用这种方法取得控制权后,可以对主程序进行补丁。此种方法只对除kernel32.dll, ntdll.dll等核心系统库以外的DLL有效,如网络应用程序的ws2_32.dll,游戏程序中的d3d8.dll,还有大部分应用程序都调用的lpk.dll,这些DLL都可被劫持。
利用5.6.2章提供的CrackMeNet.exe来演示一下如何利用劫持技术制作补丁,目标文件用Themida v1.9.2.0加壳保护。
1.补丁地址
去除这个CrackMe网络验证方法参考第5章,将相关补丁代码存放到函数PatchProcess( )里。例如将401496h改成:
代码:00401496 EB 29 jmp short 004014C1
补丁编程实现就是:
代码:
unsigned char p401496[2] = {0xEB, 0x29};
WriteProcessMemory(hProcess,(LPVOID)0x401496, p401496, 2, NULL);
p401496这个数组的数据格式,可以用OllyDBG插件获得,或十六进制工具转换。例如Hex Workshop打开文件,执行菜单Edit/Copy As/Source即可得到相应的代码格式。
2.构建输出函数
查看实例CrackMeNet.exe输入表,会发现名称为ws2_32.dll的DLL,因此构造一个同名的DLL来完成补丁任务。伪造的ws2_32.dll有着真实ws2_32.dll一样的输出函数,完整源码见光盘。实现时,可以利用DLL模块中的函数转发器来实现这个目标,其会将对一个函数的调用转至另一个DLL中的另一个函数。可以这样使用一个pragma指令:
代码:#pragma comment(linker, "/EXPORT:SomeFunc=DllWork.someOtherFunc")
这个pragma告诉链接程序,被编译的DLL应该输出一个名叫SomeFunc的函数。但是SomeFunc函数的实现实际上位于另一个名叫SomeOtherFunc的函数中,该函数包含在称为DllWork. dll的模块中。
如要达到劫持DLL的目的,生成的DLl输出函数必须与目标DLL输出函数名一样,本例可以这样构造pragma指令:
代码:#pragma comment(linker, "/EXPORT:WSAStartup=_MemCode_WSAStartup,@115")
编译后的DLL,会有与ws2_32.dll同名的一个输出函数WSAStartup,实际操作时,必须为想要转发的每个函数创建一个单独的pragma代码行,读者可以写一个工具或用其他办法,将ws2_32.dll输出函数转换成相应的pragma指令。
当应用程序调用伪装ws2_32.dll的输出函数时,必须将其转到系统ws2_32.dl中去,这部分的代码自己实现。例如WSAStartup输出函数如下构造:
代码:
ALCDECL MemCode_WSAStartup(void)
{
GetAddress("WSAStartup");
__asm JMP EAX;//转到系统ws2_32.dll的WSAStartup输出函数
}
其中GetAddress()函数的代码如下:
代码:
// MemCode 命名空间
namespace MemCode
{
HMODULE m_hMole = NULL; //原始模块句柄
DWORD m_dwReturn[500] = {0}; //原始函数返回地址
// 加载原始模块
inline BOOL WINAPI Load()
{
TCHAR tzPath[MAX_PATH]={0};
TCHAR tzTemp[MAX_PATH]={0};
GetSystemDirectory(tzPath, sizeof(tzPath));
strcat(tzPath,"\\ws2_32.dll");
m_hMole = LoadLibrary(tzPath);//加载系统系统目录下ws2_32.dll
if (m_hMole == NULL)
{
wsprintf(tzTemp, TEXT("无法加载 %s,程序无法正常运行。"), tzPath);
MessageBox(NULL, tzTemp, TEXT("MemCode"), MB_ICONSTOP);
}
return (m_hMole != NULL);
}
// 释放原始模块
inline VOID WINAPI Free()
{
if (m_hMole)
FreeLibrary(m_hMole);
}
// 获取原始函数地址
FARPROC WINAPI GetAddress(PCSTR pszProcName)
{
FARPROC fpAddress;
TCHAR szProcName[16]={0};
TCHAR tzTemp[MAX_PATH]={0};
if (m_hMole == NULL)
{
if (Load() == FALSE)
ExitProcess(-1);
}
fpAddress = GetProcAddress(m_hMole, pszProcName);
if (fpAddress == NULL)
{
if (HIWORD(pszProcName) == 0)
{
wsprintf(szProcName, "%d", pszProcName);
pszProcName = szProcName;
}
wsprintf(tzTemp, TEXT("无法找到函数 %hs,程序无法正常运行。"), pszProcName);
MessageBox(NULL, tzTemp, TEXT("MemCode"), MB_ICONSTOP);
ExitProcess(-2);
}
return fpAddress;
}
}
using namespace MemCode;
编译后,用LordPE查看伪造的ws2_32.dll输出函数,和真实ws2_32.dll完全一样,如图18.5所示。
185.gif
查看伪造的ws2_32.dll中任意一个输出函数,例如WSACleanup:
代码:
.text:10001CC0 ; int __stdcall WSACleanup()
.text:10001CC0 WSACleanup proc near
.text:10001CC0 push offset aWsacleanup ;"WSACleanup"
.text:10001CC5 call sub_10001000 ;GetAddress(WSACleanup)
.text:10001CCA jmp eax
.text:10001CCA WSACleanup endp
会发现输出函数WSACleanup()首先调用GetAddress(WSACleanup),获得真实ws2_32.dll中WSACleanup的地址,然后跳过去执行,也就是说ws2_32.dll各输出函数被HOOK了。
3.劫持输出函数
ws2_32.dll有许多输出函数,经分析,程序发包或接包时,WSAStartup输出函数调用的比较早,因此在这个输出函数放上补丁的代码。代码如下:
代码:
ALCDECL MemCode_WSAStartup(void)
{
hijack();
GetAddress("WSAStartup");
__asm JMP EAX;
}
hijack()函数主要是判断是不是目标程序,如是就调用PatchProcess()进行补丁。
void hijack()
{
if (isTarget(GetCurrentProcess())) //判断主程序是不是目标程序,是则补丁之
{
PatchProcess(GetCurrentProcess());
}
}
伪造的ws2_32.dll制作好后,放到程序当前目录下,这样当原程序调用WSASTartup函数时就调用了伪造的ws2_32.dll的WSASTartup函数,此时hijack()函数负责核对目标程序校验,并将相关数据补丁好,处理完毕后,转到系统目录下的ws2_32.dll执行。
这种补丁技术,对加壳保护的软件很有效,选择挂接的函数最好是在壳中没有被调用,当挂接函数被执行时,相关的代码己被解压,可以直接补丁了。有些情况下,必须用计数器统计挂接的函数的调用次数来接近OEP。此方法巧妙地绕过了壳的复杂检测,很适合加壳程序的补丁制作。
一些木马或病毒也会利用DLL劫持技术搞破坏,因此当在应用程序目录下发现系统一些DLL文件存在时,应引起注意。
㈧ 遇到流氓http劫持网页,怎么办
1/可能是你防火墙或者IE浏览器的问题;
2、检查你的IP地址和DNS服务起地址的设置;
3、网络物理线路是否通畅;
4/给网通或电信公司打电话吧。
㈨ 被劫持的系统文件是怎么回事用360自定义检测检测出的。电脑有时就吱吱几声后就黑屏了是不是中病毒了
你可以理解成被恶意替换了,朋友,建议你安装专业的杀毒软件,国产推荐金山毒霸安全套装或微点,国外推荐小红伞,AVAST,nod32,希望可以帮到你。