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 )