易语言之前提 必知的一些基础语言
易语言之前提 必知的一些基础语言
如果只知道易语言,那只能编一点小程序。
但是如果要写网游辅助,那就必须 先会读内存中的血蓝 ,物址等等~
查它们的工具就是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


