44

8月15日、第8回目となる「Underhanded C Contest」の開催が発表された。

Underhanded C Contestはある簡単なデータ処理問題を解決するコードの開発を競うコンテストで、ソースコードはシンプルでわかりやすく、信頼が置けるように見えるものでなければならないとされている。

このコンテストが面白いのは、素晴らしいソースコードの記述を競うように見せかけつつも、裏では悪意ある動作をするような機能を実装しなければならない点にある。

プログラミングには、逆コンパイルや逆アセンブラによるソースコードの解析を防いだり、スクリプトを人間が解読しにくい状態に変換したりする難読化と呼ばれる技術があるが、Underhanded C Contestの取り組みは難読化の方向性が真逆である。

Underhanded C Contestでは人間に理解しやすい綺麗なソースコードを書きつつ、裏には悪さを働く機能を気づかれないように実装することを求めている。

http://news.mynavi.jp/news/2015/08/18/186/

The 8th Underhanded C Contest is now Open
http://www.underhanded-c.org/


スポンサードリンク
71: ドラゴンスリーパー(チベット自治区)@\(^o^)/ 2015/08/19(水) 23:54:45.44 ID:hvYx6A4V0.net

とんでもない発想のコンテストだな


2: エルボードロップ(庭)@\(^o^)/ 2015/08/19(水) 22:03:27.34 ID:8XU5y5cg0.net

while(true){}


13: 張り手(チベット自治区)@\(^o^)/ 2015/08/19(水) 22:11:54.58 ID:lcFYyZQw0.net

>>2


3: アンクルホールド(新疆ウイグル自治区)@\(^o^)/ 2015/08/19(水) 22:03:37.06 ID:57mzVNdg0.net

rm * .obj


6: ハーフネルソンスープレックス(catv?)@\(^o^)/ 2015/08/19(水) 22:06:00.92 ID:u3wqcGH80.net

>>3
懐かしいw


104: セントーン(catv?)@\(^o^)/ 2015/08/20(木) 07:43:16.95 ID:jmK3SHtt0.net

>>3
ぶち殺すぞ


9: 張り手(山梨県)@\(^o^)/ 2015/08/19(水) 22:08:42.92 ID:jrm0WUyt0.net

.mpg .exe


70: ダイビングエルボードロップ(庭)@\(^o^)/ 2015/08/19(水) 23:50:22.82 ID:j7MAA1No0.net

>>9
懐かしいなあ

初期の共有ソフトに大量にあったわ


8: 河津掛け(チベット自治区)@\(^o^)/ 2015/08/19(水) 22:07:34.08 ID:HWNQRxoo0.net

ポインターが不具合の元凶


4: ストマッククロー(東京都)@\(^o^)/ 2015/08/19(水) 22:04:39.83 ID:8Di2nvXW0.net

演算子でポインタずらすのは初歩の初歩


7: 垂直落下式DDT(東京都)@\(^o^)/ 2015/08/19(水) 22:07:08.82 ID:T2uEv/Lo0.net

nul po


49: ドラゴンスクリュー(やわらか銀行)@\(^o^)/ 2015/08/19(水) 23:02:03.66 ID:MK+flMrk0.net

>>7
gattu


5: キングコングニードロップ(東京都)@\(^o^)/ 2015/08/19(水) 22:05:40.77 ID:epKu5aCU0.net

printf{"Hage World!"};


11: ダイビングエルボードロップ(空)@\(^o^)/ 2015/08/19(水) 22:11:10.48 ID:f43RjAGe0.net

printf("Hello Work")


55: イス攻撃(東京都)@\(^o^)/ 2015/08/19(水) 23:21:18.48 ID:+oNTxgWc0.net

>>11
今のところこいつが一番悪意あるわ


15: 急所攻撃(やわらか銀行)@\(^o^)/ 2015/08/19(水) 22:17:47.31 ID:ygYTW0Ty0.net

ヘッダーファイルの中身を悪さするやつにすれば一見しても正常なプログラムに見えると思うが
そういうレベルじゃないんだろうな


16: トペ コンヒーロ(catv?)@\(^o^)/ 2015/08/19(水) 22:18:12.11 ID:xq1UDbUV0.net

すげー、俺には無理な世界


17: オリンピック予選スラム(家)@\(^o^)/ 2015/08/19(水) 22:18:14.32 ID:3qCkIj8I0.net

ジョークソフトで
起動するとひたすらプリンタの紙を送り出すってのがあったな


