David.Ko

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

          編寫一個加/解密程序

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

          主站蜘蛛池模板: 冕宁县| 永年县| 二手房| 海淀区| 龙游县| 桐梓县| 镇康县| 孟村| 长顺县| 临夏市| 桑日县| 桐梓县| 宜兴市| 东乡族自治县| 房产| 诏安县| 礼泉县| 宜城市| 历史| 龙岩市| 洪雅县| 玛沁县| 济南市| 延吉市| 汕头市| 绥江县| 扶余县| 潜山县| 神农架林区| 临潭县| 宝兴县| 民乐县| 昌吉市| 甘洛县| 高密市| 抚松县| 乌苏市| 汕尾市| 宁津县| 上犹县| 阿瓦提县|