VC++问道喊话CALL
DWORD dwbase=*(DWORD*)(0x009ded44);DWORD dwaddress=*(DWORD*)(dwbase+0x1f0);
DWORD p;
p=*(DWORD*)(0x09ded44);
p=*(DWORD*)(p+0x1f0);
p=*(DWORD*)(p+0x1f0);
p=*(DWORD*)(p+0x1dc);
//p=*(DWORD*)(p);
DWORD a={0};
DWORD *a1;
a1=&a;
memcpy((DWORD*)p,"123456",strlen("123456"));//喊话内容
_asm
{
push a1
push 0x10
push p
push 0
push 0x01
mov ecx,dwaddress
mov edx,0x0063F4E0
call edx
}
我自己写的 百分百能喊话:$ 回复 1# jj3341332
用易语言怎么写? .版本 2
.子程序 _按钮1_被单击
文本内存地址 = 内存.创建 (120)
内存_写文本型 (进程句柄, 文本内存地址, 编辑框1.内容)
asm_置代码 ()
asm_push (十六到十 (“0”))
asm_push (十六到十 (“10”))
asm_push (文本内存地址)
asm_push (十六到十 (“0”))
asm_push (十六到十 (“1”))
asm_mov_esi_ptr (十六到十 (“009DED44”))
asm_mov_ecx_ptr_esi_add (十六到十 (“1f0”))
asm_mov_eax_常数 (十六到十 (#喊话CALL))
asm_call_eax ()
asm_ret ()
asm_调用函数 (进程ID, asm_取代码 ())
输出调试文本 (字节集转为汇编指令 (asm_取代码 (), ))
内存.释放 (文本内存地址)
{:2_38:} 厉害,喊话基址和那个ESI基址是怎么找的,求教了
页:
[1]