Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  12 1123
Vet ikke om dere har noe imot dette å lager boter, men jeg lurer på noen ting:

- Hvordan leser jeg av farger på piksler?
- Hvordan simulerer jeg tastatur og musetrykk?

Edit: Sorry, det er c++.
Sist endret av TanteSpiker; 12. januar 2007 kl. 21:51.
Hva slags språk er dette? Er det et språk som PHP eller noe ala AC Tool og AutoIT?
C++ er det jeg mener.
▼ ... over en uke senere ... ▼
Der kan jeg hjelpe litt. Lese piksler:

#include <windows.h>
HDC hwnd = GetDC(0);
COLORREF col;
col = GetPixel(hwnd, PosisjonX, PosisjonY);
Rød = GetRValue(col);
Grønn = GetGValue(col);
Blå = GetBValue(col);

Har emulert tastetrykk og museklikk før, men husker ikke helt hvordan... Kommer tilbake til det om jeg skulle huske det.
▼ ... noen måneder senere ... ▼
Hvordan kan dette evt. gjøres i vb.net eller vb6 (helst .net siden det er det jeg jobber med nå)
▼ ... over en uke senere ... ▼
Er det serriøst INGEN som vet hvordan jeg gjør dette, trenger det. (Ja, jeg har søkt på forumet, ja jeg har søkt på google, men finner ingen ting på akkurat det jeg leter etter, eller jeg vet ikke hvordan jeg skal gjøre det med de "svarene" jeg fant.
Trinn 1 - Finn forumer der emnet er VB:
http://www.vbforums.com/
http://www.xtremevbtalk.com/

Trinn 2 - Bruk søkefunksjonen på de diverse sidene.

Dersom Trinn 2 ga negativt resultat, registrer deg og spør i det tilsynelatende mest aktive forumet.
Sist endret av TanteSpiker; 19. juni 2007 kl. 01:20.
m0b
m0b's Avatar
DonorAdministrator
Selvfølgelig er det folk her som vet om det. Men det er ikke alltid rette folka får med seg trådene. Hva er det du egentlig ønsker? Komplett kode til hvordan du kan gjøre det, eller vil du ha et par pekepinner?

Sånn på direkten kan jeg glatt gi deg et par pekere i retningen du kan gå for å få dette til i det språket du selv ønsker. Dette vil fungere for hvilket som helst språk som kan utføre en dll-hook.

Er egentlig heller ikke veldig spesifikk. Er det snakk om pixler i et bilde, eller er det direkte fra desktopen?

Jeg går ut i fra at det er fra desktopen, eller dvs. direkte renderoutput til skjermen.

Det du stort sett trenger å gjøre er å lage deg en hook til gdi32.dll og til funksjonen GetPixel. Det du trenger å sende inn som parametre til funksjonen er handle til appet (objektet) som du skal vurdere, og deretter x og y koordinater. Funksjonen returnerer en long som representerer RGB-value til fargen. Du kan sikkert selv tenke deg hvordan du henter ut de individuelle R, G og B-verdiene fra den. Ganske enkle greier.

Edit: Muse og tastetrykk kan du nok gjøre med en hook til user32.dll.
Sist endret av m0b; 19. juni 2007 kl. 02:38.
Søk etter "mouse hook c++" eller "mouse hook mfc" vil nok gi deg noen resultater. Det er "ikke" mulig å hooke mus og tastatur i .net (merk""-tegnene..) Men det finnes noen halvdugelige workarounds.

http://www.flounder.com/hooks.htm <-- kansje en ok link tror jeg.. (fikk den opp som søkeresultat)

Edit: La til linken
Sist endret av iTroll; 19. juni 2007 kl. 16:48.
Hva skal du lage bot til?
m0b
m0b's Avatar
DonorAdministrator
iTroll: Hva mener du egentlig med "\"ikke\"" og "halvdugelige workarounds"? Jeg har skrevet en del "hooker" eller hva i alle dager du ønsker å kalle det, i (C#) .NET og de har alle fungert smertefritt nok til at jeg har hatt de i et produksjonsmiljø.
|d13m0b: Det jeg mente med det var at .NET i bunn og grunn ikke støtter det uten at du må kalle opp dllen selv. Leste på MSDN om dette for en stund siden om at de ikke anbefalte denne metoden siden ikke var lurt å gjøre dette i manged kode, hvorfor husker jeg ikke.
m0b
m0b's Avatar
DonorAdministrator
Okey. Det jeg tror du tenker på er globale hooks, noe som stemmer; .NET har generelt ikke støtte for dette. Unntatt for WH_KEYBOARD_LL og WH_MOUSE_LL hook typene. Det finnes selvfølgelig veier utenom dette, men det er som du sier, halvdugelige workarounds.

Men i dette tilfellet hvor han ønsket å kun simulere med keyboard og mus så skal de to typene være greit nok.

I alle fall, for keyboard husker jeg ikke nøyaktig hvilke funksjoner han trenger å "importere" (tror det er keyboard_event(int)), men for museklikk skal det være noe så kreativt som "mouse_event" som tar 5 long-er. Nå husker jeg bare de tre første parametrene, men det holder egentlig.

For venstre museklikk ned og opp 0x02/0x04 og høyre museklikk ned og opp 0x08/0x10 kjøres inn i første parameter, de to neste er x og y pixels, to neste kan settes inn med verdien 0. Du kan sikkert google litt for å finne ut hva disse er.
Sist endret av m0b; 20. juni 2007 kl. 09:38.