很少记录汇编的东西,不过做逆向必须用到,特此记录。

EAX 累加器 EBX 基址 ECX 计数器 EDX 数据 ESI 源指针? EDI 目标指针 ESP 栈指针 EBP 基址指针

其中ESP EBP常作为程序的入口和出口点。栈顶和栈底。

EBX ESI EDI必须保留。比如你要调用WINAPI必须先保存这3个寄存器。调用结束后再做恢复。所以写汇编过程中可以把这3个寄存器作为计数器或者变量。

EAX ECX EDX 常用运算。

[ebp+8]常作为变量存储地址的开始。

PUSHAD POPAD 保存和恢复现场。

地址变量:

[ Base Address + Index * Scale + Displacement ]

[ebx + ecx * 4 + 8]

ebx is the base address.  base
ecx
is the index.  counter
4
is the scale based on the data size.
8
is the
displacement in BYTES.

区段寄存器

CS code segment
DS data segment
SS stack segment
ES extra segment
FS (only 286+) general purpose segment
GS (only 386+) general purpose segment

运算符

MOV ADD SUB MUL DIV

AND OR XOR NOT

INC DEC

SHL SHR 左移和右移补0

SAL SAR ..左移和右移补1

TEST 做and运算

如何消除MYsql重复记录

# delete from cdb_uc_members a where a.uid = (select max(b.uid) from cdb_uc_members b where a.username=b.username);

更新博客系统

更新了博客系统

主要是原来的系统链接对于SEO不够友好

原来并不是很想宣传自己的博客

不过还是做好这些优化比较好