猛牛哥
记录网络点滴生活

aardio在外部进程执行汇编代码时传入自定义参数的方法

aardio应该是已经封装好了这个堆栈处理的功能,所以要执行的汇编代码自己补处理堆栈也不会导致外部进程崩溃。如果要传入自定义参数,在代码内部,第一个参数是[esp+4],第二个参数是[esp+8],第三个参数是[esp+12],以此类推。阿里云9折优惠码:8JZ7BR

touzhu_asm = app.asmCdecl(
“void( INT target, INT num)”,
‘\x8B\x44\x24\x04’, //mov eax, [esp+0x4] 此处是传入的target
‘\x8B\x5C\x24\x08’, //mov ebx, [esp+0x8] 此处是传入的num
‘\x6A\x00’, //push 0x0
‘\x53’, //push ebx
‘\x50’, //push eax
‘\x8B\x0D\x18\x71\x41\x00’, //mov ecx, [0x417118]
‘\xBB\x70\x46\x40\x00’, //mov ebx, 0x404670
‘\xFF\xD3’, //call ebx
‘\xC3’, //ret
)

赞(2) 打赏
猛牛哥原创:猛牛哥的博客 » aardio在外部进程执行汇编代码时传入自定义参数的方法

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