您的位置:首页 > 编程语言 > VB

VC和VB嵌入汇编的方法

2009-12-10 21:52 465 查看
VC的嵌入ASM的方法

#define CallBaseAddr  0x962AC4
#define SkillAttackAddr 0x457680
void maindlg::SkillAttack(long SkillID)
{
__asm
{
pushad
mov  eax,DWORD ptr ds:[CallBaseAddr]
mov  eax, DWORD ptr ds:[eax+0x1c]
mov  eax, DWORD ptr ds:[eax+0x20]
mov  ecx,eax
push -1
push 0
push 0
mov eax, SkillID
push eax
mov eax,SkillAttackAddr
call eax
popad
}
}


VB的嵌入汇编的方法

Sub SkillAttack(SkillID As Long, GameProcId As Long)
Dim asm As New clsASM
Const Address = &H457680
Const Base_Addr = &H962AC4
With asm
.Pushad
.Mov_EAX_DWORD_Ptr Base_Addr
.Mov_EAX_DWORD_Ptr_EAX_Add &H1C
.Mov_EAX_DWORD_Ptr_EAX_Add &H20
.Mov_ECX_EAX
.Push -1
.Push 0
.Push 0
.Mov_EAX SkillID
.Push_EAX
.Mov_EAX Address
.Call_EAX
.Popad
.ret
End With
asm.inject GameProcId
asm.Run_ASM GameProcId, 0
asm.free GameProcId, 0
End Sub
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: