Autor |
Beitrag |
SAiBOT
      
Beiträge: 323
Erhaltene Danke: 6
XP SP2; 7
D7; D2009
|
Verfasst: So 12.06.05 20:57
hi all,
hab gerade einen ColorAimbot gecodet, klappt echt astrein und ist auch sehr schnell, allerdings klappt er leider nur eine kurtze Zeit lang, denn hört er einfach auf zu aimen  .
Hier mal mein Code vll könnt ihr mir ja sagen warum das so ist, auserdem können bestimmt einiege den Code gebrauchen  .
Noch ein paar Infos.
Dieser Bot Scannt Ein biliebig großes Viereck an Pixel, um den Curser herum. Dabei lässt er noch beliebig viele Pixel aus.
zB: (0 = Cursor,C = Pixel die ignoriert werden, X = zu scannende Pixel)
XCCCXCCCX
CCCCCCCCC
XCCCOCCCX
CCCCCCCCC
XCCCXCCCX
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44:
| .. var Form1: TForm1; cx, cy:Integer; ..
function scan_viereck(left, top, Height, Width, Color, ignore:Integer):Boolean; var DC: hDC; i, ii:Integer; begin DC := GetWindowDC(GetDesktopWindow); for ii:=0 to (height div ignore) do begin for i:=0 to (width div ignore) do begin if GetPixel(DC, left+(i*ignore), top+(ii*ignore)) = color then begin cx := left+(i*ignore); cy := top+(ii*ignore); Result := True; exit; end else begin Result := False; end; end; end; end;
..
procedure TForm1.Timer1Timer(Sender: TObject); var P: TPoint; const aimarea = 100; color = 255; ignore = 10; begin GetCursorPos(P); if scan_viereck(p.X-(aimarea div 2), p.Y-(aimarea div 2), aimarea, aimarea, color, ignore) = True then begin SetCursorPos(cx, cy); end; end;
.. |
MfG
-=LE=-
Moderiert von raziel: Topic als erledigt markiert und Titel geändert.Moderiert von raziel: Topic aus Off Topic verschoben am So 12.06.2005 um 21:49
Zuletzt bearbeitet von SAiBOT am So 12.06.05 21:32, insgesamt 1-mal bearbeitet
|
|
uall@ogc
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: So 12.06.05 21:20
das liegt daran da du nie den windoehandle wieder freigibst:
Delphi-Quelltext 1:
| DC := GetWindowDC(GetDesktopWindow); |
das solltest dur nur 1 mal am anfang aufrufen (dann ist der aimbot auch schneller) oder du musst mit ReleaseDC(DC) den handle wieder freigeben
_________________ wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
|
|
SAiBOT 
      
Beiträge: 323
Erhaltene Danke: 6
XP SP2; 7
D7; D2009
|
Verfasst: So 12.06.05 21:25
|
|
retnyg
      
Beiträge: 2754
SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
|
Verfasst: Mo 13.06.05 13:29
_________________ es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
|
|
uall@ogc
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: Mo 13.06.05 18:36
ich hätte sa ganze eh so gemacht:
Delphi-Quelltext 1: 2: 3:
| hdc := GetDc(0); ReleaseDC(0,hdc); |
_________________ wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
|
|
F34r0fTh3D4rk
      
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Mo 13.06.05 18:39
man könnte den prozess auch hooken und glReadPixels anwenden, ich glaube das ist um einiges schneller
außerdem könntest du noch den mittleren pixel abfragen und mausklick simulieren, mussu nimma mehr schießen 
|
|
SAiBOT 
      
Beiträge: 323
Erhaltene Danke: 6
XP SP2; 7
D7; D2009
|
Verfasst: Mo 13.06.05 19:00
F34r0fTh3D4rk hat folgendes geschrieben: | man könnte den prozess auch hooken und glReadPixels anwenden, ich glaube das ist um einiges schneller
|
hab leider keine ahnung von OGL, aber wieso würde es schneller gehen ?
F34r0fTh3D4rk hat folgendes geschrieben: |
außerdem könntest du noch den mittleren pixel abfragen
|
Ich glaube der wird abgefragt..., hat aber wenig sinn ihn abzufragen ... kann ich wieder ne coordinate weglassen ^^, um so schneller ist das Teil, danke für den indirekten Tipp  .
F34r0fTh3D4rk hat folgendes geschrieben: |
und mausklick simulieren, mussu nimma mehr schießen
|
schon lange drin xD.
|
|
en!gma
      
Beiträge: 378
win xp
delphi 7.0
|
Verfasst: Mo 13.06.05 20:20
F34r0fTh3D4rk hat folgendes geschrieben: | man könnte den prozess auch hooken und glReadPixels anwenden, ich glaube das ist um einiges schneller
außerdem könntest du noch den mittleren pixel abfragen und mausklick simulieren, mussu nimma mehr schießen  |
aber ich glaube so wie es jex ist, wird sowas nicht von cheating-death oder vac oder sowas erkannt oder doch?
und ich glaub wenn man das game hooked doch,
oder stimmt das so nicht?
trotzdem feines prog, muss ich mal testen 
|
|
F34r0fTh3D4rk
      
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Di 14.06.05 14:59
doch in mitte brauchst du ein, dann weißt du, ob es stimmt, naja ok du setzt ja den cursor, dann geht das ja
problem ist dann immer schatten usw der die farbe beeinträchtig, hast du das in deinem code beachtet ? (ich denke mal des ist für cs 1.6  )
weiteres problem, spiel und desktopauflösung, wenn beide nicht übereinstimmen musst du umrechnen 
|
|
SAiBOT 
      
Beiträge: 323
Erhaltene Danke: 6
XP SP2; 7
D7; D2009
|
Verfasst: Di 14.06.05 18:06
|
|
root_at_localhost
      
Beiträge: 191
|
Verfasst: Di 14.06.05 19:11
kannst du uns das prog vieleicht auch zur Verfügung stellen?
|
|
F34r0fTh3D4rk
      
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Di 14.06.05 19:25
Zitat: |
ja habe ich schon, aber nicht im Codebeispiel jetzt, man kann aber ganz simpel einen gültigkeitsbereich der Farbe festlegen!
|
damit sollte man auch vorsichtig sein, zb bei weißen oder schwarzen models (weiß ist bei cs wegen flash besonders dumm, aber wenn man des mim wrapper machen würde (oder hooken), dann könnte man auch sowas verhindern, wie machst du denn den Gültigkeitsbereich, vielleicht kannst mir ja mal den source per pm schicken ?
|
|
SAiBOT 
      
Beiträge: 323
Erhaltene Danke: 6
XP SP2; 7
D7; D2009
|
Verfasst: Di 14.06.05 19:51
root_at_localhost hat folgendes geschrieben: | kannst du uns das prog vieleicht auch zur Verfügung stellen? |
steht doch oben  , Timer auf die Form und Compilieren!
Zitat: |
wie machst du denn den Gültigkeitsbereich? |
Delphi-Quelltext 1: 2:
| colordummy := GetPixel(DC, left+(i*ignore), top+(ii*ignore)); if (colordummy <= (Color+Color_ignore)) and (colordummy >= (Color-Color_ignore)) then begin |
das wäre eine Lösung!
|
|