언더 핸드 런처 [닫힘]


11

당신의 목표는 다른 (독립) 프로그램을 시작하는 비밀 프로그램을 작성하는 것입니다. 답에 페이로드를 제공 할 필요는 없으며 프로그램이 시작할 프로그램 이름 일 수 있습니다.

그러나 문제는이 동작을 비밀로 유지하는 것입니다. 코드를 일시적으로 검사하면 프로그램이 실제로 외국 프로그램을 실행한다는 것을 알기가 불가능하거나 매우 어렵습니다. 이 "숨겨진 기능"이 일단 발견되면 의도 치 않은 버그로 합리적으로 설명 할 수있는 경우 보너스. 그렇기 때문에 코드가 가능한 명확해야하고 모든 것이 존재하기위한 알리바이가 있어야합니다. 그렇지 않으면 코드를 검사하는 사람이 의심 될 수 있습니다.

이것이 기억 하지 코드 골프하지만 불공정 대회.

  • 코드는 명확하고 읽을 수 있어야합니다.
  • 변경의 원인을 숨겨야합니다. 발견 되더라도 악의적 인 것보다 버그처럼 보일 것입니다.

스포일러에 가장 적합한 설명을 제공해야합니다.

이처럼

우승자는 첫 번째 유효한 답변 후 10 일 이내에 가장 높은 투표 응답으로 선정됩니다. 그렇습니다. 주관적이라는 것을 알고 있지만 이것이 미성년자 컨테스트에 적합한 유일한 기준입니다.

유권자들은 코드가 얼마나 명확한 지, 그 이유가 얼마나 숨겨져 있는지와 같은 표준 "언더 맨드 (underhanded)"자질을 평가해야합니다.

나는 컴파일 된 언어에 대해이 경쟁을 벌였지 만, 당신이 그것에 대해 주목할만한 두 개의 다른 통역사를 찾으면 해석 된 언어를 사용할 수도 있습니다.


일반적으로 언더 핸드 컨테스트는 프로그램이 수행해야하는 "합법적 인"작업을 지정합니다. 노력에 집중하는 데 도움이됩니다.
ugoren

3
나는이 문제를 주제로 다루지 않기로 결심했다. 왜냐하면이 사이트에서 미숙 한 도전은 더 이상 주제가 아니기 때문이다. meta.codegolf.stackexchange.com/a/8326/20469
cat

답변:


5

Tcl

단순한.

proc main {} {
    set fd [open filenames.txt]
    while {[gets $fd line] ne ""} {
        set other [open $line w]
        puts $other [clock format [clock seconds]]
    }
}
main

Ilmari Karonen옳음 :
파일 이름을 |첫 문자로 제공하면 나머지는 명령으로 취급됩니다. Perl의 IIRC는 마지막에 있어야합니다.


2
+1. 추신. 동일한 트릭은 Perl과 "매직 오픈"기능이있는 다른 언어에서도 작동합니다.
Ilmari Karonen

2
"Perl의 IIRC는 마지막에 있어야합니다." – 실제로 의도 된 데이터 전송 방향에 따라 배치해야합니다. pastebin.com/ZnTr7ezg
manatwork

모욕. 이 기능을 webmin의 커스텀 명령과 함께 많이 사용했습니다. 드롭 다운에 모든 도메인 목록이 필요하십니까? 이 기능을 사용하십시오.
Johannes Kuhn

5

자바 스크립트

if(document.location.href = 'http://www.example.com') foo();

"document.loaction.href = 'http; // www.example.com'"은 페이지 위치를 "http; // www로 테스트하는 대신 페이지 위치를"http; // www.example.com "으로 설정합니다. .example.com "

통역 된 언어이므로 SpiderMonkey와 Chrome의 두 가지 통역사가 있습니다.


2
실제로는 꽤 분명합니다. WWIII 양식의 일부 C 코드로 인해 시작하는 것 때문에 오래된 농담에 "세계의 마지막 버그"로 알려진If (AlertValue = RED) LaunchNukes();
메이슨 윌러에게
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.