AnubisとGhidra-MCP + Claudeの話

Anubisの話

最近Anubisを導入しました。アクセス時にPoWを要求する奴です。JavsScriptで動いていて、クッキーで管理してるみたいです、ちなみにケモミミちゃんです。

どうも、開発者が我々の大好きなMMO出身のようで、アイコンがメスッテだったところを見ると、ケモミミちゃんの起源はメスッテで大方間違いないでしょう。アスナは俺が守る、おれをメスッテが守る(?)

そもそもの話

こういうbotを撃退するためにPoWを課すコンセプトは結構前からありました、CloudflareのUnderattackモードみたいなのに切り替えると表示されるアレとか、reChaptaを解かせたり。

元々はCloudflareで流してたのですが、去年の11月ごろでしょうか?大規模障害を期に、インターノットを痛感しCDNの使用はやめていて、そうするとよくわからないリクエストがぼちぼち来るようになり始めました。よくわからないリクエストが帯域を食うようになり、cloudflareが課していたPoWの代替となるものが必要になりました。

そこで、Anubisということです。

使い勝手は特段難しい事もなく、リバプロに一枚噛ませる感じです。

Ghidra-MCP + Claudeの話

こちらが本題な気がします。昨今LLMが圧倒的進化を遂げ、ツイッターを見てるとHDLを全部AIに書いてもらって、de0-cvでmp4を再生している動画が流れてきたではないですか。

しかしながら「うわぁ、凄いなあ」と思いつつ、まだ「凄いなあ」という域を出ませんでした。というもの、最近よく「チャッピーはこう言ってるので、この通りにコーディングしてほしい」という、なら最後までチャッピー(笑)に面倒を見てもらえばどうだろうかと思うような問い合わせが増えました。

ここからは偏見なのですが、ChatGPTを「チャッピー」と呼んでいる層が大嫌いです。なぜなら、彼らは思考を放棄しがちだからです。結局のところ、プロンプトを作成するのは人間で、方向性を決めるのも人間です。適切なプロンプトを作れないと、どんな高性能なLLMでもただのデカいファイルに成り下がってしまいます。嫌いな人種が使ってるツールを使おうとも思えず。

そんなこんなあり、LLMには懐疑的でした。正直、もうコンピューターサイエンスとは無縁の生活だし、別にもうどうでもいいかなぐらいのスタンスで、フォロワーがたまにGeminiってやつがバカで困るっていうのを聞くぐらいで、興味もありませんでした、ある日までは。

ツイッターのおすすめ欄というのは見れば見るほどユーザーの興味がありそうな物を出してくるもので、de0-cvの一件からおすすめ欄にLLMの話題が増え始め、ある日”Ghidra-MCP”と呼ばれる物とClaudeとかいうLLMでペロっとPEを解析できたという旨のポストが流れてきました。流石に衝撃的で「Ghidra-MCPってやつでClaudeとかいうやつをつなげてなんかよろしくやったらスゲェ!」ってことはよくわかりました。そうなると、試さないと気になって眠れないのが世の常。試しました。

結論から

見てもらえればわかります、私はGhidra-MCPとclaudeを繋ぎ、ERCOSEKの文献をとってくること、タスク表を探してくることを指示しました。結果は御覧の画像の通りです。もう人間いらねぇな!

しかしながら、結論付けるのはまだ早いです。我々が夢中になってやった青春の1ページ、コピープロテクト外しなんてのは、手伝ってもらえません。この年になってコピープロテクトを外してやろうだなんて思ってはいませんが、こいつらはルールのもとガチガチに縛られて動いてます、言うならば口うるさい学級委員長でしょうか、いちいち注意してくる、ちょっとの例外も許してくれない面倒な存在です。私はまともにガッコウに行ってないので、創作の中でしか見たことはありませんが。

そうすると何が起こるかというと、結局一番最後にAIができないって言ったヨゴレ仕事が人間に回ってきます。なんだこれは。結局最後は自分でニーモニック読んで、エミュレーターを動かして、エミュレーションする命令文がlwzでRAMだとかの時は、自分でRAMにありそうな値をレジスタに入れて…

終わりに

奇麗なバラには棘がある そういうことです。頼りすぎて、何もできなくなると、その後が大変という話でした。

バラの棘を全部引っこ抜く外科手術をする方々、棘を避けまくるプロンプトを投げる方々、まぁ、色々あるようですが、とにかく、最近は凄いけど、全部任せてたら何もできなくなるよ、という話と、皮肉にもその便利なLLMの学習に使われるであろうスクレイピングを追い払ったという話です。

