Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Tutto e di + - Microsoft Detour
Forum - Tutto e di + - Microsoft Detour

Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 22:13
Sabato, 20/06/2015
Ne avete mai sentito parlare.
Non ho ben capito precisamente cosa fa'.
Ma sembra che sia possibile iniettare parte di codice nei processi.
Avete mai provato qualcosa del genere?


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 21:06
Domenica, 21/06/2015
Mai provato. Che stai cercando di fare?


Il mio blog: https://piero.dev
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 8:42
Lunedì, 22/06/2015
Sto cercando di moddare un gioco scritto in delphi.
Cioe' riuscere a creare una mod.
Ma per fare questo devo poter riuscire a manipolare il processo.
Sia attraverso l'indirizzo dei puntatori fissi, che iniettando al processo porzioni di codice.

Questa tecnica e stata usata tante volte per fare diverse mod o patch.
O anche esempio per alcuni hack di diversi giochi.
Avete presente tipo i giochi FPS con trucchi di tipo che puoi guardare nemici
Dietro ai muri ecc. Ecc.

Io invece voglio dare la possibilita' di richiamare si il Draw dellle directX
Ma implementare funzioni di disegno che non sono disponibili
Cosi da aumentare le capacita' del gioco.
E dare la possibilita' agli utenti di implementarlo tramite lua scripting.

Sto da giorni leggendo diversi argomenti.
Imparando l'assembly per richiamare diverse funzioni
E gestire gli indirizzi dei puntatori salvati nei vari registri.

Su questo ci sono riuscito. Riesco a trovare gli indirizzi base dei puntatori.
Anche se cambiano ad ogni avvio.

Ma ora il problema e che non capisco come fanno ad impadronirsi del draw del gioco.
Mi sembra una cosa abbastanza difficile.
Ma se ci sono riusciti altri, devo provarci anche io.

Diciamo che sto provando a fare qualcosa di nuovo anche perche sono stufo
Di fare sempre le solite cretinate con le classiche applicazioni windows.
Voglio fare qualcosa di piu elaborato.
Ed in c#. Cosa che non e mai stata fatta prima.
E per qesto sto creando una lib in c++ per poi eseguire un wrapper in c#.

Nulla di illegale tranquillo piero.
Voglio fare pratica su quest'altro lato a me oscuro della programmazione.
:D

C'e anche una piccola spiegazione da una persona che ha fatto
Quello che voglio fare io ma in c++.

1:
http://cherrytree.at/cms/lang/en/ultimate-part-1-introduct ...

2:
http://cherrytree.at/cms/lang/en/ultimate-part-2-vclxchg-m ...

3:
http://cherrytree.at/cms/lang/en/ultimate-part-3-loader/



https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 18:55
Lunedì, 22/06/2015
Mm, beh, Detour sembra lo strumento giusto. Purtroppo non ho abbastanza esperienza per poter raccomandare altro. :)


Il mio blog: https://piero.dev
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 21:23
Lunedì, 22/06/2015
Ciao Thejuster, ho lavorato molto con le detours e sono uno strumento davvero potente.
Fondamentalmente sono utilizzate per realizzare hack o mod di giochi e programmi, si possono fare davvero un sacco di cose.
Ti do una dritta, utilizza un decompilatore come ollidbg o IDA per ottenere gli indirizzi  delle funzioni all'interno dell'eseguibile o della DLL, funzionano molto bene.

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 22:55
Lunedì, 22/06/2015
Ciao Hedo. Grazie per il consiglio. Mi mettero' a studiare un po' questo sdk.
Per gli hack dei giochi riesco a farli tranquillamente.

Prima trovo un indirizzo a quale riferimento fa una variabile.
Succesaivamente con un debugger vedo in assembly dove esi o eax puntano.
E se magari c'e un offset di calcolo.
Tramite quello ottengo l'indirizzo del puntatore base che a sua volta il prossimo avvio
Nel registro puntera' ad un nuovo indirizzo che sara' appunto la variabile cercata.

Mentre ancora non ho capito bene come iniettare codice.
Non serve una * vTable?
Strutture o liste per la funzione?
E questo che al momento ancora non ho capito
Come iniettare codice
Spero di apprenderlo, magari ci fosse una guida... O un tutorial...



https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote