いじりたければ先ず第1にも第2にも「バイナリエディタ」、持ってない人は
入手して下さい。
「うわぁ〜冷てぇ・・・・コイツ・・・・(~_~メ) ピクピク」
知識の無い人はこのフリーソフトがお勧めです。
http://www.kwi.co.jp/sub22.htm
| 1. |
16進数分らない |
先ず知らない人はこれを読んで下さい |
| 2. |
どこをいじるのさ? |
表示例を入れて、解析した部分の紹介 |
| 3. |
出来ないわ |
装備整えたデータDLします?それなら |
機械語のデータをいじる場合に必要なのは16進数の仕組みの理解です。
ではどういう事なんでしょうか?
0〜Fまでの15個の数字を使って桁を表現します(対応は下表)。
| 10進数 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
| 16進数 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
a |
b |
c |
d |
e |
f |
これ以外の数字、アルファベットは使いません。じゃあこんな数字を変換し
てみましょう。
10進数で「7」 → 16進数では「07」
10進数で「18」 → 16進数では「12」
10進数で「96」 → 16進数では「60」
難しくないでしょう?こういう風に覚えるのです(下表
| 桁目 |
16進数 |
10進数換算値 |
* |
桁目 |
16進数 |
10進数換算値 |
| 1 |
16^0 |
1 |
* |
6 |
16^5 |
1048576 |
| 2 |
16^1 |
16 |
* |
7 |
16^6 |
16777216 |
| 3 |
16^2 |
256 |
* |
8 |
16^7 |
268435456 |
| 4 |
16^3 |
4096 |
* |
9 |
16^8 |
4294967296 |
| 5 |
16^4 |
65536 |
* |
10 |
16^9 |
68719476736 |
大きな桁を計算する場合は、上記の10進数換算値を目安に除法を
行い、残数を下の換算値で除法を続けて行く。それだけです
では10進数で1,000,000(百万)を16進数で表現してみましょう
| 割ってみる数 |
割った整数値 |
余った数 |
| 1,048,576 |
0 |
1,000,000 |
| 65,536 |
15 |
16,960 |
| 4096 |
4 |
576 |
| 256 |
2 |
64 |
| 16 |
4 |
0 |
| 1 |
0 |
0 |
と、なります。では実際に16進数で表示してみましょう。
0F 42 40(←桁の大きい方から書くのは10進数と一緒)
Fの前に0を入れているのはバイナリエディタでは二文字
ずつ表示されているケースが多い為です。
自分なりにある一定の数字(9999等)をメモしたり一覧表に
して手元に置いておくのもナイスな方法かもしれません。