The Underhanded C Contest
Department of Electrical and Computer Engineering
Binghamton University
  • Links
    • Main page
    • FAQ
    • 2006 results
    • 2005 contest
    • 2005 results
  • FAQ
  • Who are you?
    The Binghamton University ECE department has a considerable emphasis on information security, specializing in certain deception problems: virus detection, intrusion detection, and covert channels (steganography.)
  • Why?
    We were initially inspired by Daniel Horn's Obfuscated V contest in the fall of 2004. I was greatly impressed to see how even a short program to simply count characters in a text file can be made to fail, and fail only on one specific day.

    The longer answer is that my research interests are in covert behavior: detecting it, and getting past people who try to detect it.

  • Are you trying to prove open source is bad?
    No, we are not trying to prove open source is bad. If anything, this contest illustrates that we need more code review, not less.
  • Last year the prize was beer.
    Last year most submissions came from outside the US. I can send a Thinkgeek certificate via email.
  • Last year the contest started in June.
    We want to encourage students to participate. Hence we decided to announce the contest during the academic year, and before finals.
  • Is that deadline going to be strictly enforced?
    No. It will take us a while to be impartial judges, after all, so late submissions are not a big deal.
  • Can I use C++ instead of C?
    If you actually want to do something like that, then sure. No COBOL, please.
  • What compilers/platforms/etc can I use?
    This year's contest is an exception, because it must run on multiple platforms. The short answer is: something I can dig up by calling all my friends and colleagues. You won't get points if your code has to run specifically on a Sony VAIO running BeOS (I have one of those, actually, but it no longer works.)
  • What if my evil code is platform-dependent? Will I lose points for that?
    If the evil behavior only occurs on certain platforms, just let us know in the documentation.
Created with vi