Domanda Reversing HackShield Inizio

Stato
Discussione chiusa ad ulteriori risposte.

Harlock.95

Utente Silver
19 Giugno 2010
64
14
1
69
Ciao ragazzi !
Volevo provare a realizzare dei cheats per un video game che è protetto con l'hackshield.
Non fraintendetemi io non voglio divertirmi ad usare questi cheats nè tanto meno distribuirli in modo tale da rovinare un videogame che è già molto rovinato di suo a causa di altri cheats esistenti, il mio divertimento consisterà solo nel realizzarli, per poi buttarli nel cestino.
Lo faccio solo per pure curiosità per capire come funzionano.
Tutta via prima di poterli creare mi sono chiesto in che modo avrei potuto renderli "undetect" ovvero fare in modo che non venissero beccati dal sistema di sicurezza del videogame, allora la mia attenzione e curiosità si è spostata sull'hackshield.
Ho letto che per poterlo bypassare bisogna conoscere molto bene il reverse engineering e l'assembly oltre che il funzionamento dell'hackshield stesso.
Allora ho cominciato a studiare il reverse engineering che devo dire che mi appasiona un bel pò, lo trovo divertente, anche se sono solo all'inizio :(.
Mi chiedevo se poteste darmi un qualche consiglio per iniziare a studiarmi l'hackshield, ovvero come mi dovrei muovere e cosa dovrei sapere per poter operare?
Il mio obbiettivo ultimo sarà modificare l'hackshield in modo tale che mi consenta di utilizzare cheats che proverò a creare solo dopo aver raggiunto questo primo obbiettivo.
 
Ciao
Posso consigliarti tool come OllyDbg.
Devi trovare il punto di ingresso del programma.
Ovvero dove viene inizializzato il programma hackShield.

Solitamente in c++ viene utilizzata la funzione
Decspecl (dllImport)

Oppure se e' un eseguibile viene aperto dal programma ed invitogli tramite parametri il l'applicazione.
Il programma di protezione non fa altro che verificare se sul processo ci sia agganciato un debugger.
in assembly
Quindi dovresti noppare la riga in assembly.

Se invece c'e un antidebugger diventa piu complicata la cosa.
Devi noppare anche l'anti debugger. Dovrebbe essere int 84 o qualcosa del genere.

Sto imparando anche io il reversing. Ma qualcuno piu bravo di me yi aiutera' volentieri perche mi ritengo ancora newbie su questi argomenti
 
  • Mi piace
Reazioni: Harlock.95
Ciao,
Bypassare l'hackshield prevede tutta una serie di modifiche all'assembly. Non solo antidebugger, antipatch ecc.ecc. Ma anche neutralizzare tutti i threads che controllano costantemente codice e memoria del gioco.
Tutto questo succede su parti di codice protetto nei più svariati modi: packers, virtual machines, sia dal lato del gioco che da quello dell'hackshield stesso.
Non conosco le ultime versioni dell'hack shield, e devo dire che fino a qualche anno fa la cosa era abbastanza fattibile.
Tuttavia questo non è certo un task che può essere raggiunto alla prima esperienza di reversing. Si ha a che fare con alcuni tra i più complessi problemi di questo mondo, e bisogna sapere dove mettere le mani, altrimenti è solo una perdita di tempo.
Quindi come nella maggior parte di questi casi, io consiglio di studiare partendo da 0, e non da 100, perchè in tal caso i risultati psosono solo essere scarsi se non nulli.
 
Grazie mille per i consigli !
Hmm allora procederò in questo modo, continuo a crackare dei crackme finchè non mi faccio una buona esperienza per poi provare poi con l'hackshield ^^.
EvOlUtIoN_OGM, se volessi studiare con in testa questo obbiettivo, quale sarebbe il miglior modo? Per il momento so solo le basi grazie a diverse guide che ho letto e grazie anche alla fantastica enciclopedia dell'inforge, quindi il miglior modo è continuare a fare esperienza su i crackme?
 
Ah mi chiedevo un'altra cosa, in che modo posso interaggire con l'hackshield e analizzarlo? Questo parte ogni volta che eseguo il videogame
 
Interaggire direi di no, potresti invece interagire. ;)
Il problema è che non è semplice perchè appena modificherai la memoria lui ti beccherà e chiuderà il gioco.
Semplicemente devi lanciare il programma e vedere cosa succede. Ci sono vari threads di protezione, di cui dovrai capire il funzionamento e bypassare oppure in qualche modo "zittire" nel modo giusto.
Procedere con i crackmes è altamente consigliabile. L'unica cosa è scegliere quelli giusti. Ad esempio per lavori come questo potresti per il momento non fare i keygenme. Ma concentrarti su programmi che richiedono patch oppure unpackme.
 
Stato
Discussione chiusa ad ulteriori risposte.