易语言之前提 必知的一些基础语言

易语言之前提 必知的一些基础语言

如果只知道易语言,那只能编一点小程序。
但是如果要写网游辅助,那就必须 先会读内存中的血蓝 ,物址等等~

查它们的工具就是CE了。

以下是关于CE的一些基本知识。

明天CE之每天一篇。。。将教大家 查找自己的背包地址。

如果有超过十个回复 的话~~

如果有些人没有锁贴的话~~~




原文由Dark Byte(CE作者)发表,Smidge204补充

大多数人认为汇编很难学,但事实上它很简单,在这个教程我将试图解释一些基本的汇编语言如何工作。

处理器以内存和寄存器来工作,寄存器类似内存但比内存快得多,寄存器有EAX,EBX,ECX,EDX,ESP,EBP,ESI,EDI,还有段寄存器,(还有一个叫EIP,这个是指令指针,它指示下一条将要执行的指令)

一些例子:

sub ebx,eax (ebx=00000005,eax=00000002)
让我们把它分成更基本的成分:
操作码,参数1,参数2

操作码是一个指令告诉处理器做什么,在这个例子里是让储存在EBX里面的数值,减少储存在EAX中的这个数。

在这个例子中EBX=5而EAX=2,所以这个指令执行后EBX的值应该是3(5-2)

还有请注意:当你看到操作码和两个参数的时候,第一个参数是指令的目标,而第二个参数则是来源。

sub [esi+13],ebx(ebx=00000003,esi=008AB100)
在这个例子里,你可看到第一个参数有一个方括号,这意思是说用一个内存的位置来代替寄存器,内存的位置由方括号中的内容指定,在这个例子里是esi+13(注意13是十六进制数)

因为ESI=008AB100,所以所指的地址是008AB113。
这条指令让保存在008AB113这个地址上的数值,减少保存在EBX上的数量,即3。

如果在008AB113位置上的数值是100,那么执行这个指令后,008AB113位置上的数值将会是97。

sub [esi+13],63 (esi=008AB100)
这个几乎和上一个完全一样,只不过是用直接数值取代寄存器。

记住了63实际上是99,因为指令中写的永远都是十六进制。

假设008AB113这个位置上的数值是100(用十六进制表示是64),执行这个指令后008AB113位置上的数值将会是1(100-99)。

sub ebx,[esi+13] (ebx=00000064 esi=008ab100)
这个指令让储存在EBX上的数值,减少在008AB113里面储存的数值(ESI+13=008AB100+13=008AB113,你没忘记吧)

上面直到这里都只使用SUB这个指令,但处理器能理解的指令其实很多很多。

让我们来看看MOV这个最常用的指令吧,虽然它的名字是MOVE(移动)数据,但它其实只是把数据从一个位置复制到另一个位置罢了。

MOV工作起来也和SUB完全一样,第一个参数是目标,第二个参数是来源。

举例:
MOV eax,ebx(eax=5,ebx=12)
把储存在EBX的数值复制到EAX里面

所以,如果这条指令被执行,那么EAX里面的数值会是12(并且E

易语言之前提 必知的一些基础语言相关文档

最新文档

返回顶部