Presentation The ERESI Reverse Engineering Software Interface is a multi-architecture binary analysis framework based on a common domain-specific language for reverse engineering. It provides extensive OS-wide support for program analysis, in... 続きを読む
プログラムヘッダテーブルの各エントリ 32bit struct Elf32_Phdr { Elf32_Word p_type; /* エントリのタイプ */ Elf32_Off p_offset; /* 対応するセグメントのファイル先頭からのオフセット */ Elf32_Addr p_vaddr; /* メモリ上でのセグメントの第一バイトの仮... 続きを読む
■[GCC][binhacks] GCCが出力した小さなバイナリからsection headerを除去したりする話 Binary Hacks に、「インラインアセンブラをちょっとだけ使って、gccに小さなhello worldバイナリを出力させる」というネタを書きました(Hack #25: glibcを使わないでHello... 続きを読む
ELF ヘッダー ELF ヘッダーには実際のサイズが記録されるため、オブジェクトファイル内の制御構造は大きくなることがあります。オブジェクトファイルの形式が変更されると、プログラムは、予想より大きい、または小さい制御構造に遭遇する可能性があります。大... 続きを読む
a.out形式はUNIXで長い間使われてきたが、Unix System Vの登場時に、クロスコンパイルや動的リンクなどに、対応するためにより良い形式が必要だとして、ELF(Executable and Linking Format)が作られました。 ELFは、再配置可可能オブジェクト・実行可能・共有オ... 続きを読む
■[Program][Bin] 75B ELF @ FreeBSD 09:56 昨日は b2con でした。発表者の皆さんおつかれさまでした。とても楽しかったです。 dankogaiさん が FreeBSD で ELF ゴルフは制約が多いと教えてくださったのでやってみました。確かに制約は厳しい感じでした。 75Byt... 続きを読む
スラッシュドットJPによると、本日11月11日はバイナリデーだそうです。 バイナリデーを祝うべく、/.Jにもちょっとしたイースターエッグを仕込んでおきました。 /.Jのとある場所に、日本のバイナリ/ハッカー界の著名人の方々から頂戴した祝賀 コメントを掲載して... 続きを読む
Generated by Hiki 0.8.7 (2007-06-24). Powered by Ruby 1.8.6 (2008-08-11). Founded by shinh. 続きを読む
尾藤正人(a.k.a BTO)です 先日の社内勉強会のLTでLD_PRELOADについて簡単にやってみました。 LD_PRELOADって? 環境変数$LD_PRELOADを使うと他のライブラリの読み込みの前に任意のライブラリを先に読み込ませることができます。 実行プログラムの形式にELF形式を... 続きを読む
当然のことながら、プログラムというのは、マシン語を出力して初めて「生成できる」と言うのです。 というわけでELFバイナリを直接生成してみました。Linux x86 (32bit)限定。 gensortは1バイトのバイナリ値nを標準入力から受け取り、標準出力にプログラムを吐... 続きを読む
http://www.dodgson.org/omo/t/?date=20061213#p01で "Size Is Everything" が日本語訳がされていて素晴らしいです。[SIE] http://www.hyuki.com/yukiwiki/wiki.cgi?WhirlwindTutorialOnCreatingReallyTeensyElfExecutablesForLinuxまぁみんな最小だ最小だと言... 続きを読む
WhirlwindTutorialOnCreatingReallyTeensyElfExecutablesForLinux - 目次 Linux で動く極小 ELF 実行ファイルをつくる怒涛のチュートリアル (あるいは "Size Is Everything") コメント 以下の文章の日本語訳です: http://www.muppetlabs.com/~breadbox/software... 続きを読む
BITS 32 ORG 0 DB 0x7F entry: inc ebp dec esp inc esi mov dl, 14 mov cl, hello xor dword [ecx], 0x6C4D6549 inc ebx push dword 0x00030002 mov al, 4 int 0x80 add [eax], eax add [eax], al sbb [eax], al add [eax], al sbb [eax], al add [eax], al xc... 続きを読む
ToDo:rhgsb (10/5 日)yakai (10/19 日)tukuru (10/20 月)make (11/8 土)どうでもいい 348langscan.dtt世界樹書類(JAL、住民票)四国fix月資源 火金燃 土不燃 _ hello76 NASMも触れんとなぁ、ということで Hello world! 76B を移植。 さらにゴルフしよう ; hello7... 続きを読む
● [Linux][Writing] 世界一単純な実行ファイルフォーマット binfmt_flat Computer Architecture Series 第二作のために、日々素材作りを進めているのですが、この作業の間に "binfmt_flat" というオタッキーなモジュールが誕生しました。今日は、このモジュー... 続きを読む
The programs listed here are provided as exhibitions of just how compressed a Linux ELF executable can be and still function. Take a look through /usr/bin: how big is the smallest ELF executable in there? Now try writing the smallest hello-wo... 続きを読む