この記事では、偽のWeb3求人面接を通じて配信されたサプライチェーン攻撃をリバースエンジニアリングした事例を分析しています。攻撃者は開発者を装って信頼を獲得し、悪意のあるパッケージをインストールさせることで、被害者のシステムに侵入する手口を詳細に解説しています。
#reverse-engineering
30 件
The Free Universal Construction Kit is an open-source project that provides adapter pieces for connecting popular construction toys like LEGO, Duplo, and Tinkertoys. By 3D-printing these free adapters, users can combine different toy systems that were previously incompatible, encouraging creative play and interoperability. The project embodies the principles of open design and hacktivism, making proprietary systems work together through freely shared digital blueprints.
この記事では、赤外線通信を使用する電子棚札(ESL)システムの内部動作をリバースエンジニアリングするプロセスについて説明しています。プロトコルの解析、ハードウェアの調査、セキュリティ脆弱性の特定を通じて、これらのシステムの動作原理を明らかにしています。
BamBuddyは、Bambu Lab 3Dプリンターのプリント履歴を独自に記録・管理するセルフホスト型ソリューションです。プリンターのローカルMQTTインターフェースを活用し、サムネイル、フィラメント使用量、タイミング、スライサー設定などをすべてキャプチャ。完全に検索可能なオフラインアーカイブを構築し、Bambuのサーバーに依存しません。
このプロジェクトは、バンドルされたJavaScriptから読み取り可能なソースコードを再構築するツールを開発しています。実際の例として、Vue 2 + Three.jsのタワーディフェンスゲームを単一のWebpackファイルから再構築し、約90%のファイルマッピングと93%の命名回復を達成しました。
Theseusは、WindowsプログラムをLinuxやmacOS上で動作させるための静的エミュレータです。Wineとは異なり、システムコールを直接エミュレートするのではなく、Windows APIの実装を提供することで動作します。
Theseusは、WindowsアプリケーションをLinux上で実行するための静的エミュレータです。従来のWineのような互換層とは異なり、アプリケーションの実行ファイルを直接解析・変換することで動作します。
ELFライブラリにはビルド時に使用されるセクションヘッダーと、実行時に使用されるプログラムヘッダーという2つの異なる場所に同じ情報が存在する。Synology NASのライブラリはセクションヘッダーを欠いていたが、プログラムヘッダーから情報を抽出してセクションヘッダーを再構築することで、独自バイナリへのリンクが可能になった。
この記事では、Pentiumの浮動小数点ユニットに搭載された8ビット加算器をリバースエンジニアリングし、その構造を詳細に解説します。この加算器は「Kogge-Stone」と呼ばれるキャリールックアヘッド加算器であり、キャリーを並列に計算することで高速な加算を実現しています。回路写真と回路図を用いて、4層の論理構造とその動作原理を説明します。
この記事では、1993年にリリースされたPentiumプロセッサの浮動小数点ユニット内にある定数ROMに関連する興味深い回路を紹介します。特に、バイポーラトランジスタと標準CMOSロジックを組み合わせたBiCMOSプロセスで実装された回路に焦点を当て、その構造と動作をリバースエンジニアリングの観点から詳細に解説します。
この記事では、1985年にIntelが導入した画期的な32ビットx86プロセッサである386のプリフェッチキュー回路を詳細に分析します。性能向上のために16バイトの命令プリフェッチキューを備えており、メモリバスがアイドル状態の時に命令を事前にフェッチすることで、実行時のメモリ待ち時間を最小限に抑えています。
アポロ宇宙船のアップデータリンク(UDL)をテストするためにモトローラが開発した「アップデータリンク信頼性試験装置」を発見し、リバースエンジニアリングした。この装置は、集積回路以前の時代に親指サイズのカプセル化モジュールで構築されており、文書化されていないモジュールの内部構造や配線を解明する挑戦的なプロセスを経て、アポロ通信システムの大規模再現に使用された。
1977年に設計されたPhilips TDA7000 FMラジオ受信チップを例に、ダイ写真からアナログ集積回路をリバースエンジニアリングするプロセスを解説。単層メタルで作られたこのチップには100個以上のトランジスタが含まれ、差動増幅器や電流ミラーなどの一般的なアナログ回路から、ギルバートセルミキサーといった特殊な回路まで、その内部構造を詳細に読み解く方法を紹介する。
Intel 386プロセッサのセラミックパッケージをCTスキャンしたところ、内部に6層の複雑な配線構造や、パッケージ側面への金属線、I/O用とCPUロジック用の分離された電源・グランドネットワークなど、予想外の詳細が明らかになった。この分析により、パッドとピンの対応関係も初めて解明された。
1985年のIntel 386プロセッサのI/Oピン回路をリバースエンジニアリングし、静電気放電(ESD)、ラッチアップ、メタステーブリティという3つの「ドラゴン」からチップを保護するための特殊な回路設計を詳細に分析。これまで未記載だったフリップフロップ回路も発見された。
Intel 386プロセッサの標準セル論理回路を調査したところ、予想外の回路がいくつか見つかりました。巨大なマルチプレクサ、標準セルレイアウトに収まらないトランジスタ、そしてインバータではないインバータなど、興味深い発見がありました。これらの回路は、386チームがスケジュールを前倒しで完了させるために採用した自動配置配線技術の興味深い側面を示しています。
1980年に登場したIntel 8087浮動小数点コプロセッサは、スタックベースのレジスタアーキテクチャを採用しており、8つの80ビットレジスタをスタックとして管理する独自の回路設計が特徴です。この記事では、チップのダイ写真を分析し、スタック制御回路、デコーダ、キャリールックアヘッド加算器などの詳細な回路構造を明らかにしています。
この記事では、Intel 8087浮動小数点コプロセッサのマイクロコード内で使用される49種類の条件テストについて詳しく解説しています。数値がゼロか負かといった単純なチェックから、丸め方向の決定といった特殊な条件まで、その仕組みと実装方法を探ります。
1980年代のIBM PCで浮動小数点演算を高速化したIntel 8087コプロセッサは、8086/8088プロセッサと協調して動作し、複雑な命令デコード機構を持っていた。本記事では、マイクロコードROM、PLA(プログラマブル論理アレイ)、BIU(バスインターフェースユニット)を用いた多層的なデコードシステムと、命令の解釈・実行プロセスを詳細に解説する。
1985年に登場した8ビットPC用ルート検索ソフト「Roadsearch Plus」をリバースエンジニアリング。Apple IIやCommodore 64で動作するこのソフトウェアは、限られたハードウェアで効率的な経路探索を実現しており、そのデータベース構造とアルゴリズムを詳細に分析する。
GDBを使用したLinux上でのバイナリ逆コンパイルの基礎について解説します。x86アセンブリコードの解析手法とデバッグ技術の基本をカバーしています。
GoogleのCapture The Flag競技入門編のリバースエンジニアリングチャレンジについて。パストラバーサルの脆弱性を利用して/proc/self/exeからバイナリを取得し、GDBで解析。primary_login関数内のFLAG_FILEを特定し、最終的に/proc/self/cwd/flagからフラグ「CTF{I_luv_buggy_sOFtware}」を取得する手順を解説。
この講演では、リバースエンジニアリングの基本概念と実践的なアプローチについて紹介します。ソフトウェアやハードウェアの動作原理を理解し、解析するための技術とツールについて解説します。
この記事では、ストリートファイターIIのゲームプレイにおいて、キャラクターが回転する「スピン」動作が発生する条件とその仕組みについて解説しています。特定の状況下でキャラクターが予期せず回転する現象の技術的背景を探ります。
CapcomのCPS-1アーケード基板のグラフィックスシステムについて、スプライトと背景レイヤーの仕組み、パレット管理、ハードウェア制御方法を詳細に解説。この技術が『ストリートファイターII』などの名作を支えた。
ブランチ暗号化
1.0ブランチ暗号化は、プログラムの制御フローを保護するための難読化技術で、条件分岐やジャンプ命令を暗号化することでリバースエンジニアリングを困難にします。さまざまなセキュリティコンテキストで使用され、ソフトウェアの知的財産保護に貢献します。
JavaScriptの仮想化難読化に関する解説。コードを仮想マシン命令に変換し、解析を困難にする技術について、その仕組みと特徴を概説します。
PixelmeltのJavaScript仮想化難読化技術を分析した研究。スタックベースの仮想マシン実装を調査し、そのセキュリティ脆弱性と攻撃手法について考察しています。
AmazonのKindle Webアプリの使い勝手の悪さに不満を抱き、同社がユーザーを阻止するために用いる興味深い難読化手法を逆解析した経緯について説明します。
リバースエンジニアリングのルネサンス時代において、LLMに対処する方法を見つけるまで、防御側は後手に回らざるを得ない状況が続いている。