Posted on 2007-09-30 18:27
David.Ko 阅读(305)
评论(0) 编辑 收藏 所属分类:
安全
1。运行VC++6.0,"文件"--"新建",在工程下选择"win32 application","确定"后选择"a simple win32 application"完成.
2.双击"work space"中后缀为.cpp的文件,编写
代码如下,注(
程序自身已给出了一部分代码,补充完整就是了)
// 17.cpp : Defines the entry point for the application.
//
#include "stdafx.h"
#include "stdio.h"
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
if(!strlen(lpCmdLine))
{
MessageBox(NULL,"请先选择文件,把文件拖进来!","出错了!",MB_ICONINFORMATION);
return 0;
}
FILE *fp1,*fp2;
fp1=fopen(lpCmdLine,"rb");
if(fp1==NULL)
{MessageBox(NULL,"文件无法打开!","出错了!",MB_ICONERROR);
return 0;
}
char stmpname[MAX_PATH];
strcpy(stmpname,lpCmdLine);
strcat(stmpname,".tmp");
fp2=fopen(stmpname,"wb");
if(fp2==NULL)
{
MessageBox(NULL,"文件无法写入!","出错了!",MB_ICONERROR);
return 0;
}
char c=fgetc(fp1);
char ch=0;
while(!feof(fp1))
{
ch=c^233;
fputc(ch,fp2);
c=fgetc(fp1);
}
fclose(fp1);
fclose(fp2);
if(!DeleteFile(lpCmdLine))
{
DeleteFile(stmpname);
MessageBox(NULL,"文件被占用!","出错了!",MB_ICONERROR);
return 0;
}
MoveFile(stmpname,lpCmdLine);
MessageBox(NULL,"加/解密已完成!","恭喜!",MB_ICONINFORMATION);
return 0;
}
注意,17.cpp是我的文件名,将相关内容替换就是了。
3。如何用呢。
例如将一张hei.jpg的图片拖入编绎好的EXE文件,再运行一个这张图片,你会发现什么也没有了,图片被加密了,再将图片拖入EXE文件,然后再运运图片,显示正常,也就完成解密了。
直接双击运行会出错的!
图像原来的样子把图像拖进17.exe 后的成功提示,这里是加密成功了!!
再运行一下hei.jpg,提示"没有预揽",说明加密成功!
再将图片拖进17.exe,完成解密!!
再浏览一遍原图像.
有一个问题,就是我把它放在桌面上进行,它会提示文件无法打开的,但放在D盘又或者是其它盘却可以成功。