Protocol Buffer Message EditorはProtocol Bufferのデータを閲覧したり編集できるソフトウェアです。Googleが以前発表したProtocol Buffer。各種言語向けのシリアライズメッセージ形式ですが、その内容が適切であるか読み取り、編集できるのがProtocol Buffer Message Editorです。Java製のソフトウェアでインストーラーも付属しています。 立ち上げました。ファイルを指定して開きます。 こんな感じに表形式で読めます。 カラムが多くても問題なし。 ツリービュー表示です。 階層的になっている場合はこちらを。 1行だけ取り出して読んでいます。 Protocol Buffer Message EditorのベースになっているのはRecordEditorというCSV/TSV形式のファイルを編集するソフトウェアとなっています
jDataViewはjQueryを使ったJavaScriptライブラリ解析用ライブラリです。 jDataViewはJavaScriptでバイナリデータを読み込む際に利用するDataViewを拡張し、より使いやすくしてくれるJavaScriptライブラリです。バイナリーハッカー必見のライブラリです。 こんなイメージデータをJavaScriptから閲覧できます。 tarファイルを読み込んでファイル構造やテキスト内容を表示しています。 テキストエリアの中にファイルの内容が表示されています。 jDataViewを使うとバッファーをその場で作ったり、バイナリファイルをAjaxで読み込んでgetStringで指定部分だけを取り出すことができます。DataViewをそのまま使うよりも便利そうです。 jDataViewはjQuery/JavaScript製のソフトウェア(ライセンスはWTFPL)です。 M
前書き お馴染み、hello worldのソース。 class Hello { public static void main(String[] args) { System.out.println("hello world"); } } このコードはコンパイルされると、こんなバイトコードになります。 ca fe ba be 00 00 00 32 00 22 07 00 02 01 00 05 48 65 6c 6c 6f 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 0a 00 03 00 09 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e
バイナリって何となく苦手意識のある方も多いかと思いますが、swfのバイナリ解析は数パターンの計算方法だけ抑えてしまえば意外と素直に読み解けてしまいます。 文系大学出身&英語が読めない私でも大丈夫だったので、興味のある方は是非! 用意するもの まずはバイナリファイルを閲覧・編集できる環境を用意します。バイナリエディタは様々なものがありますが、自分の環境や好みに合わせて選んでみてください。代表的なものを下記します。 Stirling(Windowsの場合) HexEditor(Macの場合) vi 1. バイナリモードでswfファイルを開く vi -b hoge.swf 2. テキスト形式から16進数ダンプ形式に変換 :%!xxd 3. 16進数ダンプ形式からテキスト形式に変換 :%!xxd -r
4/22追記:Mach-Obuilder も実装したので IntelMac でも遊べる。 JQuery っぽい文法で、ブックマークレットとして簡単に遊べるアセンブラが欲しいと思って勢いで書いてみた (デモ)。とりあえず以下のサンプルが動くくらいにしか実装してない。 var buf = new Buffer(); with (new Assembler(buf)) { call($('get_addr')); $$('get_addr'); pop(ecx); add($('str - get_addr'), ecx); mov($('sizeof(str)'), edx); xor(ebx, ebx); mov(4, eax); // write(2) int(0x80); mov(1, eax); int(0x80); // _exit(2) $$('str'); $string(
参考資料(というか主要なアイデアほとんど全部)はこちら。 http://mgran.blogspot.com/2006/08/downloading-binary-streams-with.html 何に使うのかはこれから考える。 でかいファイルを食わせてループでString.fromCharCodeを回したらFirefoxが死んでしまったのでそこだけ注意。 (mal_blueさん,nanto_viさんに直して頂いたコード版) <html><head> <script> load_url = function(url) { var req = new XMLHttpRequest(); req.open('GET',url,false); //XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]
中級以上のPCユーザーにとって選択肢の一つとなり得る完成度を誇る、国産のバイナリ~テキストエディタ「Thebe」がリリースされた。バイナリとテキストを一ツールで扱える、エンコード絡みなど各種設計が極めて通好みなエディタだぞ。 作者曰く これは群雄割拠フリーウェアやシェアウェアがひしめいて、今から参入しようなんて馬鹿を見そうなテキストエディタではありません。バイナリエディタなのです。 だそうだけど、「Thebe」はバイナリやテキスト、HTMLやCGIプログラミングなど全てを扱えるエディタツールだ。単純にテキストエディタとして見ても、正規表現検索やマクロ、ウインドウ分割など、高機能型テキストエディタに求められる基本機能を全て備えたフリーエディタだし、バイナリを弄くることだってできる。UTF-8など各文字コードをそのまま扱えるためエンコード絡みで文字化けする危険がないし、「プロジェクト」という形
ActionScript Converter "3to2(サントゥニー)" ActionScript Converter "3to2(サントゥニー)" とは ActionScript Converter "3to2(サントゥニー)" は、ActionScript3 で作成した Flash ムービーファイル(SWF) から ABC(ActionScript Byte Code) を抽出し、これを ActionScript2 ソースコードに変換する、コンバータプログラムです。 "3to2(サントゥニー)" は、現在、開発の途中段階にあります。現在は、プログラム変換処理の精度向上や一部の設計見直しなどをおこなっています。 開発の経緯 ActionScript のプログラミング環境については、コンテンツがPC向け(Flash)であるか、ケータイ向け(FlashLite) であるかによって、
Linux カーネルのプロセススケジューラの核である kernel/sched.c の schedule() を読み進めていくと、タスク切り替え(実行コンテキスト切り替え)はその名も context_switch() という関数に集約されていることが分かります。2.6.20 の kernel/sched.c だと以下のコードです。 1839 static inline struct task_struct * 1840 context_switch(struct rq *rq, struct task_struct *prev, 1841 struct task_struct *next) 1842 { 1843 struct mm_struct *mm = next->mm; 1844 struct mm_struct *oldmm = prev->active_mm; 1845 184
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く