ど~もeagle0wlです(再)

140文字では収まらないネタを記録するブログ

『ハッカーの学校 ハッキング実験室』を読んだ

f:id:eagle0wl:20170611234417j:plain
データハウス様から本書をいただいてから2ヶ月弱も経ったが、『ハッカーの学校 ハッキング実験室』(黒林檎著・データハウス)を読んだ。

ハッカーの学校 ハッキング実験室

ハッカーの学校 ハッキング実験室

タイトルや装丁を見る限り、いわゆるIPUSIRON3部作『ハッカーの学校』『個人情報調査の教科書』『鍵開けの教科書』に続くシリーズっぽいが、本作は別の著者である。

ハッカーの学校

ハッカーの学校

ハッカーの学校 個人情報調査の教科書

ハッカーの学校 個人情報調査の教科書

ハッカーの学校 鍵開けの教科書

ハッカーの学校 鍵開けの教科書

いぷろん本は、様々な書籍からの「メモサイト」であるSecurity Akademeiaに立脚した構成である。とはいえ、コピペブログの安易なそれとは違い、膨大な読書量でないとこの文章量と密度は出せない。本書は著者が違っており、プログラムとソースコードの解説が主体となっている。したがって、『ハッカーの学校』を冠しているが構成や文体は全く異なる。

いきなり比較から入ってしまい申し訳ないが本題に入る。

本書はPythonを習得していることを前提としている。Twitterのアカウントを自動取得するbotの開発に始まり、TwitterのDM機能を利用したC&Cサーバの実装まで行っている。言うまでもないが悪用可能な技術である。Twitterに限らず、フォロワー数やいいね、再生回数のようなカウントはお金で買うことができる。これらは自動取得されたアカウントによって「自作自演」されている。C&Cサーバについては言うまでもない。実装自体はシンプルなので、そのまま悪用を考えてもすぐバレて終わりだと思うが、ここから「自分ならどう工夫するか」を考える余地、という行間の面白さが本書にはある。本気で悪いことを考えようとしているのであれば当然の発想なのだが、だからといって気を利かせて本文中で無闇に勧めたりしてしまうと有害図書まっしぐらである。このバランスは難しい。

Pythonで通信プログラムを書いた経験があれば本書の内容は理解できるはずである。ただしロジックの説明が弱いと感じた。レイアウトの制約が厳しい紙の上で、わかりやすく説明するのは非常に難しいことだが、コードが読めないと難儀するかもしれない。繰り返しになるが、本書はプログラムとソースコードの解説が主体である。タイトルが示す「実験室」は、前3作との違いを明確に表現している。しかし、ソースコードは紙に印刷されたもののみなのが辛い。暗号が武器とみなされこのままでは輸出規制に引っかかるため、ソースコードを書籍にして言論・出版の自由を盾にして国外に合法的に流通させたPGPのように、大人の事情なののだろう。

この著者は学生の頃に書いたそうだ。自分が初めて書いた原稿も学生時代だが、今日に至ってもまだ共著で出したことしかない。単著で書ききるのはとてもとても大変なことである。ましてや、学生だと引き出しも限られるのでさぞかし大変だったと思う。SNSが普及した今となっては誰もが「作文」しているが、単に書くだけでは作文技術は磨かれない。ウェブに上げる文章よりも、書籍として出る文章の品質はずっと管理されるべきと思うので、身構え方も異なると思う。自分は原稿を初めて書くことになって慌てて『日本語の作文技術』と『理科系の作文技術』(どちらも名著)を読んだ。こういう体たらくなので『クラッカー・プログラム大全』の自分の文章は今見るとひどすぎて読み返したくない。本書の著者もそういう取り繕いをやっているのではないかと想像すると、これはこれで面白い。自分も頑張らないとね。

理科系の作文技術(リフロー版) (中公新書)

理科系の作文技術(リフロー版) (中公新書)

GAMERnium版kazzoクローンをWindows10で動作させる&本体のレトロブライト化

秋葉原ラジオセンター内の『家電のケンちゃん』(危なっかしい名前だ)のジャンク市を覗いてみた。ここはFM音源ガチャなど奇抜な企画が見られ、ガチャで入手したFMサウンドチップを実際に動作させている人もいる。
togetter.com