ちなみに

これのおかげでGhidraで古いバージョンと新しいバージョンのコードを見比べていた退屈な時間が激減し、結果として300kbしかなかったxdfが4MBにまでなりました。コードのマッチ率を見て、高いものはそのまま登録、低い、もしくは関数呼び出し順が大幅に変わっているもの等は都度追ってもらいました、これが正直一番やってられなかった理由です。ヤレと言われれば、多分どのバージョンのxdfも作ってもらえる気がする。正直、二次大戦にイージス艦できました[1]そんな漫画、ありましたね。ぐらいのパワー感です。

References

References
↑1 そんな漫画、ありましたね。

BMW F/G系のNCD2.0とSecureCodingなG07 X7に苦しめられてる話

皆さんこんにちは。

うちに来る依頼といえばMSS60の書き換えとE9xのMRSのコーディングばっかりだったのですが、MSS54のクローンに始まり、bootでアルファロメオのISNのバックアップだったり、はたまたベンツのアドブルーだったりとよくわからない厄介な依頼が増え始めました。

そうこうしてるとBoschのMEVD172も触るようになり、N55から始まりB58まで、ついでにMSV80とMSD80も触るハメになり、気づいたらぶーぶコンピューターの厄介ごと便利屋になってしまいました。

そうこうしてると現行のわけわからん依頼を受けてしまいました、G07 X7でiDrive8.5の新車らしいです。お色目もインディビでさわるたび傷をつけないかとても気を使います。断ればよかったと激しく後悔しているが、泣き言を言っても仕方ないし、受けてしまった以上何とかするしかないので所感を書き残しておこうなどと。

NCD2.0のSecure Coding

コンピューターからバイナリを引き抜いてきて、そのバイナリを処理して戻すといった一連の流れは変わりませんが、処理したバイナリにデジタル署名がないと戻せないというのが今までと大きく違う点です。

E-sysで読み込んだコーディングデータ(NCD)はBMWによって署名されていますが、1bitでも書き換えようものなら書き込む時にECUに大変怒られます。

残念ながら編集後のNCDにデジタル署名を施してくれるサービスは現状ありません。

現行のコーディング手法

NCDは編集できないが、VO/FAから生成されるNCDにデジタル署名をしてくれるサービスは存在します。

例えばUSヘッドライトを装着したので、USサイドマーカーを有効にしたいという依頼(不幸にもぼくが受けてしまった依頼です。)であればVOをECEからUSに変更してNCDを生成してもらえば目的は果たせます。

しかしながら、従来のようにNCD編集ほどきめ細かいコーディングはしばらくできないでしょう。

そういうサービスは恐らく秘密鍵をどこからか持ってきているのでしょう。BMWのクラウドがあるビルにダンプとかで突っ込んでデータを持ってきたのでしょうか。ISTAからオンラインで署名してもらえるそうなのでうまい事wrapperでも書いてるのでしょうか。そこに至るまでの手法は謎。

ぼく的今後の見通し

デジタル署名なので、まともにやってると大変。

今後アルゴリズム自体に脆弱性が出るまで待つのも現実的ではないので、まぁ何かしらデジタル署名をバイパスするようなexploitが普及するのでは?

おわり。

Dragoniaの日本語パッチ 2025

ちょっと前に旦那に「昔はsteamにもこんなのがあって~」という昔ばなしをする時にパッチをいただこうとしたらネットの海にないではにですか。

困り果てていたのですが、HDDの奥底に眠っていたので供養。

名前: Dragonia 誤字脱字修正 (句点有り).zip
サイズ: 34515037 バイト (32 MiB)
SHA256: 88D073944110752BF142BE3D2F8F2966319C8501DA4B3BAB9AEB741014D88DF5

名前: Dragonia 誤字脱字修正.zip
サイズ: 34514616 バイト (32 MiB)
SHA256: 4509083E206F322C51DEF9B6552CCBEE8E853EF70258E41E2318C9CF679BD7D3

2024/2 92m3 整備録

2/3 127500km エンジンオイル交換

2/7 127800km サスペンション交換 BC→Spirit Spec-S Gluck Racing仕様,スタビブッシュ注油,アンパネナッター交換

F:Bestex 18kg/f 6インチ → Swift 18kg/f 4インチ 干渉対策

R:Swift 26kg/f 7インチ

2/12 128000kmステアリング舵角センサー清掃