call怎么写

1. 易语言怎么写CALL .版本 2
.子程序 CALL
.参数 进程ID,整数型
.局部变量 代码,字节集
.局部变量 汇编,汇编_类
汇编.初始化 ()
汇编.pushad ()
汇编.mov_esi_ptr (十六到十 (“19139D4”))
汇编.mov_ecx_ptr_esi_add (十六到十 (“10”))
汇编.push_edx () ' 要找edx的来源
汇编.push_ebx () ' 要找到ebx的来源
汇编.mov_eax_常数 (十六到十 (“00D38DF0”))
汇编.call_eax ()
汇编.popad ()
汇编.retn ()
代码 = 汇编.取代码 ()
汇编.调用函数(进程ID,代码)
2. 请问大神关于17AU同步call怎么写 下面贴出了一函数,只要把下面的代码直接复制到E的IDE中即可使用!
说说改函数功能特点如下:
该函数为本人亲身经验制作,能对符合你的CALL的要求,但请注意,该函数有对你的要求的代码
进行了相关的简化操作,下面指出简化说明:
mov eax,dword ptr ss:[ebp+0xC]
mov ecx,dword ptr ss:[ebp+0x8]
目标需要的是作为参数使用,而要求在这里使用寄存器进行传递,紧接下来的
push eax
push ecx
已经证实我的说法
而 mov ecx,(这里是基址8A8240+70+1c8)
就确实是需要使用ECX寄存器来传递,所以,贴出的代码中没有对这里进行简化,因为这是必要动作
另外,你这里在复制给ECX前有个计算动作,而我封装的代码不负责计算,这样做的好处就是,将计算
的动作交给你自己在IDE中进行设计,你只需要把计算结果作为本函数的参数即可!
如果你对这段计算的意义不太了解,可以继续问我.
call 004368f0
这里用的是直接寻址,如果我原本照写的话,将不利于你对代码的维护和更新
考虑到维护和更新,特此封装为函数,在call 004368f0 这里改用间接寻址!
因本人有2年开发WG经验,这个封装好的函数不需要使用任何模块,更新维护更加简单方便,
并且能适用类似的CALL的使用,函数执行速度快,因为不像第三放模块那样重新开辟一段内存,
然后把代码写入内存,然后再CALL内存地址,然后再释放内存,然而光是这样的操作就失去了效率,
更别说如果出现其他异常,这段内存就有可能泄露!
当然,有些模块可以使用调用CALL后将返回值返回给IDE其实,这个也是可以不用模块实现的!
然而考虑到你这个CALL的返回值可能不存在意义,我就懒得去搞了!
代码注释中带$字符后面的内容为十六进制
*******************************************代码段开始
.版本 2
.子程序 Call走路
.参数 Call走路地址,整数型
.参数 ecx要求的地址,整数型,,mov ecx,(这里是基址8A8240+70+1c8)
.参数 参数1,整数型
.参数 参数2,整数型
置入代码 ({ 96 }) ' pushad '暂存寄存器,防止被Call的函数因对寄存器的操作引发其他错误
' 压入本函数中的第四个参数作为目标函数的第二个参数
置入代码 ({ 255, 117, 20 }) ' push dword ptr [ebp+$14]
' 压入本函数中的第三个参数作为目标函数的第一个参数
置入代码 ({ 255, 117, 16 }) ' push dword ptr [ebp+$10]
' mov ecx,(这里是基址8A8240+70+1c8)
置入代码 ({ 139, 77, 12 }) ' mov ecx,[ebp+$0c]
' call $004368f0 注:这里并不是直接寻址,而是间接寻址
置入代码 ({ 255, 85, 8 }) ' call dword ptr [ebp+$08]
置入代码 ({ 97 }) ' popad
*******************************************代码段结束
3. 汇编语言中的call是什么意思 汇编语言中CALL指令调用一个子程序,CPU执行call指令,进行两步操作: