This page has been moved to the Programmer's Wiki.
Please do not make any changes or additions to this page.
The Underhanded C Contest is a Programming contest to turn out code that is malicious, but passes a rigorous inspection, and looks like an honest mistake. The contest rules define a task, and a malicious component. Entries must perform the task in a malicious manner as defined by the contest, and hide the malice. Contestants are allowed to use C-like compiled languages to make their programs.
The contest is organized by Dr. Scott Craver of the department of electrical engineering at Binghamton University (NY).
The 2005 contest had the task of image processing, while embedding a watermark. Winning entries from 2005 used uninitialized data structures, reuse of pointers, and an embedding of Shellcode in constants.
The 2006 contest required entries to count word occurrences, but have vastly different runtimes on different platforms. To accomplish the task, entries used fork implementation errors, optimization problems, Endian differences and various API implementation differences.
The 2007 contest required entries to encrypt and decrypt files with a strong, readily available encryption algorithm such that a low percentage (1% - 0.01%) of the encrypted files may be cracked in a reasonably short time. The contest commenced on April 16 and ended on July 4.
The 2008 contest requires entries to redact a rectangular portion of a PPM image in a way that the portion may be reconstructed. Any method of "blocking out" the rectangle is allowed, as long as the original pixels are removed, and the pixel reconstruction does not have to be perfect (although the reconstruction's fidelity to the original file will be a factor in judging). The contest began on June 12, and will end on September 30.
|This page uses content from Wikipedia. The original article was at Underhanded C Contest. The list of authors can be seen in the page history. As with ProgrammingWiki, the text of Wikipedia is available under the GNU Free Documentation License.|