28º Concurso Internacional de Código C Ofuscado
(ioccc.org)- O IOCCC28 deste ano foi retomado após 4 anos e recebeu numerosas entradas de código C de alta complexidade de desenvolvedores de todo o mundo
- A reconstrução do site e da infraestrutura, a adoção do mkiocccentry toolkit e a melhoria do sistema de submissão elevaram muito a eficiência operacional
- Embora o processo de julgamento tenha ficado ainda mais complexo e rigoroso do que antes, o período de avaliação foi bastante reduzido em relação ao normal
- Embora a regra de tamanho do código tenha sido relaxada, vários trabalhos pequenos e de alta qualidade foram selecionados, o que sugere que mudanças futuras nas regras do concurso serão limitadas
- Trabalhos vencedores interessantes e originais, técnicas de ofuscação e máquinas virtuais/emuladores experimentais foram apresentados, contribuindo para elevar o nível da programação em C
Visão geral do IOCCC28 e contexto de realização
- O 28º International Obfuscated C Code Contest (IOCCC28), realizado em 2024, foi uma competição de código C criativo e de leitura difícil com participação de desenvolvedores do mundo todo, após um hiato de 4 anos
- Durante esse período, o site oficial da IOCCC foi totalmente reconstruído em grande escala sob o nome de "Great Fork Merge", com mais de 6.168 commits
- Em termos operacionais, foram aplicadas várias inovações, como a adoção do mkiocccentry toolkit, novo fluxo de cadastro e servidor de submissão, melhorando a eficiência de julgamento e a velocidade de divulgação do código
- As inscrições foram aceitas de 5 de março de 2025 a 5 de junho de 2025, e o julgamento terminou em apenas "33 dias", com o código-fonte de todas as obras sendo publicado em cerca de 2 horas após o fim do concurso
Entradas e tendência de seleção
- Como o número de entradas e a qualidade do IOCCC28 aumentaram bastante este ano, a dificuldade de seleção também subiu, e foram emitidos 23 vencedores, o maior número já registrado
- "Embora a pausa de 4 anos tenha permitido a vinda de melhores entradas, no geral os participantes também mostraram progresso evidente em habilidades de ofuscação e programação em C"
- Embora tenha sido aplicado um novo limite de tamanho de código (com aumento de cerca de 21%), mais da metade dos vencedores foi submetida com menos de 2/3 do limite total, e 10 delas abaixo de menos de metade do tamanho, mostrando eficiência e qualidade
- Por isso, prevê-se que haja pouca alteração nas regras de tamanho de código nos próximos 10 anos
Regras de julgamento e planos futuros
- As regras e diretrizes da IOCCC serão revisadas para ficarem ainda mais inovadoras e intuitivas, e os IOCCC Judges devem iniciar os preparativos para o IOCCC29, previsto para dezembro de 2025
- Também há planos de preparar correções com base em Pull Request para o repositório GitHub de vencedores da IOCCC e para o repositório do mkiocccentry toolkit
Destaques e vencedores
-
Foram selecionados vencedores de diversos temas, com as seguintes obras e características principais:
- ChatIOCCC: implementação de um mecanismo de inferência LLM de código aberto baseado em LLaMA 2 da Meta como o mecanismo de inferência LLM mais minimalista do mundo, oferecendo uma função de chatbot divertida
- Eh: implementação de um código ofuscado de editor com acento UTF-8 que é mais prática que o ed(1)
- One-liner de 135 bytes: código extremamente curto e ofuscado que executa várias saídas com base em valores hexadecimais inseridos
- C Preprocessor Art: renderização de imagem executando o pré-processador entre milhares e centenas de milhares de vezes, com tempo de execução de script muito longo e experiência única
- Z₃ Virtual Machine: máquina virtual baseada na terceira versão da Z-machine; a interpretação do código-fonte pode ser apreciada como um jogo
- Ambiente virtual com emulador C64: máquina virtual onde é possível testar com segurança cenários potencialmente danosos, como fork bomb, exclusão de arquivos etc., incluindo o C64
- Emulação do chip Intel 4004: reprodução artística que emula em nível de porta o circuito do primeiro microprocessador comercial do mundo lançado em 1971
- Multilingual Puzzle: ofuscação inovadora para pessoas familiarizadas com pelo menos três linguagens (C, inglês e outras)
Participantes e recomendações futuras
- A ofuscação semelhante a obras vencedoras anteriores recebe pontuação menor, e originalidade e acabamento são critérios principais de julgamento
- Para participantes não premiados, recomenda-se tentar novamente com melhorias ou explorar abordagens diferentes
- A publicação separada de obras não vencedoras também é bem-vinda
Guia de compilação e execução dos vencedores
- Podem existir problemas de compatibilidade com alguns compiladores C; recomenda-se usar a versão mais recente do clang ou gcc
- O FAQ e a documentação oficial orientam sobre como resolver problemas e enviar correções
Download dos vencedores do IOCCC28 de 2024
- O conjunto completo dos vencedores é fornecido como arquivo compactado (2024.tar.bz2), e é possível aprender técnicas de ofuscação originais revisando a página detalhada de cada obra, o código-fonte e os comentários do autor
(Para links de download de vencedores e a descrição detalhada por vencedor acessíveis diretamente no conteúdo, consulte o site oficial)
Ainda não há comentários.