タグ

アセンブラに関するogawastのブックマーク (8)

  • アジアのペンギン: アセンブラの勉強方法

    ダンプを解析するときなどはアセンブラを理解していないといけません。勉強しようと思っても最初は意味不明でやりづらいのですが、簡単でわかりやすい方法があります。実務的にはこれで十分だと思いますのでご紹介します。 この方法ではLinuxマシンを用意すればいいだけです。(を探したり、購入する必要もなし) アセンブラを理解するためにはCPUのレジスタなどを理解する必要があります。私が実際にダンプを解析するときに見るのはEIP、ESPぐらいです。アセンブラからソースコードを解析する場合は少しアセンブラ命令の意味を理解していれば、レジスタは汎用的に使用されるため特別な知識はあまり必要ありません。 まずは下記のようなソースコードを作成して、コンパイルします。( Fedora Core 5 32bit の場合 ) # cat assemble.c #include <stdio.h> int globa

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • Linux Assembly HOWTO

    0.7 Edition Version 0.7 Copyright © 2013 Leo Noordergraaf Copyright © 1999-2006 Konstantin Boldyshev Copyright © 1996-1999 Francois-Rene Rideau $Date: 2013-03-03 16:47:09 +0100 (Sun, 03 Mar 2013) $ This is the Linux Assembly HOWTO, version 0.7 This document describes how to program in assembly language using free programming tools, focusing on development for or from the Linux Operating System, mo

  • Linux Assembly

    Welcome to the Linux Assembly website! If you are looking for information on assembly programming under UNIX-like operating systems (Linux/BSD/BeOS/etc), this is the right place to be. Here you can find various resources, ranging from tutorials and documentation, to actual programs written in assembly language. As time passes, we will try to provide as much information on the subject as possible,

  • oklab -

    最近ではコンピューター、ウェブ、モバイルでゲームを楽しめるようになりました。これらのゲームプログラミングについて学びましょう。 ゲームプログラミングの特徴 ゲームプログラミングは比較的新しいジャンルです。 ゲーム開発に使用される言語は、C#、C++JavaScriptSwiftRubyです。ゲームでは通常のアプリケーションと異なり複雑なビジュアルを操作するパフォーマンスと速度が要求されますので、プログラム言語もそれに特化している言語がおすすめです。 ゲームプログラミングは今後も人気の職種です。習得してステップアップを目指しましょう。 Oracle PLのプログラミング言語について学びましょう。 Oracle PLの特徴 SQL、T-SQLと同様にOracle PLもデータベースを処理するための言語です。違いとしてはOracle PLは世界最大のデータベースのひとつであるOracle

    ogawast
    ogawast 2007/02/07
    こいつを勉強する必要ありだな
  • Assembly Programming Linux

    Linux でアセンブリプログラミング copyright (C) 2000-2003 Jun Mizutani (mizutani.jun@nifty.ne.jp) はじめに. アセンブラを使って Linux のプログラミングで遊んでみます.アセンブラには NASM を使用して,カーネルを直接利用することにします. いまさらアセンブラでプログラムを作成することは,時代錯誤と感じる人も 多いかもしれません.「アセンブラでプログラミングなんて職人芸でしょう」 と思うかもしれません. 20年前では趣味のプログラミングは BASIC か アセンブラしか選択肢がありません でしたが,今ではPerl, Ruby からアセンブラまでの間に非常に多くの言語があって, アセンブラは普通では不要な最下層の知識となっていると思います. 10BaseT のツイストペアケーブルのインピーダンス

  • Assembly Programming Linux

    ただし,sys_execve() などのように struct pt_regs regs の形式で引数を渡す システムコールでは,すべてのレジスタが渡ります. struct pt_regs { long ebx; long ecx; long edx; long esi; long edi; long ebp; long eax; int xds; int xes; long orig_eax; long eip; int xcs; long eflags; long esp; int xss; }; これらのレジスタに必要な値を設定して int 0x80 を実行する ことで Linux のすべての機能にアクセスすることができます.単純ですね. なぜ C で記述されたシステムコールの引数をレジスタで渡すことができるの でしょう? もう少しあとで解説する予定です. カーネルソースのヘッダファ

  • 第3回 レジスタについて

    汎用データ・レジスタはその名の通り、データを格納するためのレジスタです。eax, ebx, ecx, edx の4つは普通の変数として使えます。esi, edi は変数としても使えますし、一部のメモリを扱う命令でも使われます。esp, ebp はスタックを扱う時に出てきます(スタックについては関数呼び出しを扱う時に述べます)。 セグメント・レジスタはセグメントを指定するのに使うレジスタですが、最近はメモリ操作には便利なフラットモデル(32ビットのアドレスで直接指定するモデル)があるので、セグメントについてはここでは触れません。よってこの講座ではセグメント・レジスタは使用しません。 ステータス制御・レジスタはステータスの保持や実行の制御に使われています。eflags はフラグレジスタと呼ばれるもので、詳しくは下で述べます。eip は次に実行する命令の位置を記憶しているレジスタです。これらレジ

  • 1