2017-04-01から1ヶ月間の記事一覧

マホ C

と、勝手に呼んでみた。「魔法の C プログラミング演習書」。C 言語初心者の自分には、すごく面白い。よい意味で、懇切丁寧に説明されていない。なので、イヤでも手を動かさなければならない。魔法のCプログラミング演習書- 入門から実践まで -作者: 倉光君…

最も簡単な逆アセンブル(ヒープ)

「最も簡単な逆アセンブル(構造体) - あしのあしあと」の続き。今回は、ヒープ領域を使ってみる。ただ使ってみるだけ。 いつものごとく、すぐに忘れて去ってしまうので、最低限、記録しておく。 #include <stdio.h> #include <stdlib.h> int main(void) { int *a; int na =4; </stdlib.h></stdio.h>…

最も簡単な逆アセンブル(構造体)

「最も簡単な逆アセンブル(ポインタ) - あしのあしあと」の続き。今回は(小さな)構造体を扱ってみる。 typedef struct { int price; int number; int tax; } payment; int totalAmount(payment *p) { return p->price * p->number + p->tax; } int main(…

最も簡単な逆アセンブル(ポインタ)

「最も簡単な逆アセンブル(ループ) - あしのあしあと」の続き。今回は、ポインタを使ってみる。どうなるのかは、容易に想像がつく。 int __cdecl plus(int *a, int *b) { return *a + *b; } int main(void) { int a = 0x07; int b = 0x0A; return plus(&a,…

最も簡単な逆アセンブル(ループ)

「最も簡単な逆アセンブル(分岐) - あしのあしあと」の続き。今回は、ループを入れてみる。 a から b までを足し合わせる sum という関数*1で実験する。 int __cdecl sum(int a, int b) { /* TODO: 引数のチェック */ int sum = 0; int i; for (i = a; i <…

最も簡単な逆アセンブル(分岐)

「最も簡単な逆アセンブル - あしのあしあと」の続き。今回は、分岐を入れてみる。 int __cdecl gt(int a, int b) { if (a >= b) { return a; } else { return b; } } int main(void) { return gt(0x07, 0x0A); } 逆アセンブルして出力されたコードが次。今…

サイバーセキュリティモニタリング(ハニーポット編 2)

「サイバーセキュリティモニタリング(ハニーポット編 1) - あしのあしあと」の続き。3 章の章末問題【2】をやる。「ハニーポット編 2」とは言いながら、この問題は、難読化の解除の問題。まぁよい。まずは、サンプルをとってくる。 https://sites.google.c…

最も簡単な逆アセンブル

なんと、アセンブラが「全く」読めない。基本情報技術者試験の午後は、当然「アセンブラ」を選択し、「はじめて読む Pentium マシン語 - あしのあしあと」でも遊び、他にも色々実験したのに(軽くショック)。 なので、初心にかえって、少しずつ、アセンブラ…

多種多様な講座たち 〜 法律系資格試験対策

諸々事情があって(講師としての勉強も兼ねて)法律系資格の対策講座を、色々受講してみた。まだ、受講しきれていない科目もあるのだが、しばらく法律の勉強ができなさそうなので、早くも、感想をまとめておく。あくまでも、現時点の、個人的な感想に過ぎな…

FP 法のイメージをつかむ

ファンクションポイント(以下、FP)法について、なんとなく頭に残っていることをメモしておく。もう、ほっとんど忘れてしまったので、少し復習しながら。 「FP 法」については、聞いたことしかなかった*1し、もはや過去の手法だと思っていた。どんなイメー…