逆向笔记之基础学习(一)
博客已搬家,新博客地址
本文笔记均来自于对滴水逆向教程的学习,通过学习教程记录的笔记,个人所见所得。
我感觉滴水课程原理性的讲的蛮好,通过这个来夯实基础。
大纲:
-
进制学习
-
数据宽度
-
二进制的逻辑运算
-
通用寄存器
-
常见汇编指令
-
内存
-
标志寄存器
-
堆栈
-
jcc
进制
学习大纲:
- 进制的实质就是查表
- 熟悉2进制跟16进制的转换
- 熟悉进制表的制作以及计算进制之间的加减乘除
进制练习
- 通过编写7进制加法表,乘法表,并计算
- 23456+54356 = ?
- 5621 - 654 = ?
- 234 * 65 = ?
- 2+3 = 1?可能嘛
- 16进制与二进制的映射
- 自行编写进制加密
练习1解答
首先编写1-100的7进制数据
一 | 二 | 三 | 四 | 五 | 六 | 七 |
---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
30 | 31 | 32 | 33 | 34 | 35 | 36 |
40 | 41 | 42 | 43 | 44 | 45 | 46 |
50 | 51 | 52 | 53 | 54 | 55 | 56 |
60 | 61 | 62 | 63 | 64 | 65 | 66 |
编写7进制加法表
一 | 二 | 三 | 四 | 五 | 六 |
---|---|---|---|---|---|
1+1=2 | |||||
1+2=3 | 2+2=4 | ||||
1+3=4 | 2+3=5 | 3+3=6 | |||
1+4=5 | 2+4=6 | 3+4=10 | 4+4=11 | ||
1+5=6 | 2+5=10 | 3+5=11 | 4+5=12 | 5+5=13 | |
1+6=7 | 2+6=11 | 3+6=12 | 4+6=13 | 5+6=14 | 6+6=15 |
编写7进制乘法表
一 | 二 | 三 | 四 | 五 | 六 |
---|---|---|---|---|---|
1*1=1 | |||||
1*2=2 | 2*2=4 | ||||
1*3=3 | 2*3=6 | 3*3=12 | |||
1*4=4 | 2*4=11 | 3*4=14 | 4*4=22 | ||
1*5=5 | 2*5=13 | 3*5=21 | 4*5=26 | 5*5=34 | |
1*6=6 | 2*6=15 | 3*6=24 | 4*6=33 | 5*6=42 | 6*6=51 |
计算结果:
23456 + 54356 = ? 23456 + 54356 = ? 23456+54356=?
计算过程:
- 6+6 查表是15,进一位,留5
- 5+5 查表是13, 13 + 1,3+1查表为4,为14,进一位,留4
- 4+3 查表是10, 10 + 1,11,进一位,留1
- 3+4 查表是10, 10+1 = 11,进一位,留1
- 2+5 查表是10, 10+1 = 11,进一位,留1
结果为:111145
5621 − 654 = ? 5621 - 654 = ?