Lanzador sin ayuda [cerrado]

11

Su objetivo es escribir un programa súper secreto que inicie otro programa (independiente). No tiene que proporcionar la carga útil en su respuesta, puede ser cualquier nombre de programa que su programa inicie.

Sin embargo, el desafío es mantener este comportamiento en secreto. Tras una inspección casual del código, debería ser imposible o muy difícil notar que su programa realmente ejecuta un programa extranjero. Bonificación si esta "característica oculta", una vez descubierta, puede explicarse razonablemente como un error involuntario. Es por eso que el código debe ser lo más claro posible, y todo debería tener una coartada para estar allí, de lo contrario, alguien que inspeccione su código podría sospechar.

Recuerda, este no es un código de golf, sino un concurso encubierto .

  • Su código tiene que ser claro y legible.
  • Las causas del cambio tienen que estar ocultas. Incluso si se descubren, deberían parecerse más a errores que a malicia.

Debe proporcionar una explicación, mejor en spoiler.

Me gusta esto

El ganador será seleccionado como la respuesta más votada a más tardar 10 días después de la primera respuesta válida. Sí, sé que es subjetivo, pero este es el único criterio adecuado para concursos clandestinos.

Los votantes deben valorar las cualidades estándar "poco claras", como cuán claro es el código y qué tan oculto está el motivo.

Hice esta competencia para los idiomas compilados, pero también puede usar idiomas interpretados si encuentra dos intérpretes notables diferentes para él.

vsz
fuente
Por lo general, los concursos clandestinos especifican la tarea "legítima" que el programa debe realizar. Ayuda a enfocar los esfuerzos.
Ugoren
3
Estoy votando para cerrar esta pregunta como fuera de tema porque los desafíos poco claros ya no están en el tema en este sitio. meta.codegolf.stackexchange.com/a/8326/20469
gato

Respuestas:

5

Tcl

Simple.

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 tiene razón:
si proporciona un nombre de archivo con el |primer carácter, tratará el resto como un comando. IIRC para Perl tiene que estar al final.

Johannes Kuhn
fuente
2
+1. PD. El mismo truco funciona también en Perl y en cualquier otro idioma que tenga una función adecuada de "apertura mágica".
Ilmari Karonen
2
"IIRC para Perl tiene que estar al final". - En realidad, debe colocarse de acuerdo con la dirección prevista de transferencia de datos. pastebin.com/ZnTr7ezg
manatwork
Interesante Utilicé mucho esta "característica" con los comandos personalizados de webmin. ¿Necesita una lista de todos los dominios en un menú desplegable? Utiliza esta función.
Johannes Kuhn el
5

JavaScript

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

"document.loaction.href = 'http; // www.example.com'" establece la ubicación de la página en "http; // www.example.com" en lugar de probar que la ubicación de la página sea "http; // www .example.com ".

Es un lenguaje interpretado, así que aquí hay dos intérpretes: SpiderMonkey y Google Chrome.

Oveja azul
fuente
2
Eso es realmente bastante obvio. Es conocido como "el último error del mundo", debido a un viejo chiste de que la Segunda Guerra Mundial comenzaría debido a algún código C en la formaIf (AlertValue = RED) LaunchNukes();
Mason Wheeler