24: 逆落とし(東京都)@\(^o^)/ 2015/08/19(水) 22:24:21.90 ID:Kw/hK+hr0.net

>>17
俺が初めて踏んだウイルスは、ディスクトレイがひたすら開いては閉じるを繰り返す、だった
一人ビビって震えてたことがある
15年前だけど…
しかも、震えてる最中に部屋中に響いた、お袋の「ご飯できたよー!何回言わせるのー!何してるのー!」という声と
お袋がこちらに来る足音が余計怖くて怖くて…

家族共用のパソコンを壊してしまったことと、
エロ動画で「また」感染してしまったという罪悪感で苦しかった記憶


26: ラダームーンサルト(福岡県)@\(^o^)/ 2015/08/19(水) 22:25:56.71 ID:ITEPRJqU0.net

>>24
スマン爆笑してしまった


30: 逆落とし(東京都)@\(^o^)/ 2015/08/19(水) 22:33:10.80 ID:Kw/hK+hr0.net

>>26
笑ってあげてください
「また」というのは、気がついたらユーザー画像とデスクトップがおっぱいになり、
回線がダイヤルQ2になってしまったという前科です
「ラーメンのびちゃうでしょ!何してんの!」
というお袋の突進に、震えながら誤魔化した矢先の、これでした

当時は、画像のダウンロードもカクカクで、上から段階的に表示されたのです
「お?可愛い…、お!胸デケェ!これはスゲエ!」と思っていたら
その方は男性器をお持ちでした
ふたなりさん、という用語を初めて知りました


32: ダイビングエルボードロップ(九州地方)@\(^o^)/ 2015/08/19(水) 22:37:15.34 ID:otuR9QSbO.net

昔だったらスレがもうこの時点で、ノートン先生大激怒でパソコンが物故わされてた
エロサイトを開き続けるウィンドウ、鳴り響くビープ音、開閉するトレイ、後ろでよからぬ作動して勝手に何やら送信しているプログラム…

殺るか殺られるか、そんな空気


44: 逆落とし(東京都)@\(^o^)/ 2015/08/19(水) 22:47:59.78 ID:Kw/hK+hr0.net

>>32
ありましたね
セキュリティソフトがうっとおしい、邪魔すんな!暴れるな!と思うレベルで、
うぉーうぉーうぉートゥナイト!って騒ぐスレとかありました

あの殺伐感、地雷原を走って渡る緊張感は好きでしたね
今はもう再現できないでしょうけどこんにちは!よろしくね!が、
死ね、殺す、失せろ、パパの精液がシーツのシミになり、ママの割れ目に残ったカスがおまえだ!
だった頃の話ですが


21: フロントネックロック(SB-iPhone)@\(^o^)/ 2015/08/19(水) 22:20:45.50 ID:JFCUQ0nv0.net

string str = "";
for(int i=0;i<99999;i++)
str=str + i;


23: 張り手(チベット自治区)@\(^o^)/ 2015/08/19(水) 22:24:15.90 ID:lcFYyZQw0.net

>>21
最近のCの文字列ポインタってこういう宣言が許されるの?


56: フェイスロック(空)@\(^o^)/ 2015/08/19(水) 23:26:04.04 ID:cUcEKIfL0.net

>>23
俺の知っているCではねーなー


59: 膝靭帯固め(大阪府)@\(^o^)/ 2015/08/19(水) 23:29:52.33 ID:xcFoYtUz0.net

>>56
string使ってるからC++のSTL何だろうけどCでコンパイルWARNINGさえ止めれば動きそうだな


64: アルゼンチンバックブリーカー(catv?)@\(^o^)/ 2015/08/19(水) 23:41:24.81 ID:QH9hSBgD0.net

>>59
そもそもstring と int加算してるけどこのままで通るのか?


67: 膝靭帯固め(大阪府)@\(^o^)/ 2015/08/19(水) 23:43:50.09 ID:xcFoYtUz0.net

>>64
まあC++コンパイラは絶対無理だな。
string をchar *でtypedefするとかでどうだろう


31: ミッドナイトエクスプレス(静岡県)@\(^o^)/ 2015/08/19(水) 22:34:45.11 ID:CM8Wr05j0.net

なんだよ、おまえら普通に書けばいいんじゃん。
普通に入るだろバグwww


28: エルボードロップ(神奈川県)@\(^o^)/ 2015/08/19(水) 22:30:53.03 ID:1jLZJtWT0.net

