C M应用锁是个锁阳是什么东西西。

查看: 1863|回复: 1
C语言练习作品(加锁程序1.0)
本帖最后由 liuyuxi 于
01:13 编辑
增加了隐私隐藏功能~~~
修正了&&清除加锁配置后 程序会变成未注册的BUG~~
软件界面:
源代码:
==========================================================================
#include&stdio.h&/*加载包含基本输入输出函数头文件*/
#include&stdlib.h&/*加载标准函数库头文件*/
#include&string.h&
#include&windows.h&
int i=3,a=0,d=0;/*声明全局变量*/
int h=5;/*设定功能选择*/
int y=4;
/*原型函数声明*/
int xieru();
int yanzhen();
int zhu();
int tishi();
int yizhuce();
int jiamiweizhuce();
int jiamiyizhuce();
int jiemiweizhuce();
int jiemiyizhuce();
int u();
int autoo();
int dell();
int yc();
/************************作者声明*****************************/
int xs()
{
& && && & printf(&\n********************************************************************&);
& && & printf(&\n& &此程序为C语言编写,编译器为:DEV-C++ 4.9.9.2 多国语言版&);
& &printf(&\n\n& &愿结交对C语言深感兴趣并研究过C语言的朋友\n& &若有任何建议或愿共同探讨请联系QQ:\n& &加密方面,采用垃圾算法,纯属做练习,各位不必当真。\n&);
&&
& &printf(&\n********************************************************************\n&);
&&
& &printf(&\n作品名称:加锁程序(版本:2.0)\n\n作品目的:增加对条件指令、循环指令的了解并熟悉自定义函数、调用函数的方法、文件& && && && &处理指令,以及DOS命令\n\n作品功能:a:实现注册验证及对数字进行加密、解密功能\n& && && & b:了解加入开机启动项的方法和利用文件处理知识..实现移动设备对电脑进行加& && && & 锁功能~~~~还加了个隐私隐藏功能呢!\n\n作品改进:利用软件爆破原理改进了程序输入正确序列号重启后仍需再次输入序列号的缺陷& && && & 根据木马自释放原理,增加了U盘加锁功能(O(∩_∩)O可以当恶作剧玩哦!)\n\n作品缺陷:程序判断用户的选择只能用数字否则出错(尝试用过char类型),只能加密\n& && && & 9位数字否则不能正确解密(或许与类型溢出有关),以上原因尚不明确!\n&);
& && &printf(&\n********************************************************************\n&);
& & return 0;
& & }
int aac()
{
& &&&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&&&);
& & return 0;
& & }
int aac1()
& & {
& && &&&system(&cls&);
& && && &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&&&);
& && &&&return 0;
& && &&&}
int aas()
{
& & printf(&\n\n& &O(∩_∩)O哈哈~,请选择所需要的功能:\n\n 【1】:加密(目前只支持9位任意数字)\n\n 【2】:解密(只对本程序加密的密文有效)\n\n 【3】: 用可移动磁盘(如U盘)加锁计算机\n\n 【4】: 隐私隐藏功能(能把任何文件格式隐藏到任何文件里)\n\n 【0】:退出\n\n&&&);
& & return 0;
& & }
& & int aas1()
& & {
& && &&&system(&cls&);
& && &&&printf(&\n\n& &O(∩_∩)O哈哈~,不能乱选哦,请再次认真选择所需要的功能:\n\n 【1】:加密(目前只支持9位任意数字)\n\n 【2】:解密(只对本程序加密的密文有效)\n\n 【3】: 用可移动磁盘(如U盘)加锁计算机\n\n 【4】: 隐私隐藏功能(能把任何文件格式隐藏到任何文件里)\n\n 【0】:退出\n\n&&&);
& & return 0;
& && &&&}
/************************作者声明*****************************/
int main()/*声明主函数,每个C程序必须具备的*/
{
& & system(&COLOR 0a&);
& & system(&title 欢迎使用由【笨笨♂猪】设计的程序~~&);
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&);
system(&pause&);/*程序挂起*/
system(&cls&);
yanzhen();
}
/***************************************主调代码*******************************************/
int zhu()/*自定义zhu函数*/
& & {
& & int a,i=3;/*声明整数变量a、i,并把赋值3给i*/
xs();
& && &system(&pause&);
& && &system(&cls&);
& &&&aac();
& &scanf(&%d&,&a);/*读取用户所输入的选项并赋值给变量a*/
while(a&h)/*设定循环条件,达到输入错误选项即可循环执行确认选择功能指令*/
{
& && && & aac1();
& &scanf(&%d&,&a);/*读取用户所输入的选项并赋值给变量a*/
& && && &&&}
switch(a)/*判断语句,在c++称为开关语句*/
{
case 1:/*若a等于1则运行下面代码*/
& &printf(&\n& &(*^__^*) 欢迎使用本加密程序【注:试用版只能使用三次】\n&);/*显示说明*/
& &printf(&请输入序列号:\n\n&&&);/*显示说明*/
& &scanf(&%d&,&a);/*读取用户所输入的序列号并赋值给变量a*/
&&if(a!=)/*若用户所输入的序列号不等于则执行下面的指令,否则跳过下面的指令*/
jiamiweizhuce();/*调用jiamiweizhuce函数*/
&&else/*若等于则运行下面指令*/
{
xieru();
&&jiamiyizhuce();/*调用jiamiyizhuce函数*/
}
/*跳出判断语句避免“失败经过”*/
case 2:/*如果a等于2则运行下面代码*/
& &printf(&\n& &(*^__^*) 欢迎使用本解密程序【注:试用版只能使用三次】\n&);/*显示说明*/
& &printf(&请输入序列号:\n\n&&&);/*显示说明*/
& &scanf(&%d&,&a);/*读取用户所输入的序列号并赋值给变量a*/
&&if(a!=)/*若用户所输入的序列号不等于则执行下面的指令,否则跳过下面的指令*/
&&jiemiweizhuce();/*调用jiemiweizhuce代码*/
&&else/*若等于则运行下面指令*/
{
xieru();
jiemiyizhuce();/*调用jiemiyizhuce函数*/
}
/*跳出判断语句避免“失败经过”*/
case 3:
case 4:
& &&&printf(&\n\a\a对不起!您是未注册用户...\n\a&);
& &&&system(&pause&);
& &&&zhu();
case 5:
& &&&for(;;)
& &&&{
& &&&printf(&请输入序列号:&);
& &&&scanf(&%d&,&i);
& &&&if(i!=)
& &&&{
& &&&printf(&\n晕~~请再到我空间看清源代码~~\n\n\a&);
& &&&
& &&&}
& &&&else{
& &&&xieru();
& &&&printf(&\n\n\aO(∩_∩)O~~注册成功咯!哈~~~\n\n&);
& &&&system(&pause&);
& &&&yanzhen();
& &&&}
& &&&}
& &&&
case 0:/*若a等于0则运行下面代码*/
exit(0);/*退出程序*/
/*跳出判断语句避免“失败经过”*/
}
}
int tishi()/*自定义tishi函数*/
{
& &/*声明变量*/
& & printf(&\n\a\a\a& &╮(╯▽╰)╭对不起,您使用的次数已达到试用版的上限!\n\n&); /*警告用户*/
printf(&\n\n\nO(∩_∩)O哈哈~,告诉你一个秘密哈,若想再次使用可以再次运行本程序,照样\n还可以使用三次。不过,如果你这样做的话,也只能说明你笨╮(╯▽╰)╭\n\n\n&);/*幽默一下哈↖(^ω^)↗*/
printf(&\n返回主菜单请输入数字【3】,退出请输入任意数字\n\n&&&);/*提示*/
scanf(&%d&,&q);/*读取用户所输入数值并存入变量q*/
if(q==3)/*若变量d等于3则运行以下代码,否则省略本段代码*/
zhu();
else/*若不等于则运行下面代码即退出,达到按任意数字键退出的目的*/
exit(0);/*退出程序*/
}
int yizhuce()/*自定义yizhuce函数*//*此函数已去除验证序列号的功能*/
& & {
& &/*声明整数变量a、i,并把赋值3给i*/
xs();
& && &system(&pause&);
& && &system(&cls&);
& &
& &aas();
& &scanf(&%d&,&a);/*读取用户所输入的选项并赋值给变量a*/
while(a&y)/*设定循环条件,达到输入错误选项即可循环执行确认选择功能指令*/
{
& && && &&&aas1();
& &scanf(&%d&,&a);/*读取用户所输入的选项并赋值给变量a*/
& && && &&&}
switch(a)/*判断语句,在c++称为开关语句*/
{
case 1:/*若a等于1则运行下面代码*/
jiamiyizhuce();/*调用jiamiyizhuce函数*/
/*跳出条件语句避免“失败经过”*/
case 2:/*若a等于2则运行下面代码*/
jiemiyizhuce();/*调用jiemiyizhuce函数*/
/*跳出条件语句避免“失败经过”*/
case 3:
u();
yanzhen();
case 4:
yc();
yanzhen();
case 0:/*若a等于0则运行下面代码*/
exit(0);/*退出程序*/
/*跳出条件语句避免“失败经过”*/
}
}
/*************************主调用代码**************************/
/*******************************功能实现代码**********************************/
/******************************加密功能代码************************************************/
int jiamiweizhuce()/*声明自定义jiamiweizhuce函数(未注册限制使用)同时声明变量*/
{
/*以下为未注册限制代码↓↓*/
& & while(i!=0)/*循环语句,设定条件为3次,由声明变量时确定,达到三次后跳出循环停止运行算法*/
& &{
& & printf(&\n请输入一组需加密的数字【未注册】\n\n&&&);/*显示说明*/
& & scanf(&%d&,&a);/*读取用户所输入的数值并赋值给变量a*/
& & a=a+100000;/*进行加密算法↓↓*/
& & a=a+100009;
& & a=a+100052;
& & a=a+100878;
& & a=a+108546;
& & a=a+113545;
& & a=a+314123;/*进行加密算法↑↑*/
& & i--;/*运行算法一次则i减1,达到三次后满足循环条件即运行3次算法,则i=3-3=0*/
& & printf(&\n\n~\a\(≧▽≦)/~恭喜,已完成加密!密文为:【%d】(还有【%d】次使用权)\n\n&,a,i);/*算法完成输出密文并提醒使用次数*/
& & printf(&\n返回主菜单请输入数字【3】,继续加密请输入任意数字\n\n&&&);/*提示*/
& & scanf(&%d&,&d);/*读取用户所输入的数值并存入变量d*/
& & if(d==3)/*若变量d等于3则强制跳出循环*/
& &/*强制跳出循环*/
}
if(d==3)/*若变量d等于3则运行以下代码,否则省略本段代码*/
zhu();
tishi();
}
int jiamiyizhuce()/*声明自定义jiamiyizhuce函数(已注册无限制使用)*/
{
& &&&/*以下为已注册无限制代码↓↓*/
& & for(;;)/*循环语句,不设定条件,可无限次运行算法指令*/
& &{
& & printf(&\n请输入一组需加密的数字【已注册,可无限使用】\n\n&&&);/*显示说明*/
& & scanf(&%d&,&a);/*读取用户所输入的数值并赋值给变量a*/
& & a=a+100000;/*进行加密算法↓↓*/
& & a=a+100009;
& & a=a+100052;
& & a=a+100878;
& & a=a+108546;
& & a=a+113545;
& & a=a+314123;/*进行加密算法↑↑*/
& & printf(&\n\n\a~\(≧▽≦)/~恭喜,已完成加密!密文为:【%d】\n\n&,a);/*算法完成,输出密文*/
& & printf(&\n返回主菜单请输入数字【3】,继续加密请输入任意数字\n\n&&&);/*提示*/
& & scanf(&%d&,&d);/*读取用户所输入的数值并存入变量d*/
& & if(d==3)/*若变量d等于3则强制跳出循环*/
& & /*强制跳出循环*/
}
if(d==3)/*若变量d等于3则运行以下代码,否则省略本段代码*/
yizhuce();
}
/******************************加密功能代码************************************************/
/******************************解密功能代码************************************************/
& & int jiemiweizhuce()/*声明解密未注册(限制使用)函数*/
{
& && &/*以下为未注册限制代码↓↓*/
& & while(i!=0)/*循环语句,设定条件为3次,达到三次后跳出循环语句即i等于3*/
& &{
& & printf(&\n请输入一组需解密的数字【未注册】\n\n&&&);/*显示说明*/
& & scanf(&%d&,&a);/*读取用户所输入的数值并赋值给变量a*/
& & a=a-100000;/*逆行执行加密算法↓↓*/
& & a=a-100009;
& & a=a-100052;
& & a=a-100878;
& & a=a-108546;
& & a=a-113545;
& & a=a-314123;/*逆行执行加密算法↑↑*/
& & i--;/*运行算法一次则i加1,达到三次后满足循环条件*/
& & printf(&\n\a& &~\(≧▽≦)/~恭喜,已完成解密!密码为:【%d】(还有【%d】次使用权)\n\n&,a,i);/*算法完成输出真实密码*/
& && & printf(&\n返回主菜单请输入数字【3】,继续解密请输入任意数字\n\n&&&);/*提示*/
& & scanf(&%d&,&d);/*读取用户所输入的数值并存入变量d*/
& & if(d==3)/*若变量d等于3则强制跳出循环*/
& &/*强制跳出循环*/
}
if(d==3)/*若变量d等于3则运行以下代码,否则省略本段代码*/
zhu();
tishi();
}
& & int jiemiyizhuce()/*声明解密已注册(解除限制)函数*/
& & {
& && && && & /*以下为已注册无限制代码↓↓*/
& & for(;;)/*循环语句,不设定条件*/
& &{
& & printf(&\n请输入一组需解密的数字【已注册,可无限使用】\n\n&&&);/*显示说明*/
& & scanf(&%d&,&a);/*读取用户所输入的数值并赋值给变量a*/
& & a=a-100000;/*逆行执行加密算法↓↓*/
& & a=a-100009;
& & a=a-100052;
& & a=a-100878;
& & a=a-108546;
& & a=a-113545;
& & a=a-314123;/*逆行执行加密算法↑↑*/
& & printf(&\n\n\a& &~\(≧▽≦)/~恭喜,已完成解密!密码为:【%d】\n\n&,a);/*算法完成输出真实密码*/
& & printf(&\n返回主菜单请输入数字【3】,继续解密请输入任意数字\n\n&&&);/*提示*/
& & scanf(&%d&,&d);/*读取用户所输入的数值并存入变量d*/
& & if(d==3)/*若变量d等于3则强制跳出循环*/
& & /*强制跳出循环*/
}
if(d==3)/*若变量d等于3则运行以下代码,否则省略本段代码*/
yizhuce();
& & }
/******************************解密功能代码************************************************/
/******************************U盘加锁代码************************************************/
int u()
{
& & system(&cls&);
& & FILE *p;
& & char pan[2]={0},password[50]={0},pd[]={&if not exist &},fu[]={&:\\&},exi[]={& shutdown.exe -s -t &},ok[50],k[100],j[60];
& & printf(&\n\n\t【1】为计算机加锁\n\n\t【2】清除加锁功能\n\n\t【3】返回\n\n\t&);
& & scanf(&%d&,&i);
& & if(i==1)
& & {
system(&cls&);
& & printf(&\n\n\t原理:每次开机都会检测所指定的磁盘里的文件名(所以要设定开机启动项),如果\n\t有则为合法用户,可正常使用计算机。没有则视为\&小偷\&开机后由您指定的时间(秒\t)关机~&);
& & printf(&所指定的文件名可以自定,程序会在该可移动磁盘中创建一个由你指定的文& && && &件名的文件\n&);
& & printf(&\n\t注意,此程序检测文件名,并不检测里面的内容..如果您输入的为te12.txt 那么& && && &只要您指定的磁盘根目录有文件是此文件名即可当成为开机密钥\n\t(这意味着磁盘里的每一个文件都可当成开机密钥,增强隐蔽性),所以你可以在tr12& && && &.txt里面加上一些内容加以掩饰\n\n&);
& & printf(&\n\t请确定是否已插入可移动磁盘~~~~\n&);
& & system(&pause&);
& & text:
& & printf(&\n\n请输入可移动磁盘盘符(输入字母即可,如输入g):&);
& & scanf(&%s&,pan);
& & printf(&\n\n请设定程序需检测认证可移动磁盘根目录上的文件名(也可以自定文件名):&);
& & scanf(&%s&,password);
/****************检测是否有该文件存在*******************/
& & strcpy(ok,pan);
& & strcat(ok,fu);
& & strcat(ok,password);
& &if((p=fopen(ok,&r&))==NULL)
{
printf(&\n\n╮(╯_╰)╭检测可移动磁盘无您指定的文件名,程序将自动创建此文件\n&);
p=fopen(ok,&w&);
if((p=fopen(ok,&r&))==NULL)
{
printf(&\n\n╮(╯_╰)╭无法写入..请确定可移动磁盘是否被设为写保护或接口接触不良..\n\n&);
printf(&\n\n重新配置请输入1,返回输入0,任意输入则退出&);
scanf(&%d&,&i);
if(i==1)
else if(i==0)
return 0;
else
exit(0);
}
else
printf(&\n\n\\(^o^)/~文件创建成功...&);
}
/*检测是否有该文件存在*/
& & printf(&\n\n请设定无此密码文件时登陆系统后关机时间(秒)(建议输入0,即开机后立即关机):&);
& & scanf(&%s&,j);
& & strcpy(k,pd);
& & strcat(k,pan);
& & strcat(k,fu);
& & strcat(k,password);
& & strcat(k,exi);
& & strcat(k,j);
if((p=fopen(&C:\\WINDOWS\\love.bat&,&w&))==NULL)
{
printf(&\n\n\a对不起,可能因为系统盘被写保护,无法写入配置文件....\n&);
system(&pause&);
}
{
fprintf(p,k);
fclose(p);
system(&attrib +s +r +h +a %systemroot%\\love.bat&);
printf(&\n\n即将设为开机启动项..安全防护软件可能会提示请按同意..\n&);
system(&pause&);
autoo();
printf(&\n\n已设置完成..重启后立即生效~\n&);
}
system(&pause&);
system(&cls&);
return 0;
else if(i==2)
else if(i==3)
yanzhen();
exit(0);
}
/******************************U盘加锁代码************************************************/
/***************************隐私隐藏功能***********************/
int yc()
{
& & system(&cls&);
& & printf(&\n\n&&由于我对DOS命令不太熟悉..所以操作会有点繁.请按提示操作吧~(*^__^*) 嘻嘻……\n&);
& & system(&pause&);
& & a:
& & printf(&\n【1】先把要隐藏的文件压缩为RAR格式(最好就加个密码)并改名为“隐藏掉”\n&);
& & system(&pause&);
& & printf(&\n【2】然后把掩饰要隐藏文件的文件改名为“掩饰它”(建议图片格式!)\n&);
& & system(&pause&);
& & printf(&\n【3】再把这两个放到D盘根目录。即直接丢进D盘,不要放在D盘的任何文件夹里!!\n&);
& & system(&pause&);
& & printf(&\n【4】你确定做好以上的步骤了吗?返回输入1,继续输入0\n&);
& & scanf(&%d&,&i);
& & if(i==1)
& &
& & else
& & {
& & system(&copy /b d:掩饰它.????+d:要隐藏的.rar d:成功隐藏.????&);
& & printf(&\n\n若出现“已复制& & 1个文件”则成功隐藏了该文件,同时会在D盘下生成一个名叫\n“成功隐藏”的文件,然后再它命名为你喜欢的名字;若出现“已复制& &0个文件”\n则该文件没被隐藏,原因可能是你没按照上面所指示的步骤去做~\n请输入1返回;\输入2返回主菜单~~;输入0退出\n&);
& & scanf(&%d&,&i);
& & if(i==1)
& &
& & else if(i==2)
& & yanzhen();
& & else
& & exit(0);
& &&&}
& & }
/***************************隐私隐藏功能***********************/
& &
/*******************************功能实现代码**********************************/
/***************************注册信息保存代码************************/
int xieru()
{
FILE *
char name[20]={&\\(^o^)/~,成功咯~&};
if((fptr=fopen(&C:\\WINDOWS\\system32\\爱梦想.love&,&w&))==NULL)
{
printf(&\n\t晕啊~注册信息保存失败..是不是装了什么磁盘保护软件呢?或者中病毒?\n&);
system(&pause&);
}
{
fprintf(fptr,name);
fclose(fptr);
system(&attrib +s +r +h +a C:\\WINDOWS\\system32\\爱梦想.love&);
}
return 0;
}
/***************************注册信息保存代码************************/
/***************************注册信息读取代码************************/
int yanzhen()
{
& & FILE *
& &
& & char a[]={&\\(^o^)/~,成功咯~&},d[20];
& & if((fptr=fopen(&C:\\WINDOWS\\system32\\爱梦想.love&,&r&))==NULL)
& & zhu();
& & else
& & {
& && &&&for(i=0;!feof(fptr);i++)
& &&&{
& && && & d[i]=fgetc(fptr);
}
fclose(fptr);
if(a[6]==d[6])
yizhuce();
else
zhu();
}& &&&
}
/***************************注册信息读取代码************************/
/***************************设置开机启动项代码***********************/
/*设置开机启动*/
int autoo()
{
char regname[]=&Software\\Microsoft\\Windows\\CurrentVersion\\Run&;
HKEY hkR
int ret=RegOpenKey(HKEY_LOCAL_MACHINE,regname,&hkResult);
ret=RegSetValueEx(hkResult,&love.bat&/* 注册表键名*/,0,REG_EXPAND_SZ,(unsigned char *)&%systemroot%\\love.bat&,25);
if(ret==0){
printf(&\n\n成功加入启动项\n&);
RegCloseKey(hkResult);
}
else {
printf(&\n\n\a对不起,可能因为安全防护软件阻拦,无法设为开机自启动....\n&);
system(&attrib -s -r -h -a %systemroot%\\love.bat&);
system(&del %systemroot%\\love.bat&);
printf(&\n\n\t重新配置请输入1,返回输入0,任意输入则退出&);
scanf(&%d&,&i);
if(i==1)
u();
else if(i==0)
return 0;
else
exit(0);
}
}
/*清除开机启动*/
int dell()
{
FILE *
char regname[]=&Software\\Microsoft\\Windows\\CurrentVersion\\Run&;
HKEY hkR
int ret=RegOpenKey(HKEY_LOCAL_MACHINE,regname,&hkResult);
ret=RegSetValueEx(hkResult,&love.bat&/* 注册表键名*/,0,REG_EXPAND_SZ,(unsigned char *)&%systemroot%\\love.bat&,25);
if(ret==0){
RegCloseKey(hkResult);
if((fptr=fopen(&C:\\WINDOWS\\love.bat&,&r&))==NULL)
& & {
printf(&\n\n\t\a╮(╯_╰)╭未发现配置文件呢!~~应该已经清除了吧..( ⊙o⊙ )?\n&);
}
else
& & {
fclose(fptr);
system(&attrib -s -r -h -a %systemroot%\\love.bat&);
system(&del %systemroot%\\love.bat&);
printf(&\n\n\t成功清除启动项\n&);
printf(&\n\n\t成功删除配置文件&);
printf(&\n\n\t成功清除开机加锁功能~~~&);
}
printf(&\n\n\t重新配置请输入1,返回输入0,任意输入则退出&);
scanf(&%d&,&i);
if(i==1)
u();
else if(i==0)
yizhuce();
else
exit(0);
}
else {
printf(&\n\n\a对不起,可能因为安全防护软件阻拦,无法清除开机自启动....&);
printf(&\n\n重新配置请输入1,返回输入0,任意输入则退出&);
scanf(&%d&,&i);
if(i==1)
u();
else if(i==0)
zhu();
else
exit(0);
}
}
==========================================================================复制代码
  本帖最后由 liuyuxi 于
01:10 编辑
嘿嘿~~ 这次干脆点~~不但修正了BUG 还兼容winXP、win7、win2003...
==============================================================
&span style=&line-height: 1.5;&&#include&stdio.h&/*加载包含基本输入输出函数头文件*/&/span&
#include&stdlib.h&/*加载标准函数库头文件*/
#include&string.h&
#include&windows.h&
#include&unistd.h&/*加载删除函数头文件*/
int i=3,a=0,d=0;/*声明全局变量*/
int h=5;/*设定功能选择*/
int y=4;
/*原型函数声明*/
int xieru();
int yanzhen();
int zhu();
int tishi();
int yizhuce();
int jiamiweizhuce();
int jiamiyizhuce();
int jiemiweizhuce();
int jiemiyizhuce();
int u();
int autoo();
int dell();
int yc();
/************************作者声明*****************************/
int xs()
{
& && && & printf(&\n********************************************************************&);
& && & printf(&\n& &此程序为C语言编写,编译器为:DEV-C++ 4.9.9.2 多国语言版&);
& &printf(&\n\n& &愿结交对C语言深感兴趣并研究过C语言的朋友\n& &若有任何建议或愿共同探讨请联系QQ:\n& &加密方面,采用垃圾算法,纯属做练习,各位不必当真。\n&);
&&
& &printf(&\n********************************************************************\n&);
&&
& &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&);
& && &printf(&\n********************************************************************\n&);
& & return 0;
& & }
int aac()
{
& &&&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&&&);
& & return 0;
& & }
int aac1()
& & {
& && &&&system(&cls&);
& && && &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&&&);
& && &&&return 0;
& && &&&}
int aas()
{
& & printf(&\n\n& &O(∩_∩)O哈哈~,请选择所需要的功能:\n\n 【1】:加密(目前只支持9位任意数字)\n\n 【2】:解密(只对本程序加密的密文有效)\n\n 【3】: 用可移动磁盘(如U盘)加锁计算机\n\n 【4】: 隐私隐藏功能(能把任何文件格式隐藏到任何文件里)\n\n 【0】:退出\n\n&&&);
& & return 0;
& & }
& & int aas1()
& & {
& && &&&system(&cls&);
& && &&&printf(&\n\n& &O(∩_∩)O哈哈~,不能乱选哦,请再次认真选择所需要的功能:\n\n 【1】:加密(目前只支持9位任意数字)\n\n 【2】:解密(只对本程序加密的密文有效)\n\n 【3】: 用可移动磁盘(如U盘)加锁计算机\n\n 【4】: 隐私隐藏功能(能把任何文件格式隐藏到任何文件里)\n\n 【0】:退出\n\n&&&);
& & return 0;
& && &&&}
/************************作者声明*****************************/
int main()/*声明主函数,每个C程序必须具备的*/
{
& & system(&COLOR 0a&);
& & system(&title 欢迎使用由【笨笨♂猪】设计的程序~~&);
printf(&\n\t\t\t心情\n\n& &若因她而要与全世界为敌,我会在最短时间内强大起来保护她!\n\n\n&);
system(&pause&);/*程序挂起*/
system(&cls&);
yanzhen();
}
/***************************************主调代码*******************************************/
int zhu()/*自定义zhu函数*/
& & {
& & int a,i=3;/*声明整数变量a、i,并把赋值3给i*/
xs();
& && &system(&pause&);
& && &system(&cls&);
& &&&aac();
& &scanf(&%d&,&a);/*读取用户所输入的选项并赋值给变量a*/
while(a&h)/*设定循环条件,达到输入错误选项即可循环执行确认选择功能指令*/
{
& && && & aac1();
& &scanf(&%d&,&a);/*读取用户所输入的选项并赋值给变量a*/
& && && &&&}
switch(a)/*判断语句,在c++称为开关语句*/
{
case 1:/*若a等于1则运行下面代码*/
& &printf(&\n& &(*^__^*) 欢迎使用本加密程序【注:试用版只能使用三次】\n&);/*显示说明*/
& &printf(&请输入序列号:\n\n&&&);/*显示说明*/
& &scanf(&%d&,&a);/*读取用户所输入的序列号并赋值给变量a*/
&&if(a!=)/*若用户所输入的序列号不等于则执行下面的指令,否则跳过下面的指令*/
jiamiweizhuce();/*调用jiamiweizhuce函数*/
&&else/*若等于则运行下面指令*/
{
xieru();
&&jiamiyizhuce();/*调用jiamiyizhuce函数*/
}
/*跳出判断语句避免“失败经过”*/
case 2:/*如果a等于2则运行下面代码*/
& &printf(&\n& &(*^__^*) 欢迎使用本解密程序【注:试用版只能使用三次】\n&);/*显示说明*/
& &printf(&请输入序列号:\n\n&&&);/*显示说明*/
& &scanf(&%d&,&a);/*读取用户所输入的序列号并赋值给变量a*/
&&if(a!=)/*若用户所输入的序列号不等于则执行下面的指令,否则跳过下面的指令*/
&&jiemiweizhuce();/*调用jiemiweizhuce代码*/
&&else/*若等于则运行下面指令*/
{
xieru();
jiemiyizhuce();/*调用jiemiyizhuce函数*/
}
/*跳出判断语句避免“失败经过”*/
case 3:
case 4:
& &&&printf(&\n\a\a对不起!您是未注册用户...\n\a&);
& &&&system(&pause&);
& &&&zhu();
case 5:
& &&&for(;;)
& &&&{
& &&&printf(&请输入序列号:&);
& &&&scanf(&%d&,&i);
& &&&if(i!=)
& &&&{
& &&&printf(&\n晕~~请再到我空间看清源代码~~\n\n\a&);
& &&&
& &&&}
& &&&else{
& &&&xieru();
& &&&printf(&\n\n\aO(∩_∩)O~~注册成功咯!哈~~~\n\n&);
& &&&system(&pause&);
& &&&yanzhen();
& &&&}
& &&&}
& &&&
case 0:/*若a等于0则运行下面代码*/
exit(0);/*退出程序*/
/*跳出判断语句避免“失败经过”*/
}
}
int tishi()/*自定义tishi函数*/
{
& &/*声明变量*/
& & printf(&\n\a\a\a& &╮(╯▽╰)╭对不起,您使用的次数已达到试用版的上限!\n\n&); /*警告用户*/
printf(&\n\n\nO(∩_∩)O哈哈~,告诉你一个秘密哈,若想再次使用可以再次运行本程序,照样\n还可以使用三次。不过,如果你这样做的话,也只能说明你笨╮(╯▽╰)╭\n\n\n&);/*幽默一下哈↖(^ω^)↗*/
printf(&\n返回主菜单请输入数字【3】,退出请输入任意数字\n\n&&&);/*提示*/
scanf(&%d&,&q);/*读取用户所输入数值并存入变量q*/
if(q==3)/*若变量d等于3则运行以下代码,否则省略本段代码*/
zhu();
else/*若不等于则运行下面代码即退出,达到按任意数字键退出的目的*/
exit(0);/*退出程序*/
}
int yizhuce()/*自定义yizhuce函数*//*此函数已去除验证序列号的功能*/
& & {
& &/*声明整数变量a、i,并把赋值3给i*/
xs();
& && &system(&pause&);
& && &system(&cls&);
& &
& &aas();
& &scanf(&%d&,&a);/*读取用户所输入的选项并赋值给变量a*/
while(a&y)/*设定循环条件,达到输入错误选项即可循环执行确认选择功能指令*/
{
& && && &&&aas1();
& &scanf(&%d&,&a);/*读取用户所输入的选项并赋值给变量a*/
& && && &&&}
switch(a)/*判断语句,在c++称为开关语句*/
{
case 1:/*若a等于1则运行下面代码*/
jiamiyizhuce();/*调用jiamiyizhuce函数*/
/*跳出条件语句避免“失败经过”*/
case 2:/*若a等于2则运行下面代码*/
jiemiyizhuce();/*调用jiemiyizhuce函数*/
/*跳出条件语句避免“失败经过”*/
case 3:
u();
yanzhen();
case 4:
yc();
yanzhen();
case 0:/*若a等于0则运行下面代码*/
exit(0);/*退出程序*/
/*跳出条件语句避免“失败经过”*/
}
}
/*************************主调用代码**************************/
/*******************************功能实现代码**********************************/
/******************************加密功能代码************************************************/
int jiamiweizhuce()/*声明自定义jiamiweizhuce函数(未注册限制使用)同时声明变量*/
{
/*以下为未注册限制代码↓↓*/
d=0;
& & while(i!=0)/*循环语句,设定条件为3次,由声明变量时确定,达到三次后跳出循环停止运行算法*/
& &{
& && && && && && && && && && && && && && && && && && && && && && && && && && && && && &
& & printf(&\n请输入一组需加密的数字【未注册】\n\n&&&);/*显示说明*/
& & scanf(&%d&,&a);/*读取用户所输入的数值并赋值给变量a*/
& & a=a+100000;/*进行加密算法↓↓*/
& & a=a+100009;
& & a=a+100052;
& & a=a+100878;
& & a=a+108546;
& & a=a+113545;
& & a=a+314123;/*进行加密算法↑↑*/
& & i--;/*运行算法一次则i减1,达到三次后满足循环条件即运行3次算法,则i=3-3=0*/
& & printf(&\n\n~\a\(≧▽≦)/~恭喜,已完成加密!密文为:【%d】(还有【%d】次使用权)\n\n&,a,i);/*算法完成输出密文并提醒使用次数*/
& & printf(&\n返回主菜单请输入数字【3】,继续加密请输入任意数字\n\n&&&);/*提示*/
& & scanf(&%d&,&d);/*读取用户所输入的数值并存入变量d*/
& & if(d==3)/*若变量d等于3则强制跳出循环*/
& &/*强制跳出循环*/
}
if(d==3)/*若变量d等于3则运行以下代码,否则省略本段代码*/
zhu();
tishi();
}
int jiamiyizhuce()/*声明自定义jiamiyizhuce函数(已注册无限制使用)*/
{
& &&&/*以下为已注册无限制代码↓↓*/
& & for(;;)/*循环语句,不设定条件,可无限次运行算法指令*/
& &{
& & printf(&\n请输入一组需加密的数字【已注册,可无限使用】\n\n&&&);/*显示说明*/
& & scanf(&%d&,&a);/*读取用户所输入的数值并赋值给变量a*/
& & a=a+100000;/*进行加密算法↓↓*/
& & a=a+100009;
& & a=a+100052;
& & a=a+100878;
& & a=a+108546;
& & a=a+113545;
& & a=a+314123;/*进行加密算法↑↑*/
& & printf(&\n\n\a~\(≧▽≦)/~恭喜,已完成加密!密文为:【%d】\n\n&,a);/*算法完成,输出密文*/
& & printf(&\n返回主菜单请输入数字【3】,继续加密请输入任意数字\n\n&&&);/*提示*/
& & scanf(&%d&,&d);/*读取用户所输入的数值并存入变量d*/
& & if(d==3)/*若变量d等于3则强制跳出循环*/
& & /*强制跳出循环*/
}
if(d==3)/*若变量d等于3则运行以下代码,否则省略本段代码*/
yizhuce();
}
/******************************加密功能代码************************************************/
/******************************解密功能代码************************************************/
& & int jiemiweizhuce()/*声明解密未注册(限制使用)函数*/
{
&&d=0;
& && &/*以下为未注册限制代码↓↓*/
& & while(i!=0)/*循环语句,设定条件为3次,达到三次后跳出循环语句即i等于3*/
& &{
& && && && && && && && && && && && && && && && && && && && && && && && && &
& & printf(&\n请输入一组需解密的数字【未注册】\n\n&&&);/*显示说明*/
& & scanf(&%d&,&a);/*读取用户所输入的数值并赋值给变量a*/
& & a=a-100000;/*逆行执行加密算法↓↓*/
& & a=a-100009;
& & a=a-100052;
& & a=a-100878;
& & a=a-108546;
& & a=a-113545;
& & a=a-314123;/*逆行执行加密算法↑↑*/
& & i--;/*运行算法一次则i加1,达到三次后满足循环条件*/
& & printf(&\n\a& &~\(≧▽≦)/~恭喜,已完成解密!密码为:【%d】(还有【%d】次使用权)\n\n&,a,i);/*算法完成输出真实密码*/
& && & printf(&\n返回主菜单请输入数字【3】,继续解密请输入任意数字\n\n&&&);/*提示*/
& & scanf(&%d&,&d);/*读取用户所输入的数值并存入变量d*/
& & if(d==3)/*若变量d等于3则强制跳出循环*/
& &/*强制跳出循环*/
}
if(d==3)/*若变量d等于3则运行以下代码,否则省略本段代码*/
zhu();
tishi();
}
& & int jiemiyizhuce()/*声明解密已注册(解除限制)函数*/
& & {
& && && && & /*以下为已注册无限制代码↓↓*/
& & for(;;)/*循环语句,不设定条件*/
& &{
& & printf(&\n请输入一组需解密的数字【已注册,可无限使用】\n\n&&&);/*显示说明*/
& & scanf(&%d&,&a);/*读取用户所输入的数值并赋值给变量a*/
& & a=a-100000;/*逆行执行加密算法↓↓*/
& & a=a-100009;
& & a=a-100052;
& & a=a-100878;
& & a=a-108546;
& & a=a-113545;
& & a=a-314123;/*逆行执行加密算法↑↑*/
& & printf(&\n\n\a& &~\(≧▽≦)/~恭喜,已完成解密!密码为:【%d】\n\n&,a);/*算法完成输出真实密码*/
& & printf(&\n返回主菜单请输入数字【3】,继续解密请输入任意数字\n\n&&&);/*提示*/
& & scanf(&%d&,&d);/*读取用户所输入的数值并存入变量d*/
& & if(d==3)/*若变量d等于3则强制跳出循环*/
& & /*强制跳出循环*/
}
if(d==3)/*若变量d等于3则运行以下代码,否则省略本段代码*/
yizhuce();
& & }
/******************************解密功能代码************************************************/
/******************************U盘加锁代码************************************************/
int u()
{
& & system(&cls&);
& & FILE *p;
& & char pan[2]={0},password[50]={0},pd[]={&if not exist &},fu[]={&:\\&},exi[]={& shutdown.exe -s -t &},ok[50],k[100],j[60];
& & printf(&\n\n\t【1】为计算机加锁\n\n\t【2】清除加锁功能\n\n\t【3】返回\n\n\t&);
& & scanf(&%d&,&i);
& & if(i==1)
& & {
system(&cls&);
& & printf(&\n\n\t原理:每次开机都会检测所指定的磁盘里的文件名(所以要设定开机启动项),如果\n\t有则为合法用户,可正常使用计算机。没有则视为\&小偷\&开机后由您指定的时间(秒\t)关机~&);
& & printf(&所指定的文件名可以自定,程序会在该可移动磁盘中创建一个由你指定的文& && && &件名的文件\n&);
& & printf(&\n\t注意,此程序检测文件名,并不检测里面的内容..如果您输入的为te12.txt 那么& && && &只要您指定的磁盘根目录有文件是此文件名即可当成为开机密钥\n\t(这意味着磁盘里的每一个文件都可当成开机密钥,增强隐蔽性),所以你可以在tr12& && && &.txt里面加上一些内容加以掩饰\n\n&);
& & printf(&\n\t请确定是否已插入可移动磁盘~~~~\n&);
& & system(&pause&);
& & text:
& & printf(&\n\n请输入可移动磁盘盘符(输入字母即可,如输入g):&);
& & scanf(&%s&,pan);
& & printf(&\n\n请设定程序需检测认证可移动磁盘根目录上的文件名(也可以自定文件名):&);
& & scanf(&%s&,password);
/****************检测是否有该文件存在*******************/
& & strcpy(ok,pan);
& & strcat(ok,fu);
& & strcat(ok,password);
& &if((p=fopen(ok,&r&))==NULL)
{
printf(&\n\n╮(╯_╰)╭检测可移动磁盘无您指定的文件名,程序将自动创建此文件\n&);
p=fopen(ok,&w&);
fclose(p);
if((p=fopen(ok,&r&))==NULL)
{
printf(&\n\n╮(╯_╰)╭无法写入..请确定可移动磁盘是否被设为写保护或接口接触不良..\n\n&);
printf(&\n\n重新配置请输入1,返回输入0,任意输入则退出&);
scanf(&%d&,&i);
if(i==1)
else if(i==0)
return 0;
else
exit(0);
}
else
printf(&\n\n\\(^o^)/~文件创建成功...&);
fclose(p);
}
/*检测是否有该文件存在*/
& & printf(&\n\n请设定无此密码文件时登陆系统后关机时间(秒)(建议输入0,即开机后立即关机)\n【windows server 2003 支持最多600秒】:&);
& & scanf(&%s&,j);
& & strcpy(k,pd);
& & strcat(k,pan);
& & strcat(k,fu);
& & strcat(k,password);
& & strcat(k,exi);
& & strcat(k,j);
& & printf(&\n所使用的操作系统\n\n【1】windows xp\\widows 2003\n\n【2】widows 7\n\n&);
& & scanf(&%d&,&i);
& & if(i==1)
& & {
if((p=fopen(&C:\\WINDOWS\\love.bat&,&w&))==NULL)
{
printf(&\n\n\a对不起,可能因为系统盘被写保护或者操作系统不符,无法写入配置文件....\n&);
}
{
fprintf(p,k);
fclose(p);
system(&attrib +s +r +h +a %systemroot%\\love.bat&);
printf(&\n\n即将设为开机启动项..安全防护软件可能会提示请按同意..\n&);
system(&pause&);
autoo();
printf(&\n\n已设置完成..重启后立即生效~\n&);
}
system(&pause&);
system(&cls&);
return 0;
{
& && &&&if((p=fopen(&C:\\Users\\Administrator\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\love.bat&,&w&))==NULL)
{
printf(&\n\n\a对不起,可能因为系统盘被写保护或者操作系统不符,无法写入配置文件....\n&);
}
{
fprintf(p,k);
fclose(p);
printf(&\n\n即将设为开机启动项..安全防护软件可能会提示请按同意..\n&);
printf(&\n\n已设置完成..重启后立即生效~\n&);
}
system(&pause&);
system(&cls&);
return 0;
}
}
else if(i==2)
else if(i==3)
yanzhen();
exit(0);
}
/******************************U盘加锁代码************************************************/
/***************************隐私隐藏功能***********************/
int yc()
{
& & system(&cls&);
& & printf(&\n\n&&由于我对DOS命令不太熟悉..所以操作会有点繁.请按提示操作吧~(*^__^*) 嘻嘻……\n&);
& & system(&pause&);
& & a:
& & printf(&\n【1】先把要隐藏的文件压缩为RAR格式(最好就加个密码)并改名为“隐藏掉”\n&);
& & system(&pause&);
& & printf(&\n【2】然后把掩饰要隐藏文件的文件改名为“掩饰它”(建议图片格式!)\n&);
& & system(&pause&);
& & printf(&\n【3】再把这两个放到D盘根目录。即直接丢进D盘,不要放在D盘的任何文件夹里!!\n&);
& & system(&pause&);
& & printf(&\n【4】你确定做好以上的步骤了吗?返回输入1,继续输入0\n&);
& & scanf(&%d&,&i);
& & if(i==1)
& &
& & else
& & {
& & system(&copy /b d:掩饰它.????+d:要隐藏的.rar d:成功隐藏.????&);
& & printf(&\n\n若出现“已复制& & 1个文件”则成功隐藏了该文件,同时会在D盘下生成一个名叫\n“成功隐藏”的文件,然后再它命名为你喜欢的名字;若出现“已复制& &0个文件”\n则该文件没被隐藏,原因可能是你没按照上面所指示的步骤去做~\n\n\n输入【1】返回\n输入【2】返回主菜单~~\n输入【0】退出\n&);
& & scanf(&%d&,&i);
& & if(i==1)
& &
& & else if(i==2)
& & yanzhen();
& & else
& & exit(0);
& &&&}
& & }
/***************************隐私隐藏功能***********************/
& &
/*******************************功能实现代码**********************************/
/***************************注册信息保存代码************************/
int xieru()
{
FILE *
char name[20]={&\\(^o^)/~,成功咯~&};
if((fptr=fopen(&C:\\WINDOWS\\system32\\爱梦想.love&,&w&))==NULL)
{
printf(&\n\t晕啊~注册信息保存失败..是不是装了什么磁盘保护软件呢?或者中病毒?\n&);
system(&pause&);
}
{
fprintf(fptr,name);
fclose(fptr);
system(&attrib +s +r +h +a C:\\WINDOWS\\system32\\爱梦想.love&);
}
return 0;
}
/***************************注册信息保存代码************************/
/***************************注册信息读取代码************************/
int yanzhen()
{
& & FILE *
& &
& & char a[]={&\\(^o^)/~,成功咯~&},d[20];
& & if((fptr=fopen(&C:\\WINDOWS\\system32\\爱梦想.love&,&r&))==NULL)
& & zhu();
& & else
& & {
& && &&&for(i=0;!feof(fptr);i++)
& &&&{
& && && & d[i]=fgetc(fptr);
}
fclose(fptr);
if(a[6]==d[6])
yizhuce();
else
zhu();
}& &&&
}
/***************************注册信息读取代码************************/
/***************************设置开机启动项代码***********************/
/*设置开机启动*/
int autoo()
{
char regname[]=&Software\\Microsoft\\Windows\\CurrentVersion\\Run&;
HKEY hkR
int ret=RegOpenKey(HKEY_LOCAL_MACHINE,regname,&hkResult);
ret=RegSetValueEx(hkResult,&love.bat&/* 注册表键名*/,0,REG_EXPAND_SZ,(unsigned char *)&%systemroot%\\love.bat&,25);
if(ret==0){
printf(&\n\n成功加入启动项\n&);
RegCloseKey(hkResult);
}
else {
printf(&\n\n\a对不起,可能因为安全防护软件阻拦,无法设为开机自启动....\n&);
system(&attrib -s -r -h -a %systemroot%\\love.bat&);
system(&del %systemroot%\\love.bat&);
printf(&\n\n\t重新配置请输入1,返回输入0,任意输入则退出&);
scanf(&%d&,&i);
if(i==1)
u();
else if(i==0)
return 0;
else
exit(0);
}
}
/*清除开机启动*/
int dell()
{
FILE *
printf(&\n所使用的操作系统\n\n【1】windows xp\widows 2003n\n【2】widows 7\n\n&);
& & scanf(&%d&,&i);
& & if(i==1)
& & {
char regname[]=&Software\\Microsoft\\Windows\\CurrentVersion\\Run&;
HKEY hkR
int ret=RegOpenKey(HKEY_LOCAL_MACHINE,regname,&hkResult);
ret=RegSetValueEx(hkResult,&love.bat&/* 注册表键名*/,0,REG_EXPAND_SZ,(unsigned char *)&%systemroot%\\love.bat&,25);
if(ret==0){
RegCloseKey(hkResult);
if((fptr=fopen(&C:\\WINDOWS\\love.bat&,&r&))==NULL)
& & {
printf(&\n\n\t\a╮(╯_╰)╭未发现配置文件呢!~~应该已经清除了吧..( ⊙o⊙ )?\n&);
}
else
& & {
fclose(fptr);
system(&attrib -s -r -h -a %systemroot%\\love.bat&);
system(&del %systemroot%\\love.bat&);
printf(&\n\n\t成功清除启动项\n&);
printf(&\n\n\t成功清除开机加锁功能~~~&);
}
printf(&\n\n\t重新配置请输入1,返回输入0,任意输入则退出&);
scanf(&%d&,&i);
if(i==1)
u();
else if(i==0)
yizhuce();
else
exit(0);
}
else {
printf(&\n\n\a对不起,可能因为安全防护软件阻拦,无法清除开机自启动....&);
printf(&\n\n重新配置请输入1,返回输入0,任意输入则退出&);
scanf(&%d&,&i);
if(i==1)
u();
else if(i==0)
zhu();
else
exit(0);
}
}
else if(i==2)
{
& &if((fptr=fopen(&C:\\Users\\Administrator\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\love.bat&,&r&))==NULL)
& & {
printf(&\n\n\t\a╮(╯_╰)╭未发现配置文件呢!~~应该已经清除了吧..( ⊙o⊙ )?\n&);
}
else
& & {
fclose(fptr);
unlink(&C:\\Users\\Administrator\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\love.bat&);
printf(&\n\n\t成功清除启动项\n&);
printf(&\n\n\t成功清除开机加锁功能~~~&);
}
printf(&\n\n\t重新配置请输入1,返回输入0,任意输入则退出&);
scanf(&%d&,&i);
if(i==1)
u();
else if(i==0)
yizhuce();
else
exit(0);
& & }
& & int dell();
===================================================================复制代码
Powered by

我要回帖

更多关于 禺东西路开锁 的文章

 

随机推荐