思大大(还是喊话call问题)谢谢进下
varp,Address:Pointer;
x:PChar;
begin
Address := Pointer($0063B9F0) ;
p := VirtualAlloc(nil, 1024, MEM_COMMIT,PAGE_READWRITE);
x:=p;
x:='x';
asm
pushad
push $0
push $0
push $0
push $0
push $0
push $0
PUSH $0012F804
PUSH $30
PUSH x //临时地址,这里怎么弄,,搞不懂了..用x或者p都不行啊...已经按你说的分配空间了。难道写错了
PUSH $0
PUSH $1
MOV ECX,$032B9E50
CALL Address
popad
end;
VirtualFree(p, 0, MEM_RELEASE);
end; 你找到那个mov ecx,esi的 来源了? 要向申请的地址里写入喊话内容数据,没写入数据~ 回复 3# 小小思维
var
Address:Pointer;
d: Cardinal;
begin
d:=1111111111111111;
ThreadAdd1 := VirtualAllocEx(ProcessID,nil,4096,MEM_COMMIT{内存-委托},PAGE_EXECUTE_READWRITE{指该内存块具有可读写的权限}); //在目标进程建立内存空间
WriteProcessMemory(ProcessID,ThreadAdd1,@d,4096,Num);
Address := Pointer($0063B9F0) ;
asm
push $0
push $0
push $0
push $0
push $0
push $0
PUSH $0012F804
PUSH $30
PUSH ThreadAdd1
PUSH $0
PUSH $1
MOV ECX,$032B9E50
CALL Address
end;
以上代码 已经写入内容..但还是不行啊..思大大..帮改改吧。。谢谢 感谢楼主的分享,谢谢 爷爷都是从孙子走过来的。 支持楼主,支持看流星社区,以后我会经常来! 支持楼主,支持看流星社区,以后我会经常来!
页:
[1]