FM音源は全く触れたことがなく、メガドラではなくスーファミ派だったし、PC-98も86ボードを持っておらずBeep音しか知らないので、PSGからPCMに一足飛びである。FM音源のチューニングとか超難しいと聞いている。
www.nintendo.co.jp

肝心のジャンク市は刺さるものが見つからなかった。坊主で帰るのもアレと思い、同人ハードウェアに手を出してみることにした。kazzo互換機って言って分かるだろうか。ファミコンのROMイメージを吸い出したり書き込んだりできるオープンソース・オープンハードの装置である。いわゆるマ●コン的な使い方もできなくはないが、それでは明らかに効率が悪いので(身も蓋もない言い方だが全てのROMイメージはネット上にある)、自作のファミコンソフトを実機で動かしたいといったニッチな用途に向いている。

エミュでも十分だと思うでしょ? 相当枯れたハードとは言えエミュは完全ではない。特にファミコンのようにカートリッジが単なるストレージではなく、バンク切り替えやVRAM拡張、音源などを追加できるハードウェアであるため、そのハードウェアの種類(Mapperと呼称される)だけエミュレートが必要になる。それ以前に、ゲーム機のエミュレータは概してアーキテクチャの再現よりも既存のゲームソフトの再現性が優先される。事実、Nestopiaなどはゲーム毎にパッチをして無理矢理動作させている。したがって、自作プログラムで少しズレたことをやると結構エミュの再現度に引っかかってしまうのだ。コピープロテクトの範疇になるが、プログラムから実機とエミュを判別する方法はいくつかある。

GAMERniumのGMN-02-Aを組んでみる

f:id:eagle0wl:20170415030444j:plain
ということで、今回はGAMERniumのGMN-02-Aを購入した。
gamernium.com

続きを読む

QuizChan on Nicolive を公開した

はじめに

2017/11/28追記 ユーザー生放送がHTML5版のみになったため、このスクリプトは使用できなくなりました。対応版はしばしお待ち下さい。それまでは「QuizChan on ブラウザ」をご利用ください。
2017/10/01追記--
本家のインターフェースに準拠した簡易バージョンを作成しました。ブラウザベースなのでインストール不要、Windows以外のOSやスマホからでも回答可能です。詳細は以下のリンクから。
eagle0wl.hatenadiary.jp
追記おわり--

クイズちゃんの操作にいつもモタついて苦い思いをしていたので、ニコニコ生放送専用プレイヤーにクイズちゃん回答用の入力フォームを拡張し、マウス操作不要でメッセージの"暗号化"からコメント投稿までを支援する、謎の実験場専用スクリプト『QuizChan on Nicolive』を公開した。
f:id:eagle0wl:20170320002915p:plain

インストール

『QuizChan on Nicolive』は、各種ブラウザ向けに提供されている拡張機能である Tampermonkey のユーザースクリプトとして動作する。

続きを読む

ハッカー競技会/カンファレンス『SECCON2016決勝大会』に行った

ブログを2ヶ月も放置してしまった。

f:id:eagle0wl:20170130232945j:plain

2017/01/27-29に東京電機大学 北千住キャンパスで行われたハッカー競技会/カンファレンス『SECCON2016決勝大会』に行った。
2016.seccon.jp

f:id:eagle0wl:20170130232957j:plain
私はこういう人らしいです。

CTF(競技ハッキング)は世界中で行われているもので、その中でもラスベガスで開催されるDEF CONが最高峰とされている。SECCONの活動はCTFがメインだったのだが、今回は非IT業界向けのセッションやハンズオン、400人規模(!)で行われた初心者向けCTFなどが大幅に拡充され、幅広い層が参加していた(IoTワークショップには小学生が参加していた)。


週刊ビッグコミックスピリッツハッカーが登場する漫画『王様達のヴァイキング』の作者が登壇するセッションがフォーカスされていた。自分は裏のセッションを手伝っていたので見ることはできなかったが、女性の観覧者が多かったらしい。技術監修がついており、画面も攻撃のシナリオに沿ったものを作っているそうだ。なぜSECCONと『王様達のヴァイキング』が繋がったのかというと、去年のSECCONの全国大会の様子がテレビで放送された際の映像と王様~の一コマが酷似していたり、実際の出場者に酷似した人物が登場していることがSECCON参加者の間で話題となり、「直接取材に来てもらっていいのに」みたいな所から今回のゲスト登壇となったのだ。

