タグ

binaryに関するwestlifeのブックマーク (9)

  • Google Issue Tracker

    westlife
    westlife 2008/12/12
    Webブラウザ上でネイティブバイナリコードを実行
  • SSE2による浮動小数演算の仕組みと検証:CodeZine

    x87 FPU x87 FPUは、x86アーキテクチャが標準で搭載する命令セットの一つです。st(0)~st(7)までの8つのレジスタ(80ビット)が利用可能ですが、これらはスタック構造になっており、各レジスタに自由にアクセスすることはできません。命令セットに即値モードがないため、単純に値を代入するだけでもメモリアクセスを要します。 しかしながら、x86 CPU同士であれば環境依存の問題が生じないという大きなメリットも持ち合わせます。一般的なx86用Cコンパイラなどは、デフォルトでFPU用のネイティブコードを生成するようになっていることが多いようです。MMX MMX Pentium以降のIntel CPUに組み込まれる拡張命令セットです。FPUレジスタの64ビット分を活用し、8ビット整数8組、16ビット整数4組、32ビット整数2組に対する演算を同時に行うことができます。 ちなみに、MMX命

    westlife
    westlife 2007/04/22
    Windows実行ファイルの内部構造について。
  • AMD64の特徴と機械語コーディング:CodeZine

    はじめに 64ビットCPUが出始めて、数年が経ちます。現状では、ほとんどのデスクトップPCが64ビットCPUを搭載する形になり、ノートPCの64ビット化も時間の問題と思われます。今回は、64ビット技術がどのような特徴を持ち合わせているのか、ソフトウェア側のアプローチをどのように進めていったらよいのかという話題で進みます。そもそも、64ビットCPUって 実は、ひとことで64ビットCPUと言うと、2つの異なるCPUを意味してしまいます。AMD64/EM64-TIA-64  AMD64/EM64-T(以下、AMD64)とは、x86アーキテクチャのレジスタ幅を64ビットに拡張し、64ビット対応のネイティブコードを追加した規格になります。一般的に、パソコン市場で64ビットCPUと言うと、ほとんどがこちらのAMD64のことを意味しています。因みに、このアーキテクチャの設計を一番初めに行ったのはAMD

    westlife
    westlife 2007/04/22
    Windows実行ファイルの内部構造について。
  • プロセスデバッガを作ってみる(プロセスデバッガ, 作成, ネイティブコード)

    はじめに 「デバッガ」とはデバッグを支援するソフトウェアであり、実行中のプログラムの変数の内容を参照したり、トレース実行(ソースコードと照らし合わせながら1ステップずつ実行するモードのこと)を行うためのアプリケーションです。 前回まではEXEファイルやネイティブコードの構造について迫りましたが、それらの動作の流れを把握する上で、デバッグ技術は重要になってきます。 なお、ここで対象としているデバッガとは、実行中プロセスの動きを把握するためのプロセスデバッガです。インタプリタに搭載されるデバッガとは異なり、ネイティブコードのみのEXE、DLLなどをデバッグすることができます。使用するソフトウェア 今回は「Visual C++ 2005 Express Edition」(以下、VC++)を使用してプログラミングを行います。VC++は、マイクロソフトのサイトからダウンロードできます。デバッガの処理

    westlife
    westlife 2007/04/22
    Windows実行ファイルの内部構造について。
  • x86系CPUのネイティブコードを解析する:CodeZine

    はじめに 今回はPC市場で一般的に採用される、x86系のCPUの機械語に迫ります。最新技術が次々と現れる昨今ですが、実はx86の規格はあまり目新しいものではありません。クロック周波数は上がるものの、機械語の形態は昔から引き継がれています。x86 CPUの種類 x86ネイティブコードを解読できるCPUには、下記のようなものが挙げられます(※AMD64を除く)。もはや説明はいりませんね。Intel Pentium 4Intel Pentium 3Intel Pentium 2Intel MMX PentiumIntel PentiumIntel 486/386AMD AthronAMD DuronAMD K-6  ここからは、32ビット以降のx86系 CPUに関する話題を扱っていきます。8ビットCPU、16ビットCPUに関するテクニックは出てきませんので、ご了承ください。

    westlife
    westlife 2007/04/22
    Windows実行ファイルの内部構造について。
  • プログラミングと開発者のためのCodeZine:プログラムからEXEファイルを生成してみよう(EXEファイル, Windows, 実行ファイル)

    はじめに これまで解説してきたEXEファイルにまつわる情報をもとに、オリジナルのEXE生成プログラムを作ってみましょう。 「EXEを生成するなんて、とてつもない量のコードが必要なんじゃっ!?」 このように心配される方がいるかもしれませんが、ご安心ください。前回解説した構造体の各メンバに値を指定してファイルに流しこめば、知らず知らずのうちにEXEファイルが出来上がります。 誤解を招くとマズいので初めに言っておきますが、コンパイラを作るワケではありません。コンパイラはソースコードをネイティブコード(機械語)に変換するためのツールであり、今回挑戦する内容とは異なります。今回は、あらかじめ用意する少量のネイティブコードを実行するためにEXEファイルを生成するのだということを念頭に置き、作業に取り掛かってみましょう。 使用するソフトウェア Visual C++ 2005 Express Editio

    westlife
    westlife 2007/04/22
    Windows実行ファイルの内部構造について。
  • EXEファイルの内部構造(セクション):CodeZine

    はじめに 前回で解説したPEヘッダに引き続き、今回もEXEファイル内のデータフォーマットの一部分「セクション」に関する話題で突き進みます。 それにしても、EXEファイルは調べ手に休ませる余地を与えません。PEヘッダという大きな構造体をクリアしたと思ったら、お次は複数個も存在するセクションが登場するのです。PEヘッダは大きくても1つしかなかったのでまだ良いのですが、セクションだけは更に細分化されたデータ構造を指定するため、少々厄介です。更に、セクションにはデータサイズ・RVA(イメージベースからの相対オフセット)など、生データに関するより詳細な情報が保持されます。 経験豊富な方はこのような文章を読んでお気づきかもしれませんが、薄い資料でセクションに関するリサーチを行うと、メモリダンプと睨めっこという状況に陥ります。筆者は数週間の間、セクション周りのメモリダンプと暮らしたことがあるので間違いあ

    westlife
    westlife 2007/04/22
    Windows実行ファイルの内部構造について。
  • EXEファイルの内部構造(PEヘッダ):CodeZine

    はじめに 皆さんは、アプリケーションを起動させるEXEファイルの中身について考えてみたことはありますか? 稿では、EXEファイルの内部構造について解説していきます。特にEXEファイルに関する日語の資料が少ないのが現状です。そのため、解析に手を出してみたいと思っても挫折してしまった方も少なくないのではないでしょうか。稿は、筆者自身の経験を踏まえ、実際にEXEファイルの解析ができるようになるための資料となるよう解説していきます。 前回、第1回では、EXEファイルの概要として、MZシグネチャ、マシンタイプ、ネイティブコード、リソース、デバッグ情報などについて説明しました。これらの一部はPEヘッダと呼ばれる場所に格納されています。また、そのPEヘッダより前にあるEXEファイルの先頭には、IMAGE_DOS_HEADER構造体、MS-DOS用スタブなどがあり、それらがWindowsの元となった

    westlife
    westlife 2007/04/22
    Windows実行ファイルの内部構造について。
  • Windows実行ファイルのバイナリ概要:CodeZine

    はじめに アプリケーションを起動させるEXEファイルを、普段何気なく実行していることと思います。皆さんは、このEXEファイルの中身について考えてみたことはありますか? 連載は、そのEXEファイルの内部構造がどのようになっているのかを解説していくものです。 EXEファイルには具体的に、どのような情報が格納されているのでしょうか。通常、Visual C++やVisual Basic、Delphiなどのコンパイラが自動的に生成してくれるので、考えることはありませんが、今回はこの疑問に真っ向から勝負を挑んでいきます。EXEは魔法の箱? 筆者は「ActiveBasic」というネイティブコンパイラ搭載型の統合開発環境を開発しています。コンパイラ開発イコール、EXEファイルの仕様をかなり細かい部分まで理解しなければならないという状況に置かれることを意味します。 Javaや.NETが騒がれる昨今、あえて

    westlife
    westlife 2007/04/22
    Windows実行ファイルの内部構造について。
  • 1