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

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

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

RetroPie 系の記事を 4.2 に対応中です

本ブログのアクセスの8割はGoogle/Yahoo検索で、特にRetroPieの導入エントリが参照されている。

私がRetroPieのエントリを書いた時のバージョンは4.0だが、現在は4.2である。様子を見る限りだとメジャーバージョンアップにならない限り構成が大きく変わることは無いだろうと見ている。 と、確認せず高をくくっていたら、4.2からPC-88(QUASI88), PC-98(np2pi)などの国産PCのエミュがRetroPie-Setup Scriptから実験的にインストールできるようになっていた。そのインストール用スクリプトで思いっきり自分がforkしたリポジトリが参照されていて吹いた。自分は好き勝手やってるので、pull requestとかは特にやるもんでもないかなと思っていたが、どうも考え方を改める必要がありそうだ。
github.com

ということで、メインコンテンツっぽい RetroPie 導入記事は 4.0 ベースで書いているのだが、急ピッチで 4.2 対応を進めている。(ラズパイも4.0と4.2の2台用意して比較している)。

eagle0wl.hatenadiary.jp
『キラキラスターナイトDX』とCD-ROM付きムック本『キラキラスターナイトDXパーフェクトブック』が発売されたので追記。このパーフェクトブックに記載されている別の作者(プログラマは同じ方だが…)によって開発が進められているファミコンソフト『西武ロードリスト蘭のチップチューン地獄』が気になるが、現時点では体験版のみで完成は夏のコミケらしい。
www.inside-games.jp

eagle0wl.hatenadiary.jp
『8BIT MUSIC POWER』をこちらに移動。メガドライブメガデモOverDrive 2』を追記。


eagle0wl.hatenadiary.jp
PC-9801エミュに追加した自分のコードにしょうもないバグがあったことに今更気づく。np2piに独自に追加したコマンドライン引数指定処理のバグを修正。詳細はエントリにて。

キラキラスターナイトDXパーフェクトブックを買った&ROMイメージ抽出した

『キラキラスターナイトDXパーフェクトブック』を

買った。

f:id:eagle0wl:20170501044232j:plain
こんなに買ってるんですよアピール(『8BIT MUSIC POWER』のカートリッジは紛失!)。

カートリッジ版が先行して発売されたが、本ムックの付録CD-ROMにはアレンジ版のmp3ファイルや開発途上のROMイメージなどがいろいろと収録されている。ただし、完成版の.nesファイルは同梱されていない。

ROMイメージ抽出スクリプト kksn_ripper

◆PC版ソフト
・キラキラスターナイトDX
・キラキラスターナイトAC
・キラキラスターナイトGOLD

完成版は3バージョンもあるが、エミュレータ(VirtuaNES)とROMイメージが一体化された形で提供されており、.nesファイルがそのまま転がっている訳ではない。VirtuaNESは2010年に開発が終了しており、readmeにも記載があるが環境によってはゲームパッドが使えないようである。

ということで、この”PC版ソフト”である "KKSN DX.exe"、"KKSN AC.exe"、"KKSN GOLD.exe" から、それぞれROMイメージを抽出するスクリプトkksn_ripper』を作成した。IDA Proは便利ですなあ。

github.com

Python 2.7.xで確認。あまり多くは語らないことにします。分かる方のみどうぞ。個人利用の範囲に留めてください

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 を公開した

はじめに

クイズちゃんの操作にいつもモタついて苦い思いをしていたので、ニコニコ生放送専用プレイヤーにクイズちゃん回答用の入力フォームを拡張し、マウス操作不要でメッセージの"暗号化"からコメント投稿までを支援する、謎の実験場専用スクリプト『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チカまで確認した。

続きを読む