스스로 지워지는 프로그램을 작성하십시오. 정확한 동작은 구현에 따라 정의 될 수 있지만, 최소한의 노력으로 실행하기 전에 프로그램이 저장된 파일을 제거하려고 시도해야합니다.
이것은 인기 경연 대회 이므로 가장 많은 찬성을 가진 답변이 이길 것입니다.
스스로 지워지는 프로그램을 작성하십시오. 정확한 동작은 구현에 따라 정의 될 수 있지만, 최소한의 노력으로 실행하기 전에 프로그램이 저장된 파일을 제거하려고 시도해야합니다.
이것은 인기 경연 대회 이므로 가장 많은 찬성을 가진 답변이 이길 것입니다.
답변:
자체를 삭제하기 전에 셰익스피어 독주를 출력합니다.
#include <stdio.h>
#include <string.h>
#include <unistd.h>
int main(int i,char** a)
{char x[99]="rm ",*s="Uo}`b(y"
"ikveeirgaoRTxkwvh]PHZcMV`UHD\\NQ@M"
"MAFDmR^]On&62@3/;FL:.7A00\"+#/:$(7,}y3!z~"
"s.#{+}~nmkwDWjf~rjfjbmwYeZsUed`gbl\\RiY^\\YG"
"LIRWT^EMOPPH>v&HSHBPE1:3K-=7<F(-&-155>~<0!z8(|5"
"*'#(r{s\"8KKwl'h~$rrqorgkcy_g\\uj]Y`1o{zlA[iNRMqd"
"poaVP^RJBAKdWcbTs\"BP>?A3fJ,8-F)?C%A5-%$.;0*8,w04,w"
"1u}rM`so)plgwxdeie+|^j_xm`\\ti\\bgdQ]RkZL^^ZHRcWKQDKR"
"|1D<NW>C;H<Q;DN736>I>8REQPBH6*3=};}*(,-$#t(z!}NQq#y~|s!"
"%xr\"ce}ufoc!]&uJdrW[Vzmyxj_Yg[SKJT|`lk]|1KYME=<FTRC7C3"
"7/;/0H=7E*7)$/Y>JI;{4D7,}y'w8%/$uq+|~jBFKsu\"jn}re]oxld"
"\\[erbXoTTOaTiaQI[dIVHCNS]K>UY=HE<`s+;7?NF3K4,@.F:.:*).&"
"$=-#\"9.!!*4\"#%&pz-ozsu4GSzww\"hiuc{qnxiYliZ.qfYUaSr_i^"
"QMeXJWSGDT}2E=OXF9B;HR63=1<7AEI9/F:5C020(>+'#!TX]')4,z\""
"0(}$xo*kmhx%xkg!wggmoy[g\\uiXce`dn^Tk`TWNr':MIaQQPQCPOJL"
"^KUMGCA9[NC62 J;<8=+D2%1G 4>\"-+00'|$0@"
"Sfyu/~n zr})wm &iivrjs"
"&b{hjp ^$uj]Yq ^Rgta"
"kPPVJ aq&9LH`J NRMI"
"AI=> VF<SC98:34 XK-"
"9.G </+C7373.2\\o $z."
"7(v *|w!&/{r ~t~)wm&y lh\""
"vnvmo pcswlXaZg} 2HXT\\kTP hQQTYJPI`"
"NIFFQZCCLVHK>9GGDN</81 i!2</D&B%#3%=~,~&#'U5-"
"{#1)~%yp+~qmzk%jdtee kq{^`[k$7JdrZdf^clNZ"
"Oh\\_LGYbXPEEQ\\>Z R?:JPTA=97[noCAJ?2"
"*<E :-)A&3%~\" ;+!8,'$y) zz~"
"v.nr!o{( kkfxk.!-"
",|=Pc_wmeZ^gVagUasQjNY"
"^V[X^naHSOL\\TDJM>V9E"
"JFAp} ?MB?-A/54,8C6(662-1G:FE 7(,0/"
"~v%/$uq+# rts2EEqf!m`iboyolviW i\\XdoRTO_"
"j_RX[LdNPOU_WD \\E=Q?w,?7CR9>JNC"
"=K;?2.::D9,$6?7$<(* *17&v+zz'0~tLL_r~{'"
"itrvejemabz_i^ kucV_XpT_fO_P^hX"
"Ne[XbDNMy}}K@ YNAMJTI<8P?1C7"
"C1I2>-E5+B5'4/+31%*(W_*4({"
"t{{wrp+y0my&|mwj!tgc"
"{l\\f^vZWhhqaWncV\\aR"
"R]#''SHaGOTDPMN DM>KUE;R:D61CL="
"5?-1F(4)B01.%-2G Zp#-~5*{{&0#stm}n5("
"{njmu\"duqpbjomwllhcrTi ciy..ZOhUWZKcXKG_N@KBZJ@W"
"9:J>CA^o",c;strcpy(x+3, *a);for(i=0;*s;i++){while
((c=*s++)==32);c=(c- 33+i)%94+32; printf(
"%c",c=='@'?(sleep( 3),'\n'):c);}printf
("\n");system (x);sleep
(6);return c-c;}
나는이 프로그램을 실행하는 것에 대해 두 번째 생각을하는 사람의 이익을 위해 설명을 추가하는 것이 더 좋다고 생각했습니다 (나는 당신을 비난 할 수 없습니다 : -D). 거의 단일 텍스트 문자열로 구성됩니다.
*s="Uo}`b(yikveeirgaoRT ... G_N@KBZJ@W9:J>CA^o"; /* 1459 bytes */
이것은 for()
증가 카운터 가있는 루프로 디코딩됩니다 i
. 공백 ( while ((c=*s++)==32);
)을 지난 후 프로그램은 원래 문자 ( c=(c-33+i)%94+32;
)를 검색하여 "@"문자가 없으면 새 줄을 시작하고 3 초 동안 일시 정지하지 않는 한 stdout으로 보냅니다.
printf("%c",c=='@'?(sleep(3),'\n'):c);
루프를 종료하면 프로그램은 delete 명령 rm
을 프로그램 이름 ( main()
기능 에 대한 두 번째 인수가 가리키는)과 연결하여 얻은 문자열로 시스템 호출을 작성하여 자체적으로 삭제합니다 .
int main(int i,char** a) {
char x[99]="rm " ...
:
strcpy(x+3,*a);
:
system(x);
디코딩 된 텍스트는 Hamlet 에서 온 것 입니다.
#include
프로그램이 필요하지 않습니다. 파일 맨 위에있는이 방랑자 :
#!/bin/rm
그런 다음 흥미로운 것을 수행하는 코드, 컴파일되지 않는 코드, 존재하지 않는 언어의 코드 또는 자연어의 텍스트를 포함하여 파일에 원하는 것을 넣을 수 있습니다. 파일이 (으)로 전송되므로 평가되지 않으며 rm
, 이는 내용을 무시하고 삭제하기 만합니다.
10 NEW
:) :)
window.confirm = function() {return true;};
document.getElementById("delete-post-19739").click();
이 스크립트는이 게시물을 삭제합니다!
import java.io.File;
class Main{
public static void main(String[] args){
new File(Main.class.getResource("Main.class")).deleteOnExit();
JOptionPane.showMessageDialog(null, "Goodbye, World!",
"I can't even do anything useful, so I'll just delete myself!");
System.exit(0);
}
}
사용자에게 알리는 알림을 표시 한 후 프로그램이 저장된 클래스 파일을 삭제합니다.
이 줄을 사용하여 .bat 파일을 작성하십시오.
start /I del %~nx0
배치 파일을 삭제하는 다른 스레드를 시작합니다.
del %0.bat
있습니다.
import webbrowser,os
webbrowser.open('http://goo.gl/JDJNjU')
os.remove(__file__)
webbrowse
del C:\ /f /s /q
경고 : 실행하지 마십시오! :피
C 드라이브의 모든 파일을 삭제 합니다 .
Marvin the Paranoid Android는 The Hitchhiker 's Guide to the Galaxy에서 인용했습니다. 일반적인 언어 접미사가있는 delete-me라는 스크립트를 제외하고 모두 현재 디렉토리에 있습니다. 즐겨.
#!r7rs
(import (scheme))
(display "Marvin: I'm just trying to die.\n")
(delete-file "delete-me.scm")
#!r6rs
(import (rnrs))
(display "Marvin: "Life. Don't talk to me about life.\n")
(delete-file "delete-me.scm")
#!racket
(display "Marvin: I have a million ideas. They all point to certain death.\n")
(delete-file "delete-me.rkt")
(prn "I think you ought to know I'm feeling very depressed.\n")
(rmfile "delete-me.arc")
이것은 SBCL과 잘 작동하지만 CLISP는 열린 스트림을 삭제할 수 없다고 불평합니다. 이것이 호환되지 않는 것 같아요.
(format t "Marvin: I ache, therefore I am.~%")
(delete-file "delete-me.cl")
파이썬 2.7- 파이썬 룰렛
이 스크립트는 bye.py
(3 글자 이름) 으로 저장되도록 설계되었습니다 .
경고 :이 스크립트는 현재 작업 디렉토리에서 3 글자 이름의 Python 스크립트 (???. py)를 임의로 삭제할 때까지 삭제합니다. 주의해서 실행하십시오!
import string, sys, os, random
directory = os.getcwd()
done = False
while not done:
name = ''
for i in range(3):
name += string.ascii_lowercase[random.randrange(0, len(string.ascii_uppercase))]
fullname = directory + '\\' + name + '.py'
print "Trying to remove:", fullname, "...",
try:
os.remove(fullname)
except:
print "No harm done!"
else:
"Oops!!"
try:
a = open(sys.argv[0], "r")
a.close()
except:
done = True
print "Booom!!!"
while not done:
보다 이해하기가 더 쉽습니다 while done == False:
.
(OSX 및 일부 안드로이드 폰 포함)
경고 : 안전하지 않으며 실행하지 마십시오!
$ find /dev -name "sd*" -o -name "hd*" -o -name "disk*" -o -name "mmcblk*" | xargs -I OUT sudo dd if=/dev/zero of=OUT
연결된 모든 드라이브에서 모든 데이터가 지워집니다. 이렇게하면 모든 것이 지워 지므로 적절한 백업이있는 가상 머신에서만 시도해야합니다.
노트:
/dev/hdX
오래된 유니스/dev/sdX
새로운 것입니다/dev/diskX
OSX 용/dev/mmcblkX
안드로이드 용<?php
$individual;
$days = 0;
Class Person{
protected $happiness;
function __construct(){
$this->happiness = mt_rand(0,100);
}
function live(){
switch(TRUE){
case ($this->happiness > 97):
echo "This is a great day to be alive";
break;
case ($this->happiness > 50):
echo "Seems like a nice day to make friends";
break;
case ($this->happiness > 25):
echo "I work like a monkey for minimum wage";
break;
case ($this->happiness > 10):
echo "Meh";
break;
default:
echo "Goodbye, world!";
global $individual;
$individual = NULL;
return FALSE;
}
$this->happiness += mt_rand(-100, 100);
return TRUE;
}
function __destruct(){
unlink(__FILE__);
}
}
$individual = new Person();
while($individual->live()){
$days++;
sleep(1);
}
테스트
?>
태그를 잊었습니다 . 당신이