🌓

滴水逆向 01-23 C语言

图省事安了个 xp 虚拟机,这样就可以使用跟课堂一样的古老环境了 VC6 相关操作 F7:编译并运行 F5:调试 shift+F5:结束调试 F9:设置断点 F10:step over F11:step in 打开寄存器窗口和内存窗口:view–debug windows registers:寄存器窗口(快捷键ALT+5) Memory:内存窗口(快捷键...

阅读全文

滴水逆向 01-22 堆栈图2

函数 计算机的函数,是一个固定的一个程序段,或称其为一个子程序,它可以实现固定运算功能的同时还带有一个入口和一个出口,所谓的入口,就是函数所带的各个参数,我们可以通过这个入口,把函数的参数值代入子程序,供计算机处理,所谓出口,就是指函数的计算结果,也称为返回值,在计算机求得之后,由此口带回给它的调用程序。 汇编中的函数: 函数的入口: 函数的...

阅读全文

滴水逆向 01-21 堆栈图1

课后作业 画出第二个函数的堆栈图 堆栈图: 画出第三个函数的堆栈图 堆栈图: 画出第四个函数的堆栈图 堆栈图:

阅读全文

滴水逆向 01-20 JCC

JMP 只修改 EIP,其余什么也不做 1MOV EIP, 寄存器/立即数 ;简写为:JMP 寄存器/立即数 CALL 修改 EIP,ESP 也会 -4,把下一句要执行的地址压栈 12PUSH 地址BMOV EIP, 地址A/寄存器 ;简写为:CALL 地址A/寄存器 RETN 修改 EIP,ESP + 4,弹出栈顶返回地址赋给 EIP。类...

阅读全文

滴水逆向 01-19 标志寄存器

标志寄存器 在哪看?OD 已经把 32 位拆分好列出来了,C就是表示CF,P就表示PF…最下面那个 EFL 就是拆开前的样子,需要自己拆的时候就把这个 16 进制数展开成 32 位二进制就行 记住这几个寄存器的位置和名称: 进位标志 CF(Carry Flag):如果运算结果的最高位产生了一个进位或借位,那么,其值为 1,否则 0 研究进位时,要先...

阅读全文

滴水逆向 01-16 内存地址_堆栈

内存地址 反汇编窗口和寄存器窗口数据存储都是从高位到低位,数据区则是由低位到高位 寻址公式一:[立即数] 读取内存的值: 12MOV EAX, DWORD PTR DS:[0x13FFC4]MOV EAX, DWORD PTR DS:[0x13FFC8] 向内存中写入数据: 12MOV DWORD PTR DS:[0x13FFC4], eaxMOV...

阅读全文

滴水逆向 01-15 通用寄存器_内存读写

通用寄存器 32 位通用寄存器的指定用途如下: 寄存器 主要用途 编号 存储数据的范围 EAX 累加器 0 0 - 0xFFFFFFFF ECX 计数 1 0 - 0xFFFFFFFF EDX I/O指针 2 0 - 0xFFFFFFFF EBX DS段的数据指针 3 0 - 0xFFFFFFFF ESP 堆栈指针 4 0 - ...

阅读全文

滴水逆向 01-14 数据宽度_逻辑运算

数据宽度 看成一个圆,当分正负的时候就从中间劈开,左边负数,右边正数,对应平时所讲的正数第一位为 0、负数第一位为 1,且左边最下面为最大的负数 几个重要的计量单位: BYTE 字节 8bit WORD 字 16bit 2字节 DWORD 双字 32bit 4字节 逻...

阅读全文

滴水逆向 01-13 进制2

课堂练习: 3 进制定义:由 3 个符号组成,分别是 0、1、2,逢 3 进 1 1234567890 1 210 11 1220 21 22100 101 102110 111 112120 121 122200 201 202210 211 212 220 221 222 3 进制定义:由 3 个符号组成,分别是 2、0、1,逢 3 进 1 123456...

阅读全文

滴水逆向 01-12 进制1

进制的本质 $N$ 进制的定义:由 $N$ 个符号组成,符号可任意定义,逢 $N$ 进一 二进制与十六进制的映射: 123456789101112131415160000 00001 10010 20011 30100 40101 50110 60111 71000 81001 ...

阅读全文