タグ

asmに関するnitoyonのブックマーク (5)

  • はてなブログ | 無料ブログを作成しよう

    思いは言葉に。 はてなブログは、あなたの思いや考えを残したり、 さまざまな人が綴った多様な価値観に触れたりできる場所です。

    はてなブログ | 無料ブログを作成しよう
    nitoyon
    nitoyon 2009/04/26
    eXeScope と Immunity Debugger でバイナリをいじる。DeleteMenu を呼び出す箇所を調べて呼出し後の場所にJMPするように書き換え。
  • アセンブラめも - やや温め納豆

    C言語とアセンブラの対応を理解するには最適化の為のアセンブラ入門がとってもわかりやすい。昼休みに読める。とりあえず頭を整理するためにちょっと書く。アセンブラがちょっとずつ読めるようになってきて楽しい。 #include <windows.h> #include <tchar.h> #include <boost/typeof/typeof.hpp> template <typename T> T __stdcall f(T arg) { BOOL success = FALSE; HMODULE ntoskrnl = ::LoadLibrary(_T("ntoskrnl.exe")); FARPROC ssdt = ::GetProcAddress(ntoskrnl, "KeServiceDescriptorTable"); return arg; } int _tmain(int arg

    アセンブラめも - やや温め納豆
    nitoyon
    nitoyon 2009/01/11
    Visual C++ でデバッグビルドしてアセンブラを読む。スタック、レジスタ(esp,ebp)の動きを解説。/ 「基本ランタイムチェック=既定値」「バッファセキュリティチェック=いいえ (/GS-)」
  • 最適化の為のアセンブラ入門

    現在、アセンブラを使わなければならないという状況はあまりありませんが、最適化をする場合はアセンブラを知っている方がなにかと有利です。特に、コンパイラの吐いたコードを吟味することはとても重要です。よってここでは、アセンブラコードを読む能力と、簡単なアセンブラコードを書く能力を身に付けることを目標とします。 この記事は Windows 上で VC++ を使う場合を想定して書いていますが、BCC でも殆ど同じですし、gcc でも少し書き方を変えれば使えます。Intel のプロセッサ上で動く Linux 等でも基的な部分は同じですし、命令セットの異なるプロセッサでも、基的な部分は役に立つと思います。ターゲットは Intel Pentium 系プロセッサです。 第0回 アセンブラってどういうもの? 第1回 代入と基的な演算 第2回 定数とメモリの扱い 第3回 レジスタについて 第4回 分岐命

    nitoyon
    nitoyon 2008/11/01
    アセンブラの解説。各ページが簡潔で分かりやすい。
  • NESプログラミング事始め - mizuno_takaakiの日記

    ファミコン戦士になるべく、ファミコン(NES)のプログラミングを始めた。とりあえず、情報収集と環境設定をした。ので覚え書き。 まず一通り読んだのが以下の2サイト。 ギコでもわかるファミコンプログラミング NES研究室 - from id:cojiさん で、漠然とその仕組みがわかってきた。スプライトや背景とパレットを使って、同じスプライトでも色を変えて表示すると買って仕組みは以前どこかで読んだことがあったし、Z80のアセンブラは昔書いたことがあるので、なんとかなる予感。ところで、ここに6502の命令セットが書かれているけれど、VirtualNESの説明にある「未公開命令」なるものが存在する予感があって、それも含まれているかわからない。ま、まだ今後いろいろ調べていこう。 続いて環境整備。ダウンロードしたものは以下。 cc65 - コンパイラ NESASM - こちらもコンパイラ Virtu

    NESプログラミング事始め - mizuno_takaakiの日記
    nitoyon
    nitoyon 2008/04/07
    NESプログラミングの最初の一歩。楽しそう。
  • アジアのペンギン: アセンブラの勉強方法

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

    nitoyon
    nitoyon 2007/04/21
    最適化をオフにすれば、アセンブラの勉強になる。 via b:id:naoya
  • 1