久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6868|回復: 1
打印 上一主題 下一主題
收起左側

C語言練習作品(加鎖程序1.0)

[復制鏈接]
跳轉到指定樓層
樓主
ID:71922 發表于 2015-1-11 01:08 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 liuyuxi 于 2015-1-11 01:13 編輯

增加了隱私隱藏功能~~~
修正了  清除加鎖配置后 程序會變成未注冊的BUG~~
軟件界面:

源代碼:

  1. ==========================================================================

  2. #include<stdio.h>/*加載包含基本輸入輸出函數頭文件*/
  3. #include<stdlib.h>/*加載標準函數庫頭文件*/
  4. #include<string.h>
  5. #include<windows.h>

  6. int i=3,a=0,d=0;/*聲明全局變量*/
  7. int h=5;/*設定功能選擇*/
  8. int y=4;
  9. /*原型函數聲明*/
  10. int xieru();
  11. int yanzhen();
  12. int zhu();
  13. int tishi();
  14. int yizhuce();
  15. int jiamiweizhuce();
  16. int jiamiyizhuce();
  17. int jiemiweizhuce();
  18. int jiemiyizhuce();
  19. int u();
  20. int autoo();
  21. int dell();
  22. int yc();
  23. /************************作者聲明*****************************/
  24. int xs()
  25. {
  26.           printf("\n********************************************************************");
  27.        printf("\n   此程序為C語言編寫,編譯器為:DEV-C++ 4.9.9.2 多國語言版");
  28.    printf("\n\n   愿結交對C語言深感興趣并研究過C語言的朋友\n   若有任何建議或愿共同探討請聯系QQ:1007566569\n   加密方面,采用垃圾算法,純屬做練習,各位不必當真。\n");
  29.   
  30.    printf("\n********************************************************************\n");
  31.   
  32.    printf("\n作品名稱:加鎖程序(版本:2.0)\n\n作品目的:增加對條件指令、循環指令的了解并熟悉自定義函數、調用函數的方法、文件            處理指令,以及DOS命令\n\n作品功能:a:實現注冊驗證及對數字進行加密、解密功能\n          b:了解加入開機啟動項的方法和利用文件處理知識..實現移動設備對電腦進行加          鎖功能~~~~還加了個隱私隱藏功能呢!\n\n作品改進:利用軟件爆破原理改進了程序輸入正確序列號重啟后仍需再次輸入序列號的缺陷          根據木馬自釋放原理,增加了U盤加鎖功能(O(∩_∩)O可以當惡作劇玩哦!)\n\n作品缺陷:程序判斷用戶的選擇只能用數字否則出錯(嘗試用過char類型),只能加密\n          9位數字否則不能正確解密(或許與類型溢出有關),以上原因尚不明確!\n");
  33.       printf("\n********************************************************************\n");
  34.     return 0;
  35.     }
  36. int aac()
  37. {
  38.      printf("\n\n   O(∩_∩)O哈哈~,請選擇所需要的功能:\n\n 【1】:加密(目前只支持9位任意數字)\n\n 【2】:解密(只對本程序加密的密文有效)\n\n 【3】: 用可移動磁盤(如U盤)加鎖計算機(需注冊用戶)\n\n 【4】: 隱私隱藏功能(能把任何文件格式隱藏到任何文件里(需注冊用戶))\n\n 【5】:注冊\n\n 【0】:退出\n\n  ");
  39.     return 0;
  40.     }
  41. int aac1()
  42.     {
  43.         system("cls");
  44.          printf("\n\n   O(∩_∩)O哈哈~,不能亂選哦,請再次認真選擇所需要的功能:\n\n 【1】:加密(目前只支持9位任意數字)\n\n 【2】:解密(只對本程序加密的密文有效)\n\n 【3】: 用可移動磁盤(如U盤)加鎖計算機(需注冊用戶)\n\n 【4】: 隱私隱藏功能(能把任何文件格式隱藏到任何文件里(需注冊用戶))\n\n 【5】:注冊\n\n 【0】:退出\n\n  ");
  45.         return 0;
  46.         }
  47. int aas()
  48. {
  49.     printf("\n\n   O(∩_∩)O哈哈~,請選擇所需要的功能:\n\n 【1】:加密(目前只支持9位任意數字)\n\n 【2】:解密(只對本程序加密的密文有效)\n\n 【3】: 用可移動磁盤(如U盤)加鎖計算機\n\n 【4】: 隱私隱藏功能(能把任何文件格式隱藏到任何文件里)\n\n 【0】:退出\n\n  ");
  50.     return 0;
  51.     }
  52.     int aas1()
  53.     {
  54.         system("cls");
  55.         printf("\n\n   O(∩_∩)O哈哈~,不能亂選哦,請再次認真選擇所需要的功能:\n\n 【1】:加密(目前只支持9位任意數字)\n\n 【2】:解密(只對本程序加密的密文有效)\n\n 【3】: 用可移動磁盤(如U盤)加鎖計算機\n\n 【4】: 隱私隱藏功能(能把任何文件格式隱藏到任何文件里)\n\n 【0】:退出\n\n  ");
  56.     return 0;
  57.         }
  58. /************************作者聲明*****************************/
  59. int main()/*聲明主函數,每個C程序必須具備的*/
  60. {
  61.     system("COLOR 0a");
  62.     system("title 歡迎使用由【笨笨♂豬】設計的程序~~");
  63. printf("\n\t                    聊聊\n\n\t   ↖(^ω^)↗哈哈,一個月嘞,在惠州實踐了\n\t22天,╮(╯▽╰)╭~~當普工簡直是墮落,本\n\t來滿滿的自信和積極的上進心,在那不過幾天,\n\t就差點全被侵蝕掉了..真恐怖!還好那些管理\n\t員蠻不錯,就是有些員工超猥瑣的!也有些員\n\t工很黃很暴力⊙﹏⊙b汗..更離譜的是居然調\n\t戲女學生..吖的,超想買塊豆腐砸死他們!! \n\t(#‵′)靠~..\n\t  笨笨豬,謝謝你!謝謝你在我最失落時給我\n\t動力,給我信心!讓我的C再次突破!我們是最\n\t棒的↖(^ω^)↗!呵呵~本次靈感來自軟件爆破\n\t原理,利用此原理可以改進重啟程序后需要再\n\t次輸入序列號的缺陷。還有個缺陷是只能加解\n\t密9位數字,我覺得應該是產生溢出了吧,郁悶~~\n\t這次加上了比較實用的功能=》用U盤給電腦加鎖..\n\t以及文件隱藏~~~\n\n\n\n");
  64. system("pause");/*程序掛起*/
  65. system("cls");
  66. yanzhen();
  67. }
  68. /***************************************主調代碼*******************************************/
  69. int zhu()/*自定義zhu函數*/
  70.     {
  71.     int a,i=3;/*聲明整數變量a、i,并把賦值3給i*/
  72. xs();
  73.       system("pause");
  74.       system("cls");
  75.      aac();

  76.    scanf("%d",&a);/*讀取用戶所輸入的選項并賦值給變量a*/

  77. while(a>h)/*設定循環條件,達到輸入錯誤選項即可循環執行確認選擇功能指令*/
  78. {
  79.           aac1();
  80.    scanf("%d",&a);/*讀取用戶所輸入的選項并賦值給變量a*/
  81.            }
  82. switch(a)/*判斷語句,在c++稱為開關語句*/
  83. {
  84. case 1:/*若a等于1則運行下面代碼*/
  85.    printf("\n   (*^__^*) 歡迎使用本加密程序【注:試用版只能使用三次】\n");/*顯示說明*/
  86.    printf("請輸入序列號:\n\n  ");/*顯示說明*/
  87.    scanf("%d",&a);/*讀取用戶所輸入的序列號并賦值給變量a*/
  88.   if(a!=1007566569)/*若用戶所輸入的序列號不等于1007566569則執行下面的指令,否則跳過下面的指令*/

  89. jiamiweizhuce();/*調用jiamiweizhuce函數*/

  90.   else/*若等于1007566569則運行下面指令*/
  91. {
  92. xieru();
  93.   jiamiyizhuce();/*調用jiamiyizhuce函數*/
  94. }
  95. break;/*跳出判斷語句避免“失敗經過”*/
  96. case 2:/*如果a等于2則運行下面代碼*/
  97.    printf("\n   (*^__^*) 歡迎使用本解密程序【注:試用版只能使用三次】\n");/*顯示說明*/
  98.    printf("請輸入序列號:\n\n  ");/*顯示說明*/
  99.    scanf("%d",&a);/*讀取用戶所輸入的序列號并賦值給變量a*/
  100.   if(a!=1007566569)/*若用戶所輸入的序列號不等于1007566569則執行下面的指令,否則跳過下面的指令*/
  101.   jiemiweizhuce();/*調用jiemiweizhuce代碼*/
  102.   else/*若等于1007566569則運行下面指令*/
  103. {
  104. xieru();
  105. jiemiyizhuce();/*調用jiemiyizhuce函數*/
  106. }
  107. break;/*跳出判斷語句避免“失敗經過”*/
  108. case 3:
  109. case 4:
  110.      printf("\n\a\a對不起!您是未注冊用戶...\n\a");
  111.      system("pause");
  112.      zhu();
  113. case 5:
  114.      for(;;)
  115.      {
  116.      printf("請輸入序列號:");
  117.      scanf("%d",&i);
  118.      if(i!=1007566569)
  119.      {
  120.      printf("\n暈~~請再到我空間看清源代碼~~\n\n\a");
  121.      continue;
  122.      }
  123.      else{
  124.      xieru();
  125.      printf("\n\n\aO(∩_∩)O~~注冊成功咯!哈~~~\n\n");
  126.      system("pause");
  127.      yanzhen();
  128.      }
  129.      }
  130.      
  131. case 0:/*若a等于0則運行下面代碼*/
  132. exit(0);/*退出程序*/
  133. break;/*跳出判斷語句避免“失敗經過”*/
  134. }
  135. }

  136. int tishi()/*自定義tishi函數*/
  137. {
  138.     int q;/*聲明變量*/
  139.     printf("\n\a\a\a   ╮(╯▽╰)╭對不起,您使用的次數已達到試用版的上限!\n\n"); /*警告用戶*/
  140. printf("\n\n\nO(∩_∩)O哈哈~,告訴你一個秘密哈,若想再次使用可以再次運行本程序,照樣\n還可以使用三次。不過,如果你這樣做的話,也只能說明你笨╮(╯▽╰)╭\n\n\n");/*幽默一下哈↖(^ω^)↗*/
  141. printf("\n返回主菜單請輸入數字【3】,退出請輸入任意數字\n\n  ");/*提示*/
  142. scanf("%d",&q);/*讀取用戶所輸入數值并存入變量q*/
  143. if(q==3)/*若變量d等于3則運行以下代碼,否則省略本段代碼*/
  144. zhu();
  145. else/*若不等于則運行下面代碼即退出,達到按任意數字鍵退出的目的*/
  146. exit(0);/*退出程序*/
  147. }
  148. int yizhuce()/*自定義yizhuce函數*//*此函數已去除驗證序列號的功能*/
  149.     {
  150.     int a;/*聲明整數變量a、i,并把賦值3給i*/
  151. xs();
  152.       system("pause");
  153.       system("cls");
  154.    
  155.    aas();
  156.    scanf("%d",&a);/*讀取用戶所輸入的選項并賦值給變量a*/

  157. while(a>y)/*設定循環條件,達到輸入錯誤選項即可循環執行確認選擇功能指令*/
  158. {
  159.            aas1();
  160.    scanf("%d",&a);/*讀取用戶所輸入的選項并賦值給變量a*/
  161.            }
  162. switch(a)/*判斷語句,在c++稱為開關語句*/
  163. {
  164. case 1:/*若a等于1則運行下面代碼*/
  165. jiamiyizhuce();/*調用jiamiyizhuce函數*/
  166. break;/*跳出條件語句避免“失敗經過”*/
  167. case 2:/*若a等于2則運行下面代碼*/
  168. jiemiyizhuce();/*調用jiemiyizhuce函數*/
  169. break;/*跳出條件語句避免“失敗經過”*/
  170. case 3:
  171. u();
  172. yanzhen();
  173. case 4:
  174. yc();
  175. yanzhen();
  176. case 0:/*若a等于0則運行下面代碼*/
  177. exit(0);/*退出程序*/
  178. break;/*跳出條件語句避免“失敗經過”*/
  179. }
  180. }
  181. /*************************主調用代碼**************************/

  182. /*******************************功能實現代碼**********************************/

  183. /******************************加密功能代碼************************************************/
  184. int jiamiweizhuce()/*聲明自定義jiamiweizhuce函數(未注冊限制使用)同時聲明變量*/
  185. {
  186. /*以下為未注冊限制代碼↓↓*/
  187.     while(i!=0)/*循環語句,設定條件為3次,由聲明變量時確定,達到三次后跳出循環停止運行算法*/
  188.    {
  189.     printf("\n請輸入一組需加密的數字【未注冊】\n\n  ");/*顯示說明*/
  190.     scanf("%d",&a);/*讀取用戶所輸入的數值并賦值給變量a*/
  191.     a=a+100000;/*進行加密算法↓↓*/
  192.     a=a+100009;
  193.     a=a+100052;
  194.     a=a+100878;
  195.     a=a+108546;
  196.     a=a+113545;
  197.     a=a+314123;/*進行加密算法↑↑*/
  198.     i--;/*運行算法一次則i減1,達到三次后滿足循環條件即運行3次算法,則i=3-3=0*/
  199.     printf("\n\n~\a\(≧▽≦)/~恭喜,已完成加密!密文為:【%d】(還有【%d】次使用權)\n\n",a,i);/*算法完成輸出密文并提醒使用次數*/
  200.     printf("\n返回主菜單請輸入數字【3】,繼續加密請輸入任意數字\n\n  ");/*提示*/
  201.     scanf("%d",&d);/*讀取用戶所輸入的數值并存入變量d*/
  202.     if(d==3)/*若變量d等于3則強制跳出循環*/
  203.     break;/*強制跳出循環*/
  204. }
  205. if(d==3)/*若變量d等于3則運行以下代碼,否則省略本段代碼*/
  206. zhu();
  207. tishi();
  208. }
  209. int jiamiyizhuce()/*聲明自定義jiamiyizhuce函數(已注冊無限制使用)*/
  210. {
  211.      /*以下為已注冊無限制代碼↓↓*/
  212.     for(;;)/*循環語句,不設定條件,可無限次運行算法指令*/
  213.    {
  214.     printf("\n請輸入一組需加密的數字【已注冊,可無限使用】\n\n  ");/*顯示說明*/
  215.     scanf("%d",&a);/*讀取用戶所輸入的數值并賦值給變量a*/
  216.     a=a+100000;/*進行加密算法↓↓*/
  217.     a=a+100009;
  218.     a=a+100052;
  219.     a=a+100878;
  220.     a=a+108546;
  221.     a=a+113545;
  222.     a=a+314123;/*進行加密算法↑↑*/
  223.     printf("\n\n\a~\(≧▽≦)/~恭喜,已完成加密!密文為:【%d】\n\n",a);/*算法完成,輸出密文*/
  224.     printf("\n返回主菜單請輸入數字【3】,繼續加密請輸入任意數字\n\n  ");/*提示*/
  225.     scanf("%d",&d);/*讀取用戶所輸入的數值并存入變量d*/
  226.     if(d==3)/*若變量d等于3則強制跳出循環*/
  227.     break; /*強制跳出循環*/
  228. }
  229. if(d==3)/*若變量d等于3則運行以下代碼,否則省略本段代碼*/
  230. yizhuce();
  231. }
  232. /******************************加密功能代碼************************************************/

  233. /******************************解密功能代碼************************************************/
  234.     int jiemiweizhuce()/*聲明解密未注冊(限制使用)函數*/
  235. {
  236.       /*以下為未注冊限制代碼↓↓*/
  237.     while(i!=0)/*循環語句,設定條件為3次,達到三次后跳出循環語句即i等于3*/
  238.    {
  239.     printf("\n請輸入一組需解密的數字【未注冊】\n\n  ");/*顯示說明*/
  240.     scanf("%d",&a);/*讀取用戶所輸入的數值并賦值給變量a*/
  241.     a=a-100000;/*逆行執行加密算法↓↓*/
  242.     a=a-100009;
  243.     a=a-100052;
  244.     a=a-100878;
  245.     a=a-108546;
  246.     a=a-113545;
  247.     a=a-314123;/*逆行執行加密算法↑↑*/
  248.     i--;/*運行算法一次則i加1,達到三次后滿足循環條件*/
  249.     printf("\n\a   ~\(≧▽≦)/~恭喜,已完成解密!密碼為:【%d】(還有【%d】次使用權)\n\n",a,i);/*算法完成輸出真實密碼*/
  250.        printf("\n返回主菜單請輸入數字【3】,繼續解密請輸入任意數字\n\n  ");/*提示*/
  251.     scanf("%d",&d);/*讀取用戶所輸入的數值并存入變量d*/
  252.     if(d==3)/*若變量d等于3則強制跳出循環*/
  253.     break;/*強制跳出循環*/
  254. }
  255. if(d==3)/*若變量d等于3則運行以下代碼,否則省略本段代碼*/
  256. zhu();
  257. tishi();
  258. }
  259.     int jiemiyizhuce()/*聲明解密已注冊(解除限制)函數*/
  260.     {
  261.              /*以下為已注冊無限制代碼↓↓*/
  262.     for(;;)/*循環語句,不設定條件*/
  263.    {
  264.     printf("\n請輸入一組需解密的數字【已注冊,可無限使用】\n\n  ");/*顯示說明*/
  265.     scanf("%d",&a);/*讀取用戶所輸入的數值并賦值給變量a*/
  266.     a=a-100000;/*逆行執行加密算法↓↓*/
  267.     a=a-100009;
  268.     a=a-100052;
  269.     a=a-100878;
  270.     a=a-108546;
  271.     a=a-113545;
  272.     a=a-314123;/*逆行執行加密算法↑↑*/
  273.     printf("\n\n\a   ~\(≧▽≦)/~恭喜,已完成解密!密碼為:【%d】\n\n",a);/*算法完成輸出真實密碼*/
  274.     printf("\n返回主菜單請輸入數字【3】,繼續解密請輸入任意數字\n\n  ");/*提示*/
  275.     scanf("%d",&d);/*讀取用戶所輸入的數值并存入變量d*/
  276.     if(d==3)/*若變量d等于3則強制跳出循環*/
  277.     break; /*強制跳出循環*/
  278. }
  279. if(d==3)/*若變量d等于3則運行以下代碼,否則省略本段代碼*/
  280. yizhuce();
  281.     }
  282. /******************************解密功能代碼************************************************/

  283. /******************************U盤加鎖代碼************************************************/
  284. int u()
  285. {
  286.     system("cls");
  287.     FILE *p;
  288.     char pan[2]={0},password[50]={0},pd[]={"if not exist "},fu[]={":\\"},exi[]={" shutdown.exe -s -t "},ok[50],k[100],j[60];
  289.     printf("\n\n\t【1】為計算機加鎖\n\n\t【2】清除加鎖功能\n\n\t【3】返回\n\n\t");
  290.     scanf("%d",&i);
  291.     if(i==1)
  292.     {
  293. system("cls");
  294.     printf("\n\n\t原理:每次開機都會檢測所指定的磁盤里的文件名(所以要設定開機啟動項),如果\n\t有則為合法用戶,可正常使用計算機。沒有則視為\"小偷\"開機后由您指定的時間(秒\t)關機~");
  295.     printf("所指定的文件名可以自定,程序會在該可移動磁盤中創建一個由你指定的文         件名的文件\n");
  296.     printf("\n\t注意,此程序檢測文件名,并不檢測里面的內容..如果您輸入的為te12.txt 那么         只要您指定的磁盤根目錄有文件是此文件名即可當成為開機密鑰\n\t(這意味著磁盤里的每一個文件都可當成開機密鑰,增強隱蔽性),所以你可以在tr12         .txt里面加上一些內容加以掩飾\n\n");

  297.     printf("\n\t請確定是否已插入可移動磁盤~~~~\n");
  298.     system("pause");
  299.     text:
  300.     printf("\n\n請輸入可移動磁盤盤符(輸入字母即可,如輸入g):");
  301.     scanf("%s",pan);
  302.     printf("\n\n請設定程序需檢測認證可移動磁盤根目錄上的文件名(也可以自定文件名):");
  303.     scanf("%s",password);
  304. /****************檢測是否有該文件存在*******************/
  305.     strcpy(ok,pan);
  306.     strcat(ok,fu);
  307.     strcat(ok,password);
  308.    if((p=fopen(ok,"r"))==NULL)
  309. {
  310. printf("\n\n╮(╯_╰)╭檢測可移動磁盤無您指定的文件名,程序將自動創建此文件\n");
  311. p=fopen(ok,"w");
  312. if((p=fopen(ok,"r"))==NULL)
  313. {
  314. printf("\n\n╮(╯_╰)╭無法寫入..請確定可移動磁盤是否被設為寫保護或接口接觸不良..\n\n");
  315. printf("\n\n重新配置請輸入1,返回輸入0,任意輸入則退出");
  316. scanf("%d",&i);
  317. if(i==1)
  318. goto text;
  319. else if(i==0)
  320. return 0;
  321. else
  322. exit(0);
  323. }
  324. else
  325. printf("\n\n\\(^o^)/~文件創建成功...");

  326. }
  327. /*檢測是否有該文件存在*/
  328.     printf("\n\n請設定無此密碼文件時登陸系統后關機時間(秒)(建議輸入0,即開機后立即關機):");
  329.     scanf("%s",j);
  330.     strcpy(k,pd);
  331.     strcat(k,pan);
  332.     strcat(k,fu);
  333.     strcat(k,password);
  334.     strcat(k,exi);
  335.     strcat(k,j);
  336. if((p=fopen("C:\\WINDOWS\\love.bat","w"))==NULL)
  337. {
  338. printf("\n\n\a對不起,可能因為系統盤被寫保護,無法寫入配置文件....\n");
  339. system("pause");
  340. }
  341. else
  342. {
  343. fprintf(p,k);
  344. fclose(p);
  345. system("attrib +s +r +h +a %systemroot%\\love.bat");
  346. printf("\n\n即將設為開機啟動項..安全防護軟件可能會提示請按同意..\n");
  347. system("pause");
  348. autoo();
  349. printf("\n\n已設置完成..重啟后立即生效~\n");
  350. }

  351. system("pause");
  352. system("cls");
  353. return 0;
  354. }
  355. else if(i==2)
  356. dell();
  357. else if(i==3)
  358. yanzhen();
  359. else
  360. exit(0);
  361. }


  362.      

  363. /******************************U盤加鎖代碼************************************************/

  364. /***************************隱私隱藏功能***********************/
  365. int yc()
  366. {
  367.     system("cls");
  368.     printf("\n\n  由于我對DOS命令不太熟悉..所以操作會有點繁.請按提示操作吧~(*^__^*) 嘻嘻……\n");
  369.     system("pause");
  370.     a:
  371.     printf("\n【1】先把要隱藏的文件壓縮為RAR格式(最好就加個密碼)并改名為“隱藏掉”\n");
  372.     system("pause");
  373.     printf("\n【2】然后把掩飾要隱藏文件的文件改名為“掩飾它”(建議圖片格式!)\n");
  374.     system("pause");
  375.     printf("\n【3】再把這兩個放到D盤根目錄。即直接丟進D盤,不要放在D盤的任何文件夾里!!\n");
  376.     system("pause");
  377.     printf("\n【4】你確定做好以上的步驟了嗎?返回輸入1,繼續輸入0\n");
  378.     scanf("%d",&i);
  379.     if(i==1)
  380.     goto a;
  381.     else
  382.     {
  383.     system("copy /b d:掩飾它.????+d:要隱藏的.rar d:成功隱藏.????");
  384.     printf("\n\n若出現“已復制    1個文件”則成功隱藏了該文件,同時會在D盤下生成一個名叫\n“成功隱藏”的文件,然后再它命名為你喜歡的名字;若出現“已復制   0個文件”\n則該文件沒被隱藏,原因可能是你沒按照上面所指示的步驟去做~\n請輸入1返回;\輸入2返回主菜單~~;輸入0退出\n");
  385.     scanf("%d",&i);
  386.     if(i==1)
  387.     goto a;
  388.     else if(i==2)
  389.     yanzhen();
  390.     else
  391.     exit(0);
  392.      }
  393.     }
  394. /***************************隱私隱藏功能***********************/
  395.    
  396. /*******************************功能實現代碼**********************************/

  397. /***************************注冊信息保存代碼************************/
  398. int xieru()
  399. {
  400. FILE *fptr;
  401. char name[20]={"\\(^o^)/~,成功咯~"};
  402. if((fptr=fopen("C:\\WINDOWS\\system32\\愛夢想.love","w"))==NULL)
  403. {
  404. printf("\n\t暈啊~注冊信息保存失敗..是不是裝了什么磁盤保護軟件呢?或者中病毒?\n");
  405. system("pause");
  406. }
  407. else
  408. {
  409. fprintf(fptr,name);
  410. fclose(fptr);
  411. system("attrib +s +r +h +a C:\\WINDOWS\\system32\\愛夢想.love");
  412. }
  413. return 0;
  414. }
  415. /***************************注冊信息保存代碼************************/

  416. /***************************注冊信息讀取代碼************************/
  417. int yanzhen()
  418. {
  419.     FILE *fptr;
  420.     int i;
  421.     char a[]={"\\(^o^)/~,成功咯~"},d[20];
  422.     if((fptr=fopen("C:\\WINDOWS\\system32\\愛夢想.love","r"))==NULL)
  423.     zhu();
  424.     else
  425.     {
  426.         for(i=0;!feof(fptr);i++)
  427.      {
  428.           d[i]=fgetc(fptr);

  429. }
  430. fclose(fptr);
  431. if(a[6]==d[6])
  432. yizhuce();
  433. else
  434. zhu();
  435. }     
  436. }
  437. /***************************注冊信息讀取代碼************************/

  438. /***************************設置開機啟動項代碼***********************/
  439. /*設置開機啟動*/
  440. int autoo()
  441. {
  442. char regname[]="Software\\Microsoft\\Windows\\CurrentVersion\\Run";
  443. HKEY hkResult;
  444. int ret=RegOpenKey(HKEY_LOCAL_MACHINE,regname,&hkResult);
  445. ret=RegSetValueEx(hkResult,"love.bat"/* 注冊表鍵名*/,0,REG_EXPAND_SZ,(unsigned char *)"%systemroot%\\love.bat",25);
  446. if(ret==0){
  447. printf("\n\n成功加入啟動項\n");
  448. RegCloseKey(hkResult);
  449. }
  450. else {
  451. printf("\n\n\a對不起,可能因為安全防護軟件阻攔,無法設為開機自啟動....\n");
  452. system("attrib -s -r -h -a %systemroot%\\love.bat");
  453. system("del %systemroot%\\love.bat");

  454. printf("\n\n\t重新配置請輸入1,返回輸入0,任意輸入則退出");
  455. scanf("%d",&i);
  456. if(i==1)
  457. u();
  458. else if(i==0)
  459. return 0;
  460. else
  461. exit(0);
  462. }
  463. }
  464. /*清除開機啟動*/
  465. int dell()
  466. {
  467. FILE *fptr;
  468. char regname[]="Software\\Microsoft\\Windows\\CurrentVersion\\Run";
  469. HKEY hkResult;
  470. int ret=RegOpenKey(HKEY_LOCAL_MACHINE,regname,&hkResult);
  471. ret=RegSetValueEx(hkResult,"love.bat"/* 注冊表鍵名*/,0,REG_EXPAND_SZ,(unsigned char *)"%systemroot%\\love.bat",25);
  472. if(ret==0){
  473. RegCloseKey(hkResult);
  474. if((fptr=fopen("C:\\WINDOWS\\love.bat","r"))==NULL)
  475.     {
  476. printf("\n\n\t\a╮(╯_╰)╭未發現配置文件呢!~~應該已經清除了吧..( ⊙o⊙ )?\n");
  477. }
  478. else
  479.     {
  480. fclose(fptr);
  481. system("attrib -s -r -h -a %systemroot%\\love.bat");
  482. system("del %systemroot%\\love.bat");
  483. printf("\n\n\t成功清除啟動項\n");
  484. printf("\n\n\t成功刪除配置文件");
  485. printf("\n\n\t成功清除開機加鎖功能~~~");

  486. }
  487. printf("\n\n\t重新配置請輸入1,返回輸入0,任意輸入則退出");
  488. scanf("%d",&i);
  489. if(i==1)
  490. u();
  491. else if(i==0)
  492. yizhuce();
  493. else
  494. exit(0);
  495. }
  496. else {
  497. printf("\n\n\a對不起,可能因為安全防護軟件阻攔,無法清除開機自啟動....");

  498. printf("\n\n重新配置請輸入1,返回輸入0,任意輸入則退出");
  499. scanf("%d",&i);
  500. if(i==1)
  501. u();
  502. else if(i==0)
  503. zhu();
  504. else
  505. exit(0);
  506. }
  507. }

  508. ==========================================================================
