|
|

5精币
喊话CALL 调用成功
mov eax,0x0
mov ecx,0xffffffff
push eax
push ecx
mov ecx,[0x00A499F0]
mov esi,0x05F40000
push esi
mov edx,0x1
push edx
call 0x5E7080
易语言这样写,就调用失败了,一调用游戏就闪退了,DLL注入调用的,求大佬赐教
.版本 2
.支持库 spec
.子程序 喊话CALL, , , 普通频道,组队频道,世界频道
.参数 喊话频道, 整数型, , 0=普通频道;1=世界频道;2=组队频道
.参数 喊话内容, 文本型
.局部变量 asm, 字节集
.局部变量 喊话内容地址, 整数型
.局部变量 喊话内容字节集, 字节集
.局部变量 喊话内容长度, 整数型
喊话内容字节集 = 编码_Ansi到Unicode (喊话内容, )
喊话内容长度 = 取字节集长度 (喊话内容字节集)
喊话内容地址 = 申请内存 (喊话内容长度 + 2, 真)
写到内存 (喊话内容字节集, 喊话内容地址, 喊话内容长度)
日志.输出文件 (“喊话内容地址:” + 进制_十到十六 (喊话内容地址, ), , )
' 日志.输出文件 (“喊话内容地址字节集:” + 字节集_字节集转文本 (到字节集 (喊话内容地址)), , )
asm = { 96 } ' pushad
asm = asm + { 184, 0, 0, 0, 0 } ' mov eax,0x0
asm = asm + { 185, 255, 255, 255, 255 } ' mov ecx,0xffffffff
asm = asm + { 80 } ' push eax
asm = asm + { 81 } ' push ecx
asm = asm + { 139, 13, 240, 153, 164, 0 } ' mov ecx,[0x00A499F0]
asm = asm + { 190 } + 到字节集 (喊话内容地址) ' mov esi,喊话内容指针
asm = asm + { 86 } ' push esi
asm = asm + { 186 } + 到字节集 (喊话频道) ' mov edx,喊话频道
asm = asm + { 82 } ' push edx
asm = asm + { 232, 123, 112, 94, 0 } ' call 0x5E7080
asm = asm + { 97 } ' popad
asm = asm + { 195 } ' ret
日志.输出文件 (“asm:” + 字节集_字节集转文本 (到字节集 (asm)), , )
汇编.置入汇编代码 (asm, )
汇编.运行汇编代码 (, )
释放内存 (喊话内容地址)
|
最佳答案
查看完整内容
喊话内容指针 和频道 都用空白地址 代替 先写入内容 空白地址 在MOV eSI,空白地址
|