教你用C语言隐藏磁盘|一键隐藏分区可随时恢复

自己闲的没事干做了这个C和DOS批处理相结合的程序。

你可以修改后编译运行即可,把文件放到这个磁盘,然后隐藏,你绝对找不到,文件不会丢失。

隐藏的是H:盘

在cmd输入

diskpart

select disk 0

list partition

可以查看电脑磁盘对应的编号

比如说我的:

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。


C:\Users\XXXXXX>diskpart


Microsoft DiskPart 版本 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.
在计算机上: XXXXXX


DISKPART> select disk 0


磁盘 0 现在是所选磁盘。


DISKPART> list partition


  分区 ###       类型              大小     偏移量
  -------------  ----------------  -------  -------
  分区      1    主要                  39 MB    31 KB
  分区      2    主要                  12 GB    40 MB
  分区      3    主要                  50 GB    12 GB
  分区      0    扩展的                403 GB    62 GB
  分区      4    逻辑                 130 GB    62 GB
  分区      5    逻辑                 130 GB   192 GB
  分区      6    逻辑                 100 GB   322 GB
  分区      7    逻辑                  43 GB   422 GB

 

然后更改源代码中我注释的位置即可隐藏任意分区

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]) 
{
	FILE *fp1,*fp2;
	char hi[55] ,ru[35],s;
	system("color 0B");
	if((fp1=fopen("Hide.txt","w+"))==NULL)
	{printf("程序出错,不能创建文件\n");
	}
	if((fp2=fopen("Run.cmd","w+"))==NULL)
	{printf("程序出错,不能创建文件\n");
	}
	printf("1.显示H:       2.隐藏H:?\n");
	s=getchar();
	strcpy(hi,"select disk 0\nselect partition 2\nset id=12 override"); //更改selsect partition 2的数字可以改变要隐藏的目标分区
	strcpy(ru,"echo off\ndiskpart /s Hide.txt");
	if(s=='1')
	hi[40]='0';
	hi[41]='7';
	fprintf(fp1,"%s",hi);
	fprintf(fp2,"%s",ru);
	fclose(fp1);
	fclose(fp2);
	system("Run.cmd");
	system("del /q /f run.cmd");
	system("del /q /f Hide.txt");
	system("PAUSE");
	return 0;
}


posted @ 2013-06-15 14:59  一杯半盏  阅读(307)  评论(0编辑  收藏  举报