[attachment=1172]
Capitolo 1. Cos'è un hack, ed un bot?
Sentiamo spesso parlare di questi termini o di frasi come "Ieri ho hackerato su nostale", "è uscito un nuovo hack per elsword" , "io resto a bottare, ci vediamo dopo" .. Ma spesso capita di non riuscire a capire il significato di queste frasi, o meglio anche se sappiamo cosa stanno a significare, non siamo a conoscenza di come operano queste, ed in costa consistono.
Sia hack sia bot non sono altro che applicazioni/programmi che svolgono una precisa funzione :
Un bot può essere considerato come un vero e proprio "Robot", questo infatti svolge determinate operazioni che anche una persona è in grado di fare ad un computer, senza che però questa sia al pc. Il suo funzionamento è molto semplice, e può essere spiegato con un banale esempio : Quando noi giochiamo ad alcuni Game per il computer, pensiamo per esempio a nostale, per muoverci clicchiamo con il mouse, se puntiamo un mostro possiamo cliccare anche la barra spazzatrice per ucciderlo, possiamo raccogliere degli oggetti o cliccandoci sopra o cliccando il tasto 'x' standoci vicino e molte altre cose. Tutto ciò può farlo benissimo una persona normale, ma se invece siamo un po pigri, possiamo lasciare tutto ciò ad un programma che svolge le nostre stesse operazioni come quello di muoverci ed uccidere mostri mentre noi non siamo al pc. Proprio per questo viene definito come un vero e proprio robot. Questi programmi ovviamente non vengono fuori dal nulla, ma devo essere realizzati e sviluppati. E' proprio qui che ci aiuto i linguaggi di programmazione. Per farci un idea generale sopratutto nella teoria su come funzionino e come si sviluppano basta pensare a ciò che noi facciamo quotidianamente mentre giochiamo. Basta dire al programma per esempio di premere continuamente la barra spazzatrice per uccidere dei mostri, e premere ogni 5 secondi il tasto x per raccogliere.
Adesso abbiamo un idea generale di cosa sia un bot e come funzioni, per la creazione vedremo nello specifico nei prossimi capitoli. Ma nella nostra testa, c'è ancora un piccolo vuoto di memoria, cosa sarà mai un hack? e come funziona? Ebbene introduciamo anche questo breve termine il quale deriva da una parola che sicuramente avrete sentito, la parola "Hacker".
Chi è allora un hacker?
Basta fare una semplice ricerca con zio google, che subito ci viene in contro Wikipedia.
La sua definizione di hacker è infatti :
"Un hacker (termine coniato negli Stati Uniti d'America che si può rendere in italiano con smanettone) è una persona che si impegna nell'affrontare sfide intellettuali per aggirare o superare creativamente le limitazioni che gli vengono imposte, non limitatamente ai suoi ambiti d'interesse (che di solito comprendono l'informatica o l'ingegneria elettronica), ma in tutti gli aspetti della sua vita."
Da ciò possiamo avere un idea genere su cosa significhi essere un hacker, oggi questo termine però al contrario di quanto dice wikipedia "in tutti gli aspetti della sua vita", viene utilizzato sopratutto nel campo dell'informatica. Definiamo hacker in parole povere una persona che vuole aggirare/sorpassare i limiti che gli vengono imposti, un hacker solitamente ha conoscenze abbastanza approfondite dell'informatica ed è qui che nasce il termine "hack".
Un hack è infatti un tool sviluppato dall'hacker il quale lo aiuta/gli permette di superare alcuni limiti di determinate cose. Un banale esempio : prendiamo di nuovo di mira nostale, possiamo caminare ad una certa velocità con il personaggio normale, la quale se non erro è 11, avete mai sentito parlare di Speed Hack? ("Dall'inglese hack della velocità") ci permette di SORPASSARE questo limite, potendo camminare alla velocità che desideriamo, questo ci da un idea generale di cosa sia un hack, ma come funziona? Come il bot anche l'hack deve essere sviluppato, solo che questo, a differenza del bot ha un funzionamento molto differente. Questo infatti per poter aggirare un limite opera sopratutto sulla Memoria. Ecco che viene introdotto un nuovo termine che sicuramente abbiamo sentito, ma non sappiamo in cosa consiste a fondo. Essa può essere definita come una zona del computer, il quale obiettivo è destinato ad immagazzinare i dati del computer e delle applicazione che sono in funzionamento sopra.
Infatti l'hack quando opera sulla memoria va proprio a MODIFICARE questi dati, permettendo così un cambiamento all'interno del gioco. Facciamo un esempio, stavolta non prenderemo di mira nostale, ma un gioco qualsiasi, in un certo gioco noi dobbiamo comprare un item, immaginiamo che questo costi 5.000 ori. Bene, noi abbiamo solo 10 ori, di conseguenza se proveremo a comprarlo avremo il LIMITE di non poter ottenere quell'item, l'hack andrà a sorpassare quel limite modificando in memoria i dati che corrispondono ai nostri soldi. Infatti i soldi e qualsiasi altra cosa è una delle informazioni che risiedono nella memoria, basta trovarla e successivamente modificarla, l'hack per esempio la modifica a 5.000 ed in questo modo abbiamo sorpassato la limitazione di non poter più comprare l'item. Ecco come funziona un semplice hack. Le operazioni sulla memoria più importanti sono due : Lettura e Scrittura.
Creiamo un bot : AutoIt ed Actool
[size=medium]Abbiamo precedentemente visto il funzionamento di un hack e di un bot, ma come facciamo a svilupparne uno? Ovviamente, il bot non esce dal nulla bensì ci servono degli strumenti adatti per lo sviluppo, in queste guida ne incontreremo due : Actool(Semplice) , Autoit(Un linguaggio di programmazione - Medio)
Incominciamo con i boot Actool, cos'è Actool? E' una semplicissima applicazione che ci permetterà di realizzare delle "Macro" che eseguiranno delle operazioni sul computer al posto nostro. Queste a differenza delle potenzialità di Autoit non sono dei veri e propri programmi, ma dei piccoli script che Actool leggerà e tradurrà ciò che è scritto in delle funzioni che esegue.
Procuriamoci Actool! , andiamo sul sito :
http://www.actool.net e scarichiamo l'ultima versione aggiornata. A questo punto apritelo, Eseguitelo come amministratore (Click destro-> Esegui come amministratore) e prendete un po di confidenza con l'applicazione(Si fa per dire xD)
Una volta data un occhiatina in giro difronte a noi troveremo un grande campo di testo, in cui andremo a scrivere proprio ciò che Actool deve eseguire nel suo linguaggio. Ovviamente non possiamo scrivere : CLICCA IL PULSANTE X POI UCCIDI UN DANDER E SUICIDATI.
Ma egli ha un proprio linguaggio, il quale dobbiamo imparare, quindi abbiate un po di pazienza e continuate a leggere, che vi spiego molto semplicemente come usarlo ed i comandi.
Iniziamo con i comandi, qui una breve lista :
--
SetActiveWindow : è il comando che apre una determinata finestra su cui eseguire i comandi, per esempio SetActiveWindow Nostale o il nome della finestra.
keys : è il comando che simula la pressione del tasto, scriviamo "Keys x" e premerà il tasto x
Nota bene : Ci sono alcuni tasti speciali che vanno messo messi tra parentesi graffe tipo lo spazio che è {SPACE} .
delay : è il comando che aspetta un tot di tempo prima di eseguire il comando successivo, scriviamo per esempio delay 500 , che attende 500 millisecondi.
Loop : è il comando che ci permette di far ripetere le istruzioni per un certo numero di volte, Loop 5 ripete le istruzioni cinque volte.
End : corrisponde al termine delle operazioni, va messo alla fine.
MousePos : è il comando che sposta il mouse ad delle certe coordinate, MousePos 23,76 ( l'ordine è x,y )
RightClick : è il comando che simula la pressione del tasto destro del mouse.
LeftClick : Guarda sopra, ma il tasto sinistro.
Restart : ripete le istruzioni precedenti.
--
Questi sono i comandi che sicuramente sono indispensabili per la creazione di una macro, vediamo adesso un piccolo esempio di codice per capire come va strutturata una macro di un semplice bot :
//CODICE//
SetActiveWindow Nostale
Loop 10
Keys {SPACE}
delay 1000
Keys {SPACE}
delay 1000
Keys {SPACE}
delay 1000
Keys {SPACE}
delay 1000
keys {SPACE}
delay 3000
keys {SPACE}
end
restart
//FINE CODICE//
Questo semplice codice non fa altro che premere continuamente spazio sulla finestra di nostale, in modo da uccidere dei mostri e dopo un certo tempo cliccare x per raccogliere gli item.
Per avviare la macro scrivete questo codice nel campo di testo e cliccate Start, in basso a destra.
Abbiamo adesso capito come realizzare un semplice bot per Nostale utilizzando Actool, molto semplice vero?
Bene, passiamo adesso ad qualche cosa di più serio, vedremo come ottenere queste stesse funzionalità con una personalizzazione decisamente maggiore con un vero e proprio linguaggio di programmazione : L'Autoit.
L'Autoit è un linguaggio di programmazione abbastanza semplice da imparare, basta solo ricordarsi le funzioni e prenderci la mano, che al contrario di actool non crea Macro, ma dei veri e propri programmi, eseguibili per intederci.
Come tutti gli altri linguaggi di programmazione, l'AutoIt ha bisogno di essere studiato..
Ma in questo thread io vi spiegherò solo la parte riguardante hack e bot e non tutto l'autoit.
Potrete trovare guide sull'Autoit per approfondire, con una semplice ricerca su google.
Vi linko adesso nello spoiler una guida che ho trovato abbastanza completa che ci aiuterà sicuramente con l'acquisire una certa conoscenza dell'autoit :
Innanzitutto AutoIt va scaricato dal sito ufficiale :
http://www.autoitscript.com/site/autoit/downloads/
Cliccate il primo download e successivamente nella installazione, installate tutto.
Bene, una volta scaricato passiamo alle funzioni di cui ci serviremo per la creazione di un semplice bot.
La più importante è sicuramente Send() , questa ci permette di inviare un certo tasto sul game, per esempio Send("x") , invia il tasto x. Proprio come actool Keys x.
Questa però ha una seconda versione, la più usata che preme tasti su un applicazione anche in background, avete sicuramente sentito parlare di bot in BackGround, ovvero premono tasti o svolgono altre funzioni su applicazioni che in quel momento non state usando, ovvero sono minimizzate oppure quelle che non state usando in "prima fila" ovvero c'è n'è un altra sopra.
La funzione in questione è ControlSend() , i parametri sono : ControlSend("Nostale", "", "", "{SPACE}") , ovvero ControlSend(NomeFinestra,"","","tasto")
Poi abbiamo Mousemove() il quale sposta il mouse in delle certe coordinate, Mousemove(x,y,velocità), la velocità è 1-100
In riferimento al Mousemove c'è anche il MouseClick() che invece ha come parametri :
MouseClick("left", 73, 12, 1, 50) , ovvero il primo è "left" o "right" ovvero click sinistro o click destro, il secondo e il terzo sono x,y le coordinate, il quarto è il numero di click da fare, il quinto è la velocità con cui cliccare.
Poi abbiamo Sleep() , Sleep(500), ovvero aspetta 500 millisecondi prima di passare all'istruzione successiva, come il delay 500 di Actool, svolgono la stessa funzione.
Questi sono i comandi "base" per realizzare un bot in autoit, vediamo adesso un semplicissimo esempio di un bot.
#RequireAdmin ;avvia il programma come amministratore
MsgBox(0,"Info bot","Bot creato da me") ;piccola messagebox di esempio
MsgBox(0,"Info bot","Clicca ok su questo messaggio quando vuoi startare il bot") ;guarda su
MsgBox(0,"Bot iniziato","Bot startato!") ;guarda su su
while 1
$nomefinestra = "Nostale" ;creo una variabile e gli assegno come valore il nome della finestra di nostale
ControlSend($nomefinestra, "", "", "{SPACE}") ; preme la barra spaziatrice
sleep(500) ; Aspetta un 500 millisecondi e rincomincia da capo il while
Wend
Se non capite cosa significa sopra ve lo spiego brevemente qua, ma dovete leggervi qualche guida sull'autoit..
#RequireAdmin significa che quando aprirete questa finestra, viene eseguita come amministratore.
MsgBox() fa apparire semplici messaggi di testo in una piccola finestra.
$variabile crea una veriabile di nome "variabile" , per fare una dichiarazione di una variabile si usa $ seguito dal nome , $pippo , $bob .
While 1 inizia un ciclo infinito che ripete le istruzioni che vengono scritte dopo fino al Wend all'infinito
Wend indica la fine delle istruzioni che il While deve eseguire.
PROSSIMO CAPITOLO IN COSTRUZIONE ( LO SCRIVO DOPO ADESSO MI VENGONO I CRAMPI ALLE DITA D: )
Guida by Buge96