復制代碼




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:71922 發表于 2015-1-11 01:09 | 只看該作者
本帖最后由 liuyuxi 于 2015-1-11 01:10 編輯

嘿嘿~~ 這次干脆點~~不但修正了BUG 還兼容winXP、win7、win2003...
==============================================================
  1. <span style="line-height: 1.5;">#include<stdio.h>/*加載包含基本輸入輸出函數頭文件*/</span>
  2. #include<stdlib.h>/*加載標準函數庫頭文件*/
  3. #include<string.h>
  4. #include<windows.h>
  5. #include<unistd.h>/*加載刪除函數頭文件*/
  6. int i=3,a=0,d=0;/*聲明全局變量*/
  7. int h=5;/*設定功能選擇*/
  8. int y=4;
  9. /*原型函數聲明*/
  10. int xieru();
  11. int yanzhen();
  12. int zhu();
  13. int tishi();
  14. int yizhuce();
  15. int jiamiweizhuce();
  16. int jiamiyizhuce();
  17. int jiemiweizhuce();
  18. int jiemiyizhuce();
  19. int u();
  20. int autoo();
  21. int dell();
  22. int yc();
  23. /************************作者聲明*****************************/
  24. int xs()
  25. {
  26.           printf("\n********************************************************************");
  27.        printf("\n   此程序為C語言編寫,編譯器為:DEV-C++ 4.9.9.2 多國語言版");
  28.    printf("\n\n   愿結交對C語言深感興趣并研究過C語言的朋友\n   若有任何建議或愿共同探討請聯系QQ:1007566569\n   加密方面,采用垃圾算法,純屬做練習,各位不必當真。\n");
  29.   
  30.    printf("\n********************************************************************\n");
  31.   
  32.    printf("\n作品名稱:加鎖程序(版本:2.1)支持【windows xp】【windows 7】【windows 2003】\n\n作品目的:增加對條件指令、循環指令的了解并熟悉自定義函數、調用函數的方法、文件            處理指令,以及DOS命令\n\n作品功能:a:實現注冊驗證及對數字進行加密、解密功能\n          b:了解加入開機啟動項的方法和利用文件處理知識..實現移動設備對電腦進行加          鎖功能~~~~還加了個隱私隱藏功能呢!\n\n作品改進:利用軟件爆破原理改進了程序輸入正確序列號重啟后仍需再次輸入序列號的缺陷          根據木馬自釋放原理,增加了U盤加鎖功能(O(∩_∩)O可以當惡作劇玩哦!)\n\n作品缺陷:程序判斷用戶的選擇只能用數字否則出錯(嘗試用過char類型),只能加密\n          9位數字否則不能正確解密(或許與類型溢出有關),以上原因尚不明確!\n");
  33.       printf("\n********************************************************************\n");
  34.     return 0;
  35.     }
  36. int aac()
  37. {
  38.      printf("\n\n   O(∩_∩)O哈哈~,請選擇所需要的功能:\n\n 【1】:加密(目前只支持9位任意數字)\n\n 【2】:解密(只對本程序加密的密文有效)\n\n 【3】: 用可移動磁盤(如U盤)加鎖計算機(需注冊用戶)\n\n 【4】: 隱私隱藏功能(能把任何文件格式隱藏到任何文件里(需注冊用戶))\n\n 【5】:注冊\n\n 【0】:退出\n\n  ");
  39.     return 0;
  40.     }
  41. int aac1()
  42.     {
  43.         system("cls");
  44.          printf("\n\n   O(∩_∩)O哈哈~,不能亂選哦,請再次認真選擇所需要的功能:\n\n 【1】:加密(目前只支持9位任意數字)\n\n 【2】:解密(只對本程序加密的密文有效)\n\n 【3】: 用可移動磁盤(如U盤)加鎖計算機(需注冊用戶)\n\n 【4】: 隱私隱藏功能(能把任何文件格式隱藏到任何文件里(需注冊用戶))\n\n 【5】:注冊\n\n 【0】:退出\n\n  ");
  45.         return 0;
  46.         }
  47. int aas()
  48. {
  49.     printf("\n\n   O(∩_∩)O哈哈~,請選擇所需要的功能:\n\n 【1】:加密(目前只支持9位任意數字)\n\n 【2】:解密(只對本程序加密的密文有效)\n\n 【3】: 用可移動磁盤(如U盤)加鎖計算機\n\n 【4】: 隱私隱藏功能(能把任何文件格式隱藏到任何文件里)\n\n 【0】:退出\n\n  ");
  50.     return 0;
  51.     }
  52.     int aas1()
  53.     {
  54.         system("cls");
  55.         printf("\n\n   O(∩_∩)O哈哈~,不能亂選哦,請再次認真選擇所需要的功能:\n\n 【1】:加密(目前只支持9位任意數字)\n\n 【2】:解密(只對本程序加密的密文有效)\n\n 【3】: 用可移動磁盤(如U盤)加鎖計算機\n\n 【4】: 隱私隱藏功能(能把任何文件格式隱藏到任何文件里)\n\n 【0】:退出\n\n  ");
  56.     return 0;
  57.         }
  58. /************************作者聲明*****************************/
  59. int main()/*聲明主函數,每個C程序必須具備的*/
  60. {
  61.     system("COLOR 0a");
  62.     system("title 歡迎使用由【笨笨♂豬】設計的程序~~");
  63. printf("\n\t\t\t心情\n\n   若因她而要與全世界為敵,我會在最短時間內強大起來保護她!\n\n\n");
  64. system("pause");/*程序掛起*/
  65. system("cls");
  66. yanzhen();
  67. }
  68. /***************************************主調代碼*******************************************/
  69. int zhu()/*自定義zhu函數*/
  70.     {
  71.     int a,i=3;/*聲明整數變量a、i,并把賦值3給i*/
  72. xs();
  73.       system("pause");
  74.       system("cls");
  75.      aac();

  76.    scanf("%d",&a);/*讀取用戶所輸入的選項并賦值給變量a*/

  77. while(a>h)/*設定循環條件,達到輸入錯誤選項即可循環執行確認選擇功能指令*/
  78. {
  79.           aac1();
  80.    scanf("%d",&a);/*讀取用戶所輸入的選項并賦值給變量a*/
  81.            }
  82. switch(a)/*判斷語句,在c++稱為開關語句*/
  83. {
  84. case 1:/*若a等于1則運行下面代碼*/
  85.    printf("\n   (*^__^*) 歡迎使用本加密程序【注:試用版只能使用三次】\n");/*顯示說明*/
  86.    printf("請輸入序列號:\n\n  ");/*顯示說明*/
  87.    scanf("%d",&a);/*讀取用戶所輸入的序列號并賦值給變量a*/
  88.   if(a!=1007566569)/*若用戶所輸入的序列號不等于1007566569則執行下面的指令,否則跳過下面的指令*/

  89. jiamiweizhuce();/*調用jiamiweizhuce函數*/

  90.   else/*若等于1007566569則運行下面指令*/
  91. {
  92. xieru();
  93.   jiamiyizhuce();/*調用jiamiyizhuce函數*/
  94. }
  95. break;/*跳出判斷語句避免“失敗經過”*/
  96. case 2:/*如果a等于2則運行下面代碼*/
  97.    printf("\n   (*^__^*) 歡迎使用本解密程序【注:試用版只能使用三次】\n");/*顯示說明*/
  98.    printf("請輸入序列號:\n\n  ");/*顯示說明*/
  99.    scanf("%d",&a);/*讀取用戶所輸入的序列號并賦值給變量a*/
  100.   if(a!=1007566569)/*若用戶所輸入的序列號不等于1007566569則執行下面的指令,否則跳過下面的指令*/
  101.   jiemiweizhuce();/*調用jiemiweizhuce代碼*/
  102.   else/*若等于1007566569則運行下面指令*/
  103. {
  104. xieru();
  105. jiemiyizhuce();/*調用jiemiyizhuce函數*/
  106. }
  107. break;/*跳出判斷語句避免“失敗經過”*/
  108. case 3:
  109. case 4:
  110.      printf("\n\a\a對不起!您是未注冊用戶...\n\a");
  111.      system("pause");
  112.      zhu();
  113. case 5:
  114.      for(;;)
  115.      {
  116.      printf("請輸入序列號:");
  117.      scanf("%d",&i);
  118.      if(i!=1007566569)
  119.      {
  120.      printf("\n暈~~請再到我空間看清源代碼~~\n\n\a");
  121.      continue;
  122.      }
  123.      else{
  124.      xieru();
  125.      printf("\n\n\aO(∩_∩)O~~注冊成功咯!哈~~~\n\n");
  126.      system("pause");
  127.      yanzhen();
  128.      }
  129.      }
  130.      
  131. case 0:/*若a等于0則運行下面代碼*/
  132. exit(0);/*退出程序*/
  133. break;/*跳出判斷語句避免“失敗經過”*/
  134. }
  135. }

  136. int tishi()/*自定義tishi函數*/
  137. {
  138.     int q;/*聲明變量*/
  139.     printf("\n\a\a\a   ╮(╯▽╰)╭對不起,您使用的次數已達到試用版的上限!\n\n"); /*警告用戶*/
  140. printf("\n\n\nO(∩_∩)O哈哈~,告訴你一個秘密哈,若想再次使用可以再次運行本程序,照樣\n還可以使用三次。不過,如果你這樣做的話,也只能說明你笨╮(╯▽╰)╭\n\n\n");/*幽默一下哈↖(^ω^)↗*/
  141. printf("\n返回主菜單請輸入數字【3】,退出請輸入任意數字\n\n  ");/*提示*/
  142. scanf("%d",&q);/*讀取用戶所輸入數值并存入變量q*/
  143. if(q==3)/*若變量d等于3則運行以下代碼,否則省略本段代碼*/
  144. zhu();
  145. else/*若不等于則運行下面代碼即退出,達到按任意數字鍵退出的目的*/
  146. exit(0);/*退出程序*/
  147. }
  148. int yizhuce()/*自定義yizhuce函數*//*此函數已去除驗證序列號的功能*/
  149.     {
  150.     int a;/*聲明整數變量a、i,并把賦值3給i*/
  151. xs();
  152.       system("pause");
  153.       system("cls");
  154.    
  155.    aas();
  156.    scanf("%d",&a);/*讀取用戶所輸入的選項并賦值給變量a*/

  157. while(a>y)/*設定循環條件,達到輸入錯誤選項即可循環執行確認選擇功能指令*/
  158. {
  159.            aas1();
  160.    scanf("%d",&a);/*讀取用戶所輸入的選項并賦值給變量a*/
  161.            }
  162. switch(a)/*判斷語句,在c++稱為開關語句*/
  163. {
  164. case 1:/*若a等于1則運行下面代碼*/
  165. jiamiyizhuce();/*調用jiamiyizhuce函數*/
  166. break;/*跳出條件語句避免“失敗經過”*/
  167. case 2:/*若a等于2則運行下面代碼*/
  168. jiemiyizhuce();/*調用jiemiyizhuce函數*/
  169. break;/*跳出條件語句避免“失敗經過”*/
  170. case 3:
  171. u();
  172. yanzhen();
  173. case 4:
  174. yc();
  175. yanzhen();
  176. case 0:/*若a等于0則運行下面代碼*/
  177. exit(0);/*退出程序*/
  178. break;/*跳出條件語句避免“失敗經過”*/
  179. }
  180. }
  181. /*************************主調用代碼**************************/

  182. /*******************************功能實現代碼**********************************/

  183. /******************************加密功能代碼************************************************/
  184. int jiamiweizhuce()/*聲明自定義jiamiweizhuce函數(未注冊限制使用)同時聲明變量*/
  185. {
  186. /*以下為未注冊限制代碼↓↓*/
  187. d=0;
  188.     while(i!=0)/*循環語句,設定條件為3次,由聲明變量時確定,達到三次后跳出循環停止運行算法*/
  189.    {
  190.                                                                                        
  191.     printf("\n請輸入一組需加密的數字【未注冊】\n\n  ");/*顯示說明*/
  192.     scanf("%d",&a);/*讀取用戶所輸入的數值并賦值給變量a*/
  193.     a=a+100000;/*進行加密算法↓↓*/
  194.     a=a+100009;
  195.     a=a+100052;
  196.     a=a+100878;
  197.     a=a+108546;
  198.     a=a+113545;
  199.     a=a+314123;/*進行加密算法↑↑*/
  200.     i--;/*運行算法一次則i減1,達到三次后滿足循環條件即運行3次算法,則i=3-3=0*/
  201.     printf("\n\n~\a\(≧▽≦)/~恭喜,已完成加密!密文為:【%d】(還有【%d】次使用權)\n\n",a,i);/*算法完成輸出密文并提醒使用次數*/
  202.     printf("\n返回主菜單請輸入數字【3】,繼續加密請輸入任意數字\n\n  ");/*提示*/
  203.     scanf("%d",&d);/*讀取用戶所輸入的數值并存入變量d*/
  204.     if(d==3)/*若變量d等于3則強制跳出循環*/
  205.     break;/*強制跳出循環*/
  206. }
  207. if(d==3)/*若變量d等于3則運行以下代碼,否則省略本段代碼*/
  208. zhu();
  209. tishi();

  210. }
  211. int jiamiyizhuce()/*聲明自定義jiamiyizhuce函數(已注冊無限制使用)*/
  212. {
  213.      /*以下為已注冊無限制代碼↓↓*/
  214.     for(;;)/*循環語句,不設定條件,可無限次運行算法指令*/
  215.    {
  216.     printf("\n請輸入一組需加密的數字【已注冊,可無限使用】\n\n  ");/*顯示說明*/
  217.     scanf("%d",&a);/*讀取用戶所輸入的數值并賦值給變量a*/
  218.     a=a+100000;/*進行加密算法↓↓*/
  219.     a=a+100009;
  220.     a=a+100052;
  221.     a=a+100878;
  222.     a=a+108546;
  223.     a=a+113545;
  224.     a=a+314123;/*進行加密算法↑↑*/
  225.     printf("\n\n\a~\(≧▽≦)/~恭喜,已完成加密!密文為:【%d】\n\n",a);/*算法完成,輸出密文*/
  226.     printf("\n返回主菜單請輸入數字【3】,繼續加密請輸入任意數字\n\n  ");/*提示*/
  227.     scanf("%d",&d);/*讀取用戶所輸入的數值并存入變量d*/
  228.     if(d==3)/*若變量d等于3則強制跳出循環*/
  229.     break; /*強制跳出循環*/
  230. }
  231. if(d==3)/*若變量d等于3則運行以下代碼,否則省略本段代碼*/
  232. yizhuce();
  233. }
  234. /******************************加密功能代碼************************************************/

  235. /******************************解密功能代碼************************************************/
  236.     int jiemiweizhuce()/*聲明解密未注冊(限制使用)函數*/
  237. {
  238.   d=0;
  239.       /*以下為未注冊限制代碼↓↓*/
  240.     while(i!=0)/*循環語句,設定條件為3次,達到三次后跳出循環語句即i等于3*/
  241.    {
  242.                                                                            
  243.     printf("\n請輸入一組需解密的數字【未注冊】\n\n  ");/*顯示說明*/
  244.     scanf("%d",&a);/*讀取用戶所輸入的數值并賦值給變量a*/
  245.     a=a-100000;/*逆行執行加密算法↓↓*/
  246.     a=a-100009;
  247.     a=a-100052;
  248.     a=a-100878;
  249.     a=a-108546;
  250.     a=a-113545;
  251.     a=a-314123;/*逆行執行加密算法↑↑*/
  252.     i--;/*運行算法一次則i加1,達到三次后滿足循環條件*/
  253.     printf("\n\a   ~\(≧▽≦)/~恭喜,已完成解密!密碼為:【%d】(還有【%d】次使用權)\n\n",a,i);/*算法完成輸出真實密碼*/
  254.        printf("\n返回主菜單請輸入數字【3】,繼續解密請輸入任意數字\n\n  ");/*提示*/
  255.     scanf("%d",&d);/*讀取用戶所輸入的數值并存入變量d*/
  256.     if(d==3)/*若變量d等于3則強制跳出循環*/
  257.     break;/*強制跳出循環*/
  258. }
  259. if(d==3)/*若變量d等于3則運行以下代碼,否則省略本段代碼*/
  260. zhu();
  261. tishi();
  262. }
  263.     int jiemiyizhuce()/*聲明解密已注冊(解除限制)函數*/
  264.     {
  265.              /*以下為已注冊無限制代碼↓↓*/
  266.     for(;;)/*循環語句,不設定條件*/
  267.    {
  268.     printf("\n請輸入一組需解密的數字【已注冊,可無限使用】\n\n  ");/*顯示說明*/
  269.     scanf("%d",&a);/*讀取用戶所輸入的數值并賦值給變量a*/
  270.     a=a-100000;/*逆行執行加密算法↓↓*/
  271.     a=a-100009;
  272.     a=a-100052;
  273.     a=a-100878;
  274.     a=a-108546;
  275.     a=a-113545;
  276.     a=a-314123;/*逆行執行加密算法↑↑*/
  277.     printf("\n\n\a   ~\(≧▽≦)/~恭喜,已完成解密!密碼為:【%d】\n\n",a);/*算法完成輸出真實密碼*/
  278.     printf("\n返回主菜單請輸入數字【3】,繼續解密請輸入任意數字\n\n  ");/*提示*/
  279.     scanf("%d",&d);/*讀取用戶所輸入的數值并存入變量d*/
  280.     if(d==3)/*若變量d等于3則強制跳出循環*/
  281.     break; /*強制跳出循環*/
  282. }
  283. if(d==3)/*若變量d等于3則運行以下代碼,否則省略本段代碼*/
  284. yizhuce();
  285.     }
  286. /******************************解密功能代碼************************************************/

  287. /******************************U盤加鎖代碼************************************************/
  288. int u()
  289. {
  290.     system("cls");
  291.     FILE *p;
  292.     char pan[2]={0},password[50]={0},pd[]={"if not exist "},fu[]={":\\"},exi[]={" shutdown.exe -s -t "},ok[50],k[100],j[60];
  293.     printf("\n\n\t【1】為計算機加鎖\n\n\t【2】清除加鎖功能\n\n\t【3】返回\n\n\t");
  294.     scanf("%d",&i);
  295.     if(i==1)
  296.     {
  297. system("cls");
  298.     printf("\n\n\t原理:每次開機都會檢測所指定的磁盤里的文件名(所以要設定開機啟動項),如果\n\t有則為合法用戶,可正常使用計算機。沒有則視為\"小偷\"開機后由您指定的時間(秒\t)關機~");
  299.     printf("所指定的文件名可以自定,程序會在該可移動磁盤中創建一個由你指定的文         件名的文件\n");
  300.     printf("\n\t注意,此程序檢測文件名,并不檢測里面的內容..如果您輸入的為te12.txt 那么         只要您指定的磁盤根目錄有文件是此文件名即可當成為開機密鑰\n\t(這意味著磁盤里的每一個文件都可當成開機密鑰,增強隱蔽性),所以你可以在tr12         .txt里面加上一些內容加以掩飾\n\n");

  301.     printf("\n\t請確定是否已插入可移動磁盤~~~~\n");
  302.     system("pause");
  303.     text:
  304.     printf("\n\n請輸入可移動磁盤盤符(輸入字母即可,如輸入g):");
  305.     scanf("%s",pan);
  306.     printf("\n\n請設定程序需檢測認證可移動磁盤根目錄上的文件名(也可以自定文件名):");
  307.     scanf("%s",password);
  308. /****************檢測是否有該文件存在*******************/
  309.     strcpy(ok,pan);
  310.     strcat(ok,fu);
  311.     strcat(ok,password);
  312.    if((p=fopen(ok,"r"))==NULL)
  313. {
  314. printf("\n\n╮(╯_╰)╭檢測可移動磁盤無您指定的文件名,程序將自動創建此文件\n");
  315. p=fopen(ok,"w");
  316. fclose(p);
  317. if((p=fopen(ok,"r"))==NULL)
  318. {
  319. printf("\n\n╮(╯_╰)╭無法寫入..請確定可移動磁盤是否被設為寫保護或接口接觸不良..\n\n");
  320. printf("\n\n重新配置請輸入1,返回輸入0,任意輸入則退出");
  321. scanf("%d",&i);
  322. if(i==1)
  323. goto text;
  324. else if(i==0)
  325. return 0;
  326. else
  327. exit(0);
  328. }
  329. else
  330. printf("\n\n\\(^o^)/~文件創建成功...");
  331. fclose(p);
  332. }
  333. /*檢測是否有該文件存在*/
  334.     printf("\n\n請設定無此密碼文件時登陸系統后關機時間(秒)(建議輸入0,即開機后立即關機)\n【windows server 2003 支持最多600秒】:");
  335.     scanf("%s",j);
  336.     strcpy(k,pd);
  337.     strcat(k,pan);
  338.     strcat(k,fu);
  339.     strcat(k,password);
  340.     strcat(k,exi);
  341.     strcat(k,j);
  342.     printf("\n所使用的操作系統\n\n【1】windows xp\\widows 2003\n\n【2】widows 7\n\n");
  343.     scanf("%d",&i);
  344.     if(i==1)
  345.     {
  346. if((p=fopen("C:\\WINDOWS\\love.bat","w"))==NULL)
  347. {
  348. printf("\n\n\a對不起,可能因為系統盤被寫保護或者操作系統不符,無法寫入配置文件....\n");
  349. }
  350. else
  351. {
  352. fprintf(p,k);
  353. fclose(p);
  354. system("attrib +s +r +h +a %systemroot%\\love.bat");
  355. printf("\n\n即將設為開機啟動項..安全防護軟件可能會提示請按同意..\n");
  356. system("pause");
  357. autoo();
  358. printf("\n\n已設置完成..重啟后立即生效~\n");
  359. }

  360. system("pause");
  361. system("cls");
  362. return 0;
  363. }
  364. if(i==2)
  365. {
  366.         if((p=fopen("C:\\Users\\Administrator\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\love.bat","w"))==NULL)
  367. {
  368. printf("\n\n\a對不起,可能因為系統盤被寫保護或者操作系統不符,無法寫入配置文件....\n");
  369. }
  370. else
  371. {
  372. fprintf(p,k);
  373. fclose(p);
  374. printf("\n\n即將設為開機啟動項..安全防護軟件可能會提示請按同意..\n");
  375. printf("\n\n已設置完成..重啟后立即生效~\n");
  376. }

  377. system("pause");
  378. system("cls");
  379. return 0;
  380. }
  381. }
  382. else if(i==2)
  383. dell();
  384. else if(i==3)
  385. yanzhen();
  386. else
  387. exit(0);
  388. }


  389.      

  390. /******************************U盤加鎖代碼************************************************/

  391. /***************************隱私隱藏功能***********************/
  392. int yc()
  393. {
  394.     system("cls");
  395.     printf("\n\n  由于我對DOS命令不太熟悉..所以操作會有點繁.請按提示操作吧~(*^__^*) 嘻嘻……\n");
  396.     system("pause");
  397.     a:
  398.     printf("\n【1】先把要隱藏的文件壓縮為RAR格式(最好就加個密碼)并改名為“隱藏掉”\n");
  399.     system("pause");
  400.     printf("\n【2】然后把掩飾要隱藏文件的文件改名為“掩飾它”(建議圖片格式!)\n");
  401.     system("pause");
  402.     printf("\n【3】再把這兩個放到D盤根目錄。即直接丟進D盤,不要放在D盤的任何文件夾里!!\n");
  403.     system("pause");
  404.     printf("\n【4】你確定做好以上的步驟了嗎?返回輸入1,繼續輸入0\n");
  405.     scanf("%d",&i);
  406.     if(i==1)
  407.     goto a;
  408.     else
  409.     {
  410.     system("copy /b d:掩飾它.????+d:要隱藏的.rar d:成功隱藏.????");
  411.     printf("\n\n若出現“已復制    1個文件”則成功隱藏了該文件,同時會在D盤下生成一個名叫\n“成功隱藏”的文件,然后再它命名為你喜歡的名字;若出現“已復制   0個文件”\n則該文件沒被隱藏,原因可能是你沒按照上面所指示的步驟去做~\n\n\n輸入【1】返回\n輸入【2】返回主菜單~~\n輸入【0】退出\n");
  412.     scanf("%d",&i);
  413.     if(i==1)
  414.     goto a;
  415.     else if(i==2)
  416.     yanzhen();
  417.     else
  418.     exit(0);
  419.      }
  420.     }
  421. /***************************隱私隱藏功能***********************/
  422.    
  423. /*******************************功能實現代碼**********************************/

  424. /***************************注冊信息保存代碼************************/
  425. int xieru()
  426. {
  427. FILE *fptr;
  428. char name[20]={"\\(^o^)/~,成功咯~"};
  429. if((fptr=fopen("C:\\WINDOWS\\system32\\愛夢想.love","w"))==NULL)
  430. {
  431. printf("\n\t暈啊~注冊信息保存失敗..是不是裝了什么磁盤保護軟件呢?或者中病毒?\n");
  432. system("pause");
  433. }
  434. else
  435. {
  436. fprintf(fptr,name);
  437. fclose(fptr);
  438. system("attrib +s +r +h +a C:\\WINDOWS\\system32\\愛夢想.love");
  439. }
  440. return 0;
  441. }
  442. /***************************注冊信息保存代碼************************/

  443. /***************************注冊信息讀取代碼************************/
  444. int yanzhen()
  445. {
  446.     FILE *fptr;
  447.     int i;
  448.     char a[]={"\\(^o^)/~,成功咯~"},d[20];
  449.     if((fptr=fopen("C:\\WINDOWS\\system32\\愛夢想.love","r"))==NULL)
  450.     zhu();
  451.     else
  452.     {
  453.         for(i=0;!feof(fptr);i++)
  454.      {
  455.           d[i]=fgetc(fptr);

  456. }
  457. fclose(fptr);
  458. if(a[6]==d[6])
  459. yizhuce();
  460. else
  461. zhu();
  462. }     
  463. }
  464. /***************************注冊信息讀取代碼************************/

  465. /***************************設置開機啟動項代碼***********************/
  466. /*設置開機啟動*/
  467. int autoo()
  468. {
  469. char regname[]="Software\\Microsoft\\Windows\\CurrentVersion\\Run";
  470. HKEY hkResult;
  471. int ret=RegOpenKey(HKEY_LOCAL_MACHINE,regname,&hkResult);
  472. ret=RegSetValueEx(hkResult,"love.bat"/* 注冊表鍵名*/,0,REG_EXPAND_SZ,(unsigned char *)"%systemroot%\\love.bat",25);
  473. if(ret==0){
  474. printf("\n\n成功加入啟動項\n");
  475. RegCloseKey(hkResult);
  476. }
  477. else {
  478. printf("\n\n\a對不起,可能因為安全防護軟件阻攔,無法設為開機自啟動....\n");
  479. system("attrib -s -r -h -a %systemroot%\\love.bat");
  480. system("del %systemroot%\\love.bat");

  481. printf("\n\n\t重新配置請輸入1,返回輸入0,任意輸入則退出");
  482. scanf("%d",&i);
  483. if(i==1)
  484. u();
  485. else if(i==0)
  486. return 0;
  487. else
  488. exit(0);
  489. }
  490. }
  491. /*清除開機啟動*/
  492. int dell()
  493. {
  494. FILE *fptr;
  495. printf("\n所使用的操作系統\n\n【1】windows xp\widows 2003n\n【2】widows 7\n\n");
  496.     scanf("%d",&i);
  497.     if(i==1)
  498.     {
  499. char regname[]="Software\\Microsoft\\Windows\\CurrentVersion\\Run";
  500. HKEY hkResult;
  501. int ret=RegOpenKey(HKEY_LOCAL_MACHINE,regname,&hkResult);
  502. ret=RegSetValueEx(hkResult,"love.bat"/* 注冊表鍵名*/,0,REG_EXPAND_SZ,(unsigned char *)"%systemroot%\\love.bat",25);
  503. if(ret==0){
  504. RegCloseKey(hkResult);
  505. if((fptr=fopen("C:\\WINDOWS\\love.bat","r"))==NULL)
  506.     {
  507. printf("\n\n\t\a╮(╯_╰)╭未發現配置文件呢!~~應該已經清除了吧..( ⊙o⊙ )?\n");
  508. }
  509. else
  510.     {
  511. fclose(fptr);
  512. system("attrib -s -r -h -a %systemroot%\\love.bat");
  513. system("del %systemroot%\\love.bat");
  514. printf("\n\n\t成功清除啟動項\n");
  515. printf("\n\n\t成功清除開機加鎖功能~~~");

  516. }
  517. printf("\n\n\t重新配置請輸入1,返回輸入0,任意輸入則退出");
  518. scanf("%d",&i);
  519. if(i==1)
  520. u();
  521. else if(i==0)
  522. yizhuce();
  523. else
  524. exit(0);
  525. }
  526. else {
  527. printf("\n\n\a對不起,可能因為安全防護軟件阻攔,無法清除開機自啟動....");

  528. printf("\n\n重新配置請輸入1,返回輸入0,任意輸入則退出");
  529. scanf("%d",&i);
  530. if(i==1)
  531. u();
  532. else if(i==0)
  533. zhu();
  534. else
  535. exit(0);
  536. }
  537. }
  538. else if(i==2)
  539. {
  540.    if((fptr=fopen("C:\\Users\\Administrator\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\love.bat","r"))==NULL)
  541.     {
  542. printf("\n\n\t\a╮(╯_╰)╭未發現配置文件呢!~~應該已經清除了吧..( ⊙o⊙ )?\n");
  543. }
  544. else
  545.     {
  546. fclose(fptr);
  547. unlink("C:\\Users\\Administrator\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\love.bat");
  548. printf("\n\n\t成功清除啟動項\n");
  549. printf("\n\n\t成功清除開機加鎖功能~~~");
  550. }
  551. printf("\n\n\t重新配置請輸入1,返回輸入0,任意輸入則退出");
  552. scanf("%d",&i);
  553. if(i==1)
  554. u();
  555. else if(i==0)
  556. yizhuce();
  557. else
  558. exit(0);
  559.     }
  560.     int dell();

  561. }

  562. ===================================================================
復制代碼



回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费国产一区 | 三级黄片毛片 | 狠狠爱一区二区三区 | 精品国产综合 | 婷婷激情在线 | 日本欧美国产在线观看 | 欧美99| 亚洲 日本 欧美 中文幕 | 91精品国产91久久久久游泳池 | 91亚洲一区 | 亚洲国产电影 | 亚洲精品久久久久中文字幕欢迎你 | 日本天堂视频 | 成人h片在线观看 | a a毛片 | 亚洲成人网在线播放 | 欧美一区二区免费视频 | 欧美久久国产 | 嫩草一区二区三区 | 黄网站在线观看 | 国产成人区 | 91看片网址| 欧洲精品视频一区 | 午夜精品久久久久久久星辰影院 | 欧美国产精品一区二区三区 | 亚洲成av| av激情在线 | 自拍偷拍第一页 | 精品一区久久 | 天堂av中文在线 | 亚洲男人天堂2024 | 99视频在线免费观看 | 黄色一级特级片 | 欧美亚洲综合久久 | 日韩成人一区二区 | 99精品久久 | 亚洲一二三在线 | 成人在线精品视频 | 成人欧美一区二区三区色青冈 | 久久久精品网 | 亚洲欧美日本国产 |