続きを読む

激安Arduino互換基板を買った

電子工作について。組み込み機器のプログラムを吸い出して、逆アセンブルして解析するような事を業務としてやったことはあったが、ArduinoRaspberry Piが生まれてからは電子工作自体のハードルがものすごく下がった。ソフトが書けてハードも分かるようになると、周囲の世界をコントロールできるようになる。

最近入手したパーツに関するメモを残す。

ATTINY85 Digispark

Arduinoはオープンハードウェアなので(Arduinoの名前は使えないが)玉石混交の互換品が多く存在する。その中でも、USBコネクタつき(重要)で恐らく最小の互換品はこれだろう。激安(183円)である。なんだこれは。しかし、この手の中華基板は完動する個体を引けるかどうかにかかっており、完全にバクチである。ということで4個買った。
f:id:eagle0wl:20161123224109j:plain

結論から言うと、今回動作確認できた個体は4個中1個だけだった。渋すぎる。USBコネクタに指すと、接続→接続解除が延々と繰り返される個体があったのでハズレだと思ったが、実はこれが当たりだった。他3つは通電確認用のLEDは点灯するが、unknown deviceとして認識されずプログラムを書き込めなかった。

コピー基板のさらにコピーともなると、今回調べた互換基板と動作が異なるかもしれない。今回はプログラムを書き込んでLチカまで確認した。

続きを読む

ニンテンドークラシックミニが届いた

f:id:eagle0wl:20161113225405j:plain

ニンテンドークラシックミニ』が届いた。

受取りで数日出遅れてしまったので、大人しくネットに上げられている分解記事を読むことにした。
mazu-bunkai.com
ファミコンミニを手に入れたので、コントローラー交換改造してみた | kako blog
www.ns-koubou.com

コントローラの端子はWiiリモコンに外付けコントローラの流用だったようだ(NES版ミニのコネクタはモロWiiリモコン形状だったが)。1コン2コンも基板は同じ。任天堂は数百、数千万台売る基板を設計しているだけあって、こうしたコストダウンの技術に長けている。

とりあえず分解してみたが、ハウジングはRaspberryPi Zeroだけでなく2や3でも入るようだ。Zero以外であれば内部の出っ張りが邪魔をするので少し削る必要がある。
※訂正と追記 2や3では基板だけなら入るが、HDMIケーブルと電源用のUSBケーブルの取り回しができない。側面に穴を開ける必要がある。やるならZeroしかないようだorz千石電商のようなコンバーターを使えばできるかもしれない。

まだ楽しんでいないので、削るのは先になりそうだけど…。権利表記→Open Source SoftwareGNU GPLとかいろいろ確認できるのだが、かなり長いのでページ送りが非常にしんどい。と思ったら、任天堂のサイトでtarballを束ねたzipファイルが公開されていた。これは初めて知った。WiiU3DSもある。glibcとかbusyboxとかがzipにまとめられているだけだが、ソフト構成を知る上でのヒントになる。

www.nintendo.co.jp

初回起動時は全ての音が一瞬止まることがあって不具合でも引いたかと思ったが、再起動後は今のところ正常に動いているようだ。様子見するしか無い。

『ハッカーの学校 鍵開けの教科書』を戴いた

f:id:eagle0wl:20161105023730j:plain

データハウス様よりIPUSIRON著『ハッカーの学校 鍵開けの教科書』を戴いた。

後ほどレビューを書く予定でいるが、600ページにも及ぶ大著を読むのは大変だ。しかし鍵開け自体が久方ぶりなので非常に楽しみである。一応ソフトウェアセキュリティが専門の私だが、コピープロテクト技術に興味を持ったついでにピッキング技術にも興味を持った変わり者なので…(当時中国人窃盗団によるピッキングが横行していた)。

まえがきで、海外におけるハッカーと解錠の関連性(大学や研究機関にしかなかったコンピュータを交代制で使っていた時代には、深夜に忍び込んででも使いたいハッカーは解錠技術を習得していた)を述べながら、日本の閉鎖的な錠前業界を暗に批判している。錠前の講習料ってクソ高いんだよねえ。

ハッカーの学校 鍵開けの教科書

ハッカーの学校 鍵開けの教科書