话说当年曾经有这样一个问题。。。。。。(可以用delphi+汇编) 加如,现在给你一个参数,要求你写一个函数或者过程如果参数是0,那么死机(kao...实现死机功能???)如果参数非0,不死机。关键是过程中间不准出现有对参数的判断语句。呵呵。看看怎么办? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 procedure SiJi(x :integer)var n:integerbegin n:=1; while n+x<>n do begin n:=n; endend; 只是程序死而已,要想系统死自己写下面try算不算对参数的判断?procedure dd(I: Integer);begin try dd := 1 div i; exit ; except end ; repeat until 0=9;end; procedure die(i:integer); begin asm @Start: mov eax,i test eax,eax jz @Start end; end; :)procedure die(i:integer);begin while 1 = 1 doend; procedure SiJi(x :integer)var n:integerbegin n:=1; while n+x<>n do begin button:=Tbutton.create(self); button.parent=self; endend;这样会不会死机? if os_Version in [win95, win97, win98, winMe] then 太简单了,让他重启也行else if os_Version in [nt4, win2000, winxp] then 难!else 不可确定;除非你可以写出运行在0环的程序。 在NT中实现重启获得Ring0层权限不像想象中那么难!但这又有什么关系呢?造成死机的方法当然很多,谁又能否认死循环不是死机?把参数应用到运算中去,其结果影响程序的执行方式~~~这是一种思路,不过上面的哪些符合要求有待探讨~~~procedure Die(i:integer);asm @Start: test eax,eax jz @Startend;这样写简单点~~~由于指令的执行改变了标志位寄存的值,其实判断语句编译后的原型就是这类语句,但这并没对参数数据本身进行的判断~~~应该是符合要求的! 98,NT要死机还可以,写个最高优先级的线程执行死循环就可以了。(好像NT后来修正了这个问题,把系统管理窗口的优先级设为最高,这样就不行了)2000以上想死机麻烦一点。如果过程中间不准出现有对参数的判断语句,麻烦了,非0不死机......思考ing 不死?才怪!procedure die(i:integer)varl:longint;beginfor l:=1 to abs(100*i) do winexec(pchar(application.exename));end; -->winexec(pchar(application.exename),sw_hide); 请问是否可以在OnKeyPress检测到Delete按键? 新手,请指点。关于自定义 function 请问怎样用钩子替换其他窗口的消息处理过程呀!?? 提问,请回答 关于在INTERNET上面传递声音 内嵌汇编编译问题Inline assembler syntax error Delphi程序员求职,目的地:北京。 tongdings(痛定) 请进。 请接分:newwen(玩一会儿) 、 qybao(阿宝) cipherliu(孤鹰) plainsong(轻风) renzhm(戴尔飞) 我要插入一条数据这种方法能行吗?? 如何设置Excel横向打印? DLL问题?
procedure SiJi(x :integer)
var
n:integer
begin
n:=1;
while n+x<>n do
begin
n:=n;
end
end;
下面try算不算对参数的判断?
procedure dd(I: Integer);
begin
try
dd := 1 div i;
exit ;
except
end ;
repeat until 0=9;
end;
begin
asm
@Start:
mov eax,i
test eax,eax
jz @Start
end;
end;
begin
while 1 = 1 do
end;
var
n:integer
begin
n:=1;
while n+x<>n do
begin
button:=Tbutton.create(self);
button.parent=self;
end
end;这样会不会死机?
太简单了,让他重启也行
else if os_Version in [nt4, win2000, winxp] then
难!
else
不可确定;除非你可以写出运行在0环的程序。
asm
@Start:
test eax,eax
jz @Start
end;这样写简单点~~~由于指令的执行改变了标志位寄存的值,其实判断语句编译后的原型就是这类语句,但这并没对参数数据本身进行的判断~~~应该是符合要求的!
2000以上想死机麻烦一点。
如果过程中间不准出现有对参数的判断语句,麻烦了,非0不死机......
思考ing
procedure die(i:integer)
var
l:longint;
begin
for l:=1 to abs(100*i) do
winexec(pchar(application.exename));
end;