面向切面编程AOP、ASM动态调用函数

易语言 2020-07-05 15:03:08

asm = { 85, 139, 236, 129, 236, 192, 0, 0, 0, 83, 86, 87, 141, 189, 64, 255, 255, 255, 185, 48, 0, 0, 0, 184, 204, 204, 204, 204, 243, 171 }
len = 取数组下标 (params, )
.如果真 (len > 0)
.计次循环首 (len, i)
' push dword ptr[]
asm = asm + { 104 }
asm = asm + 到字节集 (params [i])
.计次循环尾 ()
.如果真结束
' call dword ptr[ebp+8]
' pop edi
' pop esi
' pop ebx
' mov esp,ebp
' pop ebp
' ret
asm = asm + { 255, 85, 8, 95, 94, 91, 139, 229, 93, 195 }
返回 (call (asm, ptr, 0, 0, 0))