.版本 2
.支持库 spec
.子程序 BALL
.参数 技能, 整数型, 参考
.参数 伤害, 整数型, 参考
大基址 = 十六进制到十进制 (“01155E8C”)
置代码 ({ })
pushad ()
mov_esi_ptr (大基址)
push_常数 (0)
push_常数 (0)
mov_ecx_esi ()
mov_edx_ptr_ecx加字节 (0)
mov_eax_edx ()
add_eax_常数 (十六进制到十进制 (“2D4”))
mov_ebx_ptr_eax加字节 (0)
mov_eax_ptr (十六进制到十进制 (“01022AD0”))
mov_ecx_ptr (十六进制到十进制 (“01022AD4”))
push_eax ()
push_ecx ()
push_常数 (0)
push_常数 (4)
push_常数 (4) ' X
push_常数 (0) ' Y
push_常数 (4) ' Z
push_常数 (0)
push_常数 (0)
push_常数 (伤害)
push_常数 (技能)
mov_ecx_esi ()
call_ebx ()
popad ()
ret ()
代码 = _取代码 ()
运行汇编代码 (代码)
.子程序 CALL
.参数 技能, 整数型, 参考
大基址 = 十六进制到十进制 (“01155E8C”)
置代码 ({ })
pushad ()
mov_esi_ptr (大基址)
push_常数 (0)
push_常数 (0)
mov_ecx_esi ()
mov_edx_ptr_ecx加字节 (0)
mov_eax_edx ()
add_eax_常数 (十六进制到十进制 (“2D4”))
mov_ebx_ptr_eax加字节 (0)
mov_eax_ptr (十六进制到十进制 (“01022AD0”))
mov_ecx_ptr (十六进制到十进制 (“01022AD4”))
push_eax ()
push_ecx ()
push_常数 (0)
push_常数 (4)
push_常数 (4) ' X
push_常数 (0) ' Y
push_常数 (4) ' Z
push_常数 (0)
push_常数 (0)
push_常数 (0)
push_常数 (技能)
mov_ecx_esi ()
call_ebx ()
popad ()
ret ()
代码 = _取代码 ()
运行汇编代码 (代码)
.子程序 公告, , , 公告
.参数 msg, 文本型
.参数 color, 整数型
.局部变量 宽字符, 字节集
.局部变量 消息地址, 整数型
.局部变量 CALL地址, 整数型
.局部变量 CALL, 整数型
.局部变量 CALL机械码, 字节集
CALL = 11254048 ' 基址00ABB920
宽字符 = 转换Ansi转Unicode (msg)
消息地址 = _取地址_字节集 (宽字符)
CALL地址 = _取地址_整数型 (CALL)
' 24,37,16,1=商店基址1102518
CALL机械码 = { 96, 185, 24, 37, 16, 1, 139, 9, 139, 73, 80, 106, 0, 106, 0, 106, 31, 104 } + 到字节集 (color) + { 104 } + 到字节集 (消息地址) + { 255, 21 } + 到字节集 (CALL地址) + { 97, 195 }
调用子程序 (_取地址_字节集 (CALL机械码), , , )
.子程序 _取地址_文本型, 整数型, , 公告
.参数 变量, 文本型, 参考
' mov eax,[ebp+8]
' mov eax,[eax]
' leave
' retn 4
置入代码 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })
返回 (0)
.子程序 _取地址_整数型, 整数型, , 公告
.参数 变量, 整数型, 参考
' mov eax, [ebp+8]
' pop ebp
' retn 4
置入代码 ({ 139, 69, 8, 139, 229, 93, 194, 4, 0 })
返回 (0)
.子程序 _取地址_字节集, 整数型, , 公告
.参数 变量, 字节集, 参考
' mov eax, [ebp+8]
' mov eax, [eax]
' add eax, 8
' mov esp ,ebp
' pop ebp
' retn 4
置入代码 ({ 139, 69, 8, 139, 0, 131, 192, 8, 139, 229, 93, 194, 4, 0 })
返回 (0)
.子程序 嵌入机器码, , , 公告
.参数 机器码, 字节集
.局部变量 首地址, 整数型
.局部变量 指令长度, 整数型
指令长度 = 取字节集长度 (机器码)
首地址 = 申请内存 (指令长度, )
写到内存 (机器码, 首地址, )
调用子程序 (首地址, , , )
释放内存 (首地址)
请问这段代码有什么用?作用是什么?而且意思是什么?麻烦高手帮我翻译解说一下