David.Ko

          Follow my heart!
          posts - 100, comments - 11, trackbacks - 0, articles - 0
             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          編寫一個加/解密程序

          Posted on 2007-09-30 18:27 David.Ko 閱讀(315) 評論(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盤又或者是其它盤卻可以成功。

          主站蜘蛛池模板: 大港区| 松桃| 顺义区| 沐川县| 腾冲县| 改则县| 长宁区| 若尔盖县| 桃江县| 成都市| 苗栗市| 隆尧县| 宁海县| 泰顺县| 木兰县| 蛟河市| 和龙市| 阿拉善右旗| 玛纳斯县| 平利县| 阳东县| 淳安县| 新营市| 湘潭市| 屯留县| 秦皇岛市| 新河县| 江油市| 缙云县| 永寿县| 汶上县| 洱源县| 石城县| 哈密市| 高平市| 商城县| 剑河县| 南郑县| 邢台县| 张家口市| 铜陵市|