何もしてないのにSurface Bookが壊れて何もしてないのに治った話
この記事はCPS Lab Advent Calendar 2016の16日目の記事です.
15日目は遅刻のえるざっぷでした.17日目はけーぴー大先生がついさっき行った武蔵家よりもブックオフを奨めてくれるらしいです.
なんだかんだで11階では概ねiwi研民扱いの状態なので書くことにしました.本業は14階で研究をサボってtwitterをすることです.
今回はなんだかんだでまとめてなかったタイトルの話についてまとめておこうと思います.
起こったこと
Surface Bookの画面側(クリップボード)を取り外し,通常の操作で反転させて接続したところ,キーボードの認識・切断ができなくなった.
muscle wireのロックはかかっていてキーボードからは接続状態になっているが,クリップボードからは認識されておらず,取り外しのリクエストにもレスポンスできない状態である.
対処
結局なぜそうなってなぜ治ったのかは不明.
Surface Book のトラブルシューティングにある,「キーボードが取り外せない場合」に従って完全再起動などを何度か試すも効かず.
諦めて修理を申し込み,バッテリーがないため電源を切って再度起動したところ認識され取り外すことができた.
ことのあらまし
そう,あれはまだ俺がSurface Bookを購入して1週間も経たないある日のこと.いつものようにiwi研にいた俺からこんな発言が飛び出した.
surfacebookイッた
— あると (@twinkfrag) 2016年10月4日
iwi研で@haru2036 にドヤリングをしていたところ,悲惨にも寝違えてしまったのである.
しかしタイムスタンプ見て分かるようにこのとき既に残留30分前,サポートなどとうに終了している.俺はトラブルシューティングの完全シャットダウンなどが効かないことだけ確認すると,上手いこと言われながら帰路についた.しかし,このときはまだ真の問題に気付いていなかったのだ…!
帰りの電車内でもPC作業を継続するのが常であり,しかも翌日進捗発表だった俺は,この日も寝違えたことは残念に思いつつタッチパネルのみでLap Topしていた.しかし,事態は急変する.
冷静に考えてヤバいことに気づいてしまったんですが、寝違えてる関係上下半身バッテリーは妊娠されてないのに上半身の充電コネクタは塞がれてるわけでここでも詰んでる
— あると (@twinkfrag) 2016年10月4日
もはや慌てていて意味不明だが,要するにどう転んでも充電不能であることに気付き,慌ててシャットダウンをしているのである.
Surface Bookは,クリップボードとキーボードの両方にバッテリーを搭載しており,接続時には両方,分割時にはクリップボードのみのバッテリーが使用される.そして,クリップボードの充電コネクタはキーボードとの接続コネクタを兼ねて接続部にあり,接続時にはクリップボードのコネクタは隠れキーボードのコネクタから両方に充電がされる.
しかし,このときキーボードは物理的にはクリップボードのコネクタを塞いでいるが,論理的には接続されておらず,従ってキーボードからの電源供給はなされない.電源供給ソースにならないキーボードだけ充電しても意味はなく,完全に詰んでいるというワケだ.
思いつく手段がなくなり,いろいろ試すバッテリーも時間の問題となり,そのまま何もできずに朝を迎える.朝一で日本MSのサポートに連絡し,交換対応となった.
その後,進捗発表の場において思わぬ方向へと急展開を迎える.
何もしてないのにぱそこんがなおった
— あると (@twinkfrag) 2016年10月5日
なんと,間違えて電源ボタンに触れてしまい電源がついた拍子に,キーボードの接続が認識されたのである.そのまま解除を行い,表向きに接続し充電して事なきを得た.
もちろん,その日の進捗発表の1ページ目は,
- Surface Book買いました
- Surface Book壊れました
- Surface Book治りました
であった.
TDU CTF 2014 Satellite in ConoHa に参加してきた
Nomuken氏の主催するTDU CTFに参加してきた。connpass.com
CTFに参加するのは前回に続いて2度目(前々回を含めるなら3回目)で、外部の人もいるところに行くのは初めてである。
会場のConoHa、すごく綺麗なオフィスだった。
結果から言うと、1670点で4位だった。まあ実際にはプロの方々が以下のかっこいいフラグを入れていたようなのでもうちょい下ですが、まああまり経験ない身としては健闘したんじゃないかと。
TDU{I_Am_Beginner} -5000pt TDU{I_Am_Not_Beginner} -1000pt TDU{I_Am_Not_Pro} -500pt TDU{I_Am_Pro} -100pt
write-upって書いたことないんだけどとりあえず書けるだけ書いてみる。
Easy SQLi test
普通のSQLiっぽかったんだが、最初は「' OR 1=1;--」でやってたらシングルクォーテーションがエスケープされててダブルクォーテーションじゃないといけないということが気がつかなくて時間がかかった。
ちなみに後から知ったのだが、発行されるSQL文の後ろに「LIMIT 5」が含まれているので後ろをコメントアウトしないと一つ目のフラグが出てこないらしい。
その後はUNIONでsqlite_masterだかと結合して表示、flagTable(だっけ?)にある2つめのフラグをsubmit。
それ以降は忘れた。
String Compare
とりあえずStringsに噛ませたら、「MinamiKotori」「TDU{%s_is_very_cutie}」といういかにもな文字列が並んでいたので、とりあえず組み合わせてみたら通った。
PhoneApps
#tduCTF のPhoneApps、「見た瞬間に親方の匂いがした」って言ったらいろんな人にめっちゃ笑われた
— あると (@twinkfrag) March 29, 2015
まあ実際親方というかWindows Phoneな感じはしていた。
とりあえずアーカイブなのでzipとして開ける。すると画像とxmlとdllが出てくる。
そこで、やはりWindows Phoneで.Netだろうとあたりをつけて、PivotApp1.dllをILSpy(事前の告知メールで用意しておくとよいソフトとして挙げられていた)で開く。
とりあえずViewに直接書いてある可能性から調べる。
mainpage.xamlを見ると、次のような部分が見つかる。
直接フラグは書いてなさそうだが、「Find a flag!」付近にPathタグが見つかる。
これを、適当なWPFアプリケーションに貼り付けて描画させることでフラグが得られる。
起きているか
みたいな問題名のやつ。question.pcapが渡されるがWireSharkで見ても分からないやつ。
最初分からなかったが後半になってバイナリ問題だからとStringsで見直したら
TDU{TDUCTF} //this is not a flg TDU{HANYABUSHI} it's a not valid TDU{HANYABUSHI} it's a not valid TDU{ICHIIYUI} // it's a not flag TDU TDU{ICHIIYUI} // it's a not flag TDU TDU{NONOHARA} // it's a not flag {PC TDU{NONOHARA} // it's a not flag {PC TDU{HINATA} // this is not a flg AP_ TDU{HINATA} // this is not a flg AP_ TDU{AIKAWA} // this is not a flg BLO TDU{AIKAWA} // this is not a flg BLO TDU{OKANOKEI}//this is not a flg CK_ TDU{OKANOKEI}//this is not a flg CK_ TDU{OKAASAN} //this is not a flg PAD TDU{OKAASAN} //this is not a flg PAD TDU{YUYUSHIKI} // it's not a flg DIN TDU{YUYUSHIKI} // it's not a flg DIN I LOVE YUYUSHIKI! YUYUSHIKI! I LOVE YUYUSHIKI! YUYUSHIKI! KIMIHA TOTEMO ERAI! YOKU YONDA!
こんな感じに出てきたので、ばらけてるフラグを組み合わせて出した。
前述のStringsが3文字以上のみの文字列を認識することは知っていたので最後の2文字だけ補って、
TDU{PCAP_BLOCK_PADDING}
を得る。
Evidence
RawImageというファイルが渡された。
万能解凍ツールである7zipさんに噛ませると1ディレクトリに2ファイルだけがあったがフラグは見当たらなかった。
そこでFTK Imagerに噛ませると、削除済みファイルとして!oc.pdfというファイルが出てきてフラグを得る。
感想
なんか気付いたら結構得点できていて後でびっくりした。
もうそろそろ初心者名乗れなくなってしまった感あるので次回は経験者的な枠かなという感じではある。
だんだんCTFが楽しくなってきたので今度はもっと他のCTFにも参加してみようと思う。