シングルクォートとダブルクォートで
挙動が違ってアタフタした記憶が。


33: 栓抜き攻撃(北海道)@\(^o^)/ 2015/08/19(水) 22:37:38.46 ID:FoUOlDLm0.net

悪意のあるコードは偶然に、しかも意図せず
書いてしまうよね

”まとも”かどうかは別としても


92: ウエスタンラリアット(大阪府)@\(^o^)/ 2015/08/20(木) 01:56:59.57 ID:lxghr0Wj0.net

善意ある悪質なコード


81: ジャンピングDDT(三重県)@\(^o^)/ 2015/08/20(木) 01:08:39.60 ID:706gQaUI0.net

なんちゅう課題だw


80: ミラノ作 どどんスズスロウン(北海道)@\(^o^)/ 2015/08/20(木) 01:08:06.15 ID:s9QiK4P40.net

日本はウィルスを作ると違法。


58: ドラゴンスープレックス(SB-iPhone)@\(^o^)/ 2015/08/19(水) 23:28:49.10 ID:lCF1wDjg0.net

一番始めに変なの踏んだのはwinduke.exeってやつだな
15年以上前だったけどPCが起動しなくなって焦ったわ
結局修理に出した


34: フェイスクラッシャー(新疆ウイグル自治区)@\(^o^)/ 2015/08/19(水) 22:41:37.68 ID:4J4zeRMw0.net

concon


84: ミドルキック(愛知県)@\(^o^)/ 2015/08/20(木) 01:16:55.84 ID:GBChErc/0.net

windowsではwin10になってもconconクラッシャー対策の名残で
ユーザーがconという名前のフォルダを作ろうとするとエラーになるようになっている
これ豆、いや窓知識な


110: バズソーキック(やわらか銀行)@\(^o^)/ 2015/08/20(木) 08:34:20.07 ID:7g2yn+ce0.net

>>84
キャラクタデバイスと同じ名前のファイルが作れないのは
DOSの頃からの仕様だよ


111: フェイスロック(新疆ウイグル自治区)@\(^o^)/ 2015/08/20(木) 08:52:23.54 ID:ARnyjmlj0.net

>>110
いや、だからそれがDOSと関係ないNT系でも引き継がれてるね、って話でしょ


90: 16文キック(やわらか銀行)@\(^o^)/ 2015/08/20(木) 01:41:05.41 ID:yoEOWB5k0.net

#include<iostream>

void main(void)
{


91: サッカーボールキック(新潟・東北)@\(^o^)/ 2015/08/20(木) 01:53:35.10 ID:crgV4I+4O.net

size_t i;
for(i=9;i>=0;--i){
func(i);
}


93: タイガードライバー(神奈川県)@\(^o^)/ 2015/08/20(木) 01:59:23.16 ID:IVBZMYFz0.net

int sum(const std::vector<int>& v) {
int i = 0;
for (std::vector::iterator it = v.begin(); it != v.end(); ++it) {
// i += (int)it;
i += reinterpret_cast<int>(it);
}
return i;
}


94: キャプチュード(埼玉県)@\(^o^)/ 2015/08/20(木) 02:08:09.17 ID:CY2cIn4h0.net

ν速ってプログラマーが多いのか?
C言語なんて普通の人はわからないのにすごいなお前ら


98: マスク剥ぎ(東京都)@\(^o^)/ 2015/08/20(木) 06:07:56.69 ID:ca682tHE0.net

悪意があるようにみえてコンパイルが通らないコードコンテストかな


100: パイルドライバー(家)@\(^o^)/ 2015/08/20(木) 07:01:14.19 ID:Q+i96KwP0.net

去年の優勝者は、特定の条件のときに呼び出されるマクロに副作用仕込んで、
ローカル変数を上書きしたみたい


101: パイルドライバー(家)@\(^o^)/ 2015/08/20(木) 07:04:33.13 ID:Q+i96KwP0.net

今年のは、去年よりも出力が単純だから難しくなってるな
シレッと閾値書き換えるぐらいじゃダメかな


108: エルボーバット(芋)@\(^o^)/ 2015/08/20(木) 08:23:54.75 ID:hqs0UGWw0.net

広く使われているオープンソースソフトウェアのプロジェクトに潜入して
気付かれないように脆弱性を仕込む人材を探しているのか


元スレ:http://hayabusa3.2ch.sc/test/read.cgi/news/1439989307/