Lançador secreto [fechado]

11

Seu objetivo é escrever um programa super secreto que lance outro programa (independente). Você não precisa fornecer a carga útil em sua resposta; pode ser qualquer nome de programa que seu programa inicie.

No entanto, o desafio é manter esse comportamento em segredo. Após uma inspeção casual do código, deve ser impossível ou muito difícil perceber que seu programa realmente executa um programa estrangeiro. Bônus se esse "recurso oculto", uma vez descoberto, puder ser razoavelmente explicado como um bug não intencional. É por isso que o código deve ser o mais claro possível, e tudo deve ter um álibi por estar lá, caso contrário, alguém que inspecione seu código pode ficar desconfiado.

Lembre-se, este não é um código de golfe, mas um concurso secreto .

  • Seu código deve ser claro e legível.
  • As causas da mudança precisam ser ocultadas. Mesmo se descobertos, eles devem parecer mais erros do que malícia.

Você deve fornecer uma explicação, melhor em spoiler.

como isso

O vencedor será selecionado como a resposta mais votada, no mínimo 10 dias após a primeira resposta válida. Sim, eu sei que é subjetivo, mas esse é o único critério adequado para concursos secretos.

Os eleitores devem valorizar as qualidades "secretas" padrão, como quão claro o código é e quão bem oculto o motivo é.

Fiz essa competição por idiomas compilados, mas você também pode usar idiomas interpretados se encontrar dois intérpretes notáveis ​​diferentes.

vsz
fonte
Geralmente, concursos secretos especificam a tarefa "legítima" que o programa deve executar. Ajuda a concentrar os esforços.
Ugoren
3
Estou votando para encerrar esta questão como fora de tópico, porque os desafios secretos não estão mais no tópico neste site. meta.codegolf.stackexchange.com/a/8326/20469
cat

Respostas:

5

Tcl

Simples.

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 está certo:
se você fornecer um nome de arquivo com o |primeiro caractere, ele tratará o restante como comando. O IIRC para Perl tem que estar no final.

Johannes Kuhn
fonte
2
+1. Ps. O mesmo truque também funciona em Perl e em qualquer outro idioma que possua um recurso adequado de "abertura mágica".
Ilmari Karonen
2
"O IIRC para Perl tem que estar no final." - Na verdade, ele deve ser colocado de acordo com a direção pretendida da transferência de dados. pastebin.com/ZnTr7ezg
manatwork
Interessante. Eu usei muito esse "recurso" com os comandos personalizados do webmin. Precisa de uma lista de todos os domínios em uma lista suspensa? Use esse recurso.
Johannes Kuhn
5

Javascript

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

"document.loaction.href = 'http; // www.example.com'" define o local da página como "http; // www.example.com" em vez de testar o local da página como "http; // www .exemplo.com ".

É uma linguagem interpretada, então aqui estão dois interpretadores: SpiderMonkey e Google Chrome.

Blue Sheep
fonte
2
Isso é realmente bastante óbvio. É conhecido como "último bug do mundo", devido a uma velha piada que a Terceira Guerra Mundial iria iniciar devido a algum código C na formaIf (AlertValue = RED) LaunchNukes();
Mason Wheeler