RuCTF Quals 2014 hardware 200 Write up

問題文

What is the shortest valid code?Files(zipファイルへのリンク). Attention: you have 70 attempts.

答え

zipファイルをダウンロードすると、次の3枚の画像と1つの動画が入っています。



動画には上の画像の回路が動作している様子が写っています。
はじめに赤いLEDが点灯していて、カメラの撮影範囲外でパスコードを入力すると緑のLEDが点灯します。


回路の表に写っているICのうち、2つは74HC32(OR回路が4つ入っている、超有名なロジックIC)で、残り2つはK561というよくわからないICです。
K561のデータシートを探したところ、次のようなロシア語のものしか見つかりませんでした。
http://radio-hobby.org/uploads/datasheets/k/k561tm2.pdf
これをGoogle翻訳のロシア語手書き入力で翻訳した(キリル文字は立体と斜体で形が大きく違うので、Wikipediaを参照しながら書いた)ところ、Два D-триггера с динамическим управлениемは2つの動的制御のDフリップフロップというような意味であることがわかりました。
よくわかりませんがとにかくDフリップフロップだということなので、データシートのピンアサインを見ながら作成した大まかな論理回路の図を以下に示します。

ここで、注意すべきことが2つあります。

  1. 抵抗の配置から、この抵抗はプルダウン抵抗であることがわかるので、ボタンを押したときにHIGH、離したときにLOWの信号がICに入力されます。
  2. LEDにつながっているトランジスタはおそらくPNP型なので、信号がLOWのときに光ります。

こういうわけで、フリップフロップのCLOCKにつながっている9,8,3,1を順番に押すとトランジスタへの信号がLOWになり、緑のLEDが点灯します。

Flag:

9831