Capture The Frog

かえるぴょこぴょこw

MENU

アセンブリ入門

0ab2aeda90221832167e5127332dd702 の解析レポート

自宅に設置したハニーポッドdionaeaで収集された 0ab2aeda90221832167e5127332dd702(以下 本ファイル)を解析した結果と その結果から考えられることを記していく。 表層解析 本ソフト内の可読ascii文字列・API・PE情報の取得・分析した。 また、VirusTotal…

アセンブリ言語入門 その7

今回は、配列と文字列をやっていこうと思います。 配列 配列は、メモリ内の連続した場所に格納されるため簡単にアクセスできます。 スタックは使わないです。 例えば、int型の4つの要素を含む配列だったら、C言語で int nums[4]={1,2,3,4} と表せます。同じ…

アセンブリ言語入門 その6

今回は、関数について書いていきたいと思います。 関数に触れる前に 関数が呼び出されると、制御は別のメモリアドレスに移動します。 CPUはそのメモリアドレスで処理を実行し、処理が終わると元のメモリアドレスに戻ってきます。関数のパラメータ、ローカル…

アセンブリ言語入門 その5

今回は、While文についてやっていきます。 While文 While文には、初期化・継続条件・アップデート文が必要です。初期化は一度だけ行われて継続条件までアップデート文に従って処理を続ける。ってとこでしょうか。 それでは、前回と同様C言語と見比べてみまし…

アセンブリ言語入門 その4

条件分岐 分岐命令は、実行制御を別のメモリアドレスに移します。 分岐を実行するためアセンブリではジャンプ命令がよく利用されます。 ジャンプには、無条件ジャンプと条件付きジャンプの2つがあります。 無条件ジャンプ 無条件ジャンプでは常にジャンプを…

アセンブリ言語入門 その3

頭の片隅に置いておくと理解がすすむもの ・バイト→ビット ×8・ビット→バイト /8・アセンブリとは、マシンコードをアセンブリコードに変換すること ・x86 CPUには、8つの汎用レジスタがある。 EAX・EBX・ECX・EDX・ESP・EBP・ESI・EDI これらは全て32ビット(…

アセンブリ言語入門 その2

頭の片隅に置いておくと理解がすすむもの ・バイト→ビット ×8・ビット→バイト /8・アセンブリとは、マシンコードをアセンブリコードに変換すること ・x86 CPUには、8つの汎用レジスタがある。 EAX・EBX・ECX・EDX・ESP・EBP・ESI・EDI これらは全て32ビット(…

アセンブリ言語入門 その1

今回から、何記事かにわたってアセンブラ言語について書いていきたいと思います。少し前に、マルウェアの分析を初めて1本記事を書いたのですが、 qwertytan.hatenablog.jp マルウェアの挙動の分析をしていてアセンブラがわからなくて悔しい部分があったので…