ngmantis 发表于 2011-10-3 17:12:18

思大大(还是喊话call问题)谢谢进下

var
p,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;

ljx408 发表于 2011-10-3 19:18:14

你找到那个mov ecx,esi的 来源了?

小小思维 发表于 2011-10-4 14:32:04

要向申请的地址里写入喊话内容数据,没写入数据~

ngmantis 发表于 2011-10-4 17:24:34

回复 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;

以上代码 已经写入内容..但还是不行啊..思大大..帮改改吧。。谢谢

蓝雨 发表于 2011-12-2 18:10:02

感谢楼主的分享,谢谢

cooby 发表于 2013-9-28 13:48:51

爷爷都是从孙子走过来的。

qq412158094 发表于 2019-3-28 16:07:10

支持楼主,支持看流星社区,以后我会经常来!

qq412158094 发表于 2019-3-28 17:22:57

支持楼主,支持看流星社区,以后我会经常来!
页: [1]
查看完整版本: 思大大(还是喊话call问题)谢谢进下