废话不多说了
实现步骤
1:注入----注入都不会的话看看我blog里介绍的一些windows技术
2:重写getpixel代码  有人问只要注入了不就可以getpixel了吗?  呵呵那是以前的事了,反外挂系统漏洞越来越少,注入后直接getpixel仍然没用,只好自己重新写了,本来想用TBitmap 但是TBitmap使用结构参数过多 严重消耗CPU  现实现采取方法如下
function GetPixelA(DC: HDC; X, Y: Integer): COLORREF; stdcall;
var
DC2:HDC;
Bhandle:Dword;
begin
Result:=0;
DC2:=CreateCompatibleDC(DC);
Bhandle:=CreateCompatibleBitmap(DC,1,1);
if Boolean(Bhandle) and Boolean(DC2) and Boolean(DC) then
begin
  SelectObject(DC2,Bhandle);
  StretchBlt(DC2,
      0,
      0,
      1,
      1,
      DC,
      X,
      Y,
      1,
      1,
      SRCCOPY
      );
 Result:=GetPixel(DC2,0,0);
end;
if Bhandle<>0 then
DeleteObject(Bhandle);
Sleep(1);
if DC2<>0 then
DeleteDC(DC2);
end;

该函数消耗CPU资源很少  与windows核心的getpixel速度差的不是太远!!!!
以上函数由外挂吧的最恨VC[nproject]公布,在59v.org首发 转载请注明出处!

  • 标 题:答复
  • 作 者:ccfer
  • 时 间:2007-09-10 09:14

怎么和我写的这么象啊:
function GetPixelA(DC: HDC; X, Y: Integer): COLORREF; stdcall;
var
DC2:HDC;
Bhandle:Dword;
begin
Result:=0;
DC2:=CreateCompatibleDC(DC);
Bhandle:=CreateCompatibleBitmap(DC,1,1);
if Boolean(Bhandle) and Boolean(DC2) and Boolean(DC) then
begin
  SelectObject(DC2,Bhandle);
  StretchBlt(DC2, 0, 0, 1, 1, DC, X, Y, 1, 1, SRCCOPY);
 Result:=GetPixel(DC2,0,0);
end;
if Bhandle<>0 then
DeleteObject(Bhandle);
Sleep(1);
if DC2<>0 then
DeleteDC(DC2);
end;