Non so voi ma io non ho mai visto una guida su come farlo.
Tanto tempo fa c'era di moda l'avvio del launcher tramite un argument,questo è utile se si vuole far partire il launcher SOLO dall'autopatcher.
Ovviamente esistono metodi per bypassare questo metodo,ma è pur sempre meglio di niente!
In questa guida vi spiego come farlo,ma necessitate di alcuni strumenti:
OllyDBG (Io uso il mio amato OllyICE)
Un cervello (Aiai,molti di voi qui si fermeranno di leggere,sanno che leggere assembly senza conoscerlo potrebbe mandare in collasso il loro sistema nervoso)
Due mani
Minima conoscenza dell'Assembly altamente consigliata.
Minima dimestichezza con Olly.
Nell'area della CPU facciamo un bel click sinistro e selezioniamo
Tasto sinistro
Digitiamo
Bene,ora sappiamo esattamente la posizione a cui punta il nostro PUSH per la verifica della presenza della parola --hackshield tra gli arguments.
Quindi cerchiamo il comando
Dove [ADDRESS] è l'Address della stringa --hackshield,nel mio caso
00740E78
Quindi cercherò
Ed infatti eccolo qua:
Subito sotto ci ritroviamo un bel JNZ(Jump if Not Zero)
Doppio click sull'istruzione e quindi lo sostituiamo con un JE
Infine facciamo tasto sinistro e
Poi
Tasto sinistro sulla nuova finestrella
Quindi ora diventa facile,prendiamo un Hex Editor e cerchiamo --hackshield e lo modifichiamo come meglio crediamo.
Facciamo tutto il procedimento di prima,questa volta però aggiungere una MessageBox che ci avvisa che non possiamo avviare il Launcher per via dell'argument errato.
Sempre con Olly,dopo aver messo JE al posto di JNZ,seguiamo dove porta.
Noteremo la presenza di una CALL,nel mio caso
Premiamo INVIO così la seguiamo e noteremo la presenza di un JNZ,questo JNZ porta a sua volta ad un JMP subito dopo un RET.
Modificate quel JNZ con un JMP.
Andiamo quindi sul JMP seguente e premiamo INVIO,così vediamo dove porta.
Noteremo quindi la presenza di 2 CALL,noi dobbiamo seguire la seconda CALL.
Perfetto,ora siamo pronti per patchare ancora.
Lungo il procedimento incontriamo quindi un altro JE.
Modifichiamo con un JMP.
Ci ritroviamo quindi un altro JE,stavolta dobbiamo NOParlo.
Tasto sinistro
Bene,ora salvate tutto e noterete che se non si avvia il Launcher con l'argument giusto questo darà un errore visibile.
Teoricamente potremmo già fermarci...invece no!
Vogliamo personalizzare questo errore,no?
Bhe,questo è facile,basterà usare un Hex Editor e modificare quelle stringhe.
Quindi questo sarà il risultato:
Ovviamente,io ho lasciato la stringa che indica il percorso del file,
ma potete rimuovere anche quella NOPando anche la funzione che trova il percorso e lo stampa sul testo della MessageBox.
Se non avete capito una mazza,non chiedetemi aiuto.
Se volete sapere quello che state facendo,studiate Reverse Engineering.
Io non vi faccio da maestro
Tanto tempo fa c'era di moda l'avvio del launcher tramite un argument,questo è utile se si vuole far partire il launcher SOLO dall'autopatcher.
Ovviamente esistono metodi per bypassare questo metodo,ma è pur sempre meglio di niente!
In questa guida vi spiego come farlo,ma necessitate di alcuni strumenti:
OllyDBG (Io uso il mio amato OllyICE)
Un cervello (Aiai,molti di voi qui si fermeranno di leggere,sanno che leggere assembly senza conoscerlo potrebbe mandare in collasso il loro sistema nervoso)
Due mani
Minima conoscenza dell'Assembly altamente consigliata.
Minima dimestichezza con Olly.
Time to Reverse - Starting Argument Semplice
Nell'area della CPU facciamo un bel click sinistro e selezioniamo
Codice:
Search for > All referenced text strings
Codice:
Search for text
Digitiamo
Codice:
--hackshield
Bene,ora sappiamo esattamente la posizione a cui punta il nostro PUSH per la verifica della presenza della parola --hackshield tra gli arguments.
Quindi cerchiamo il comando
Codice:
PUSH [ADDRESS]
Dove [ADDRESS] è l'Address della stringa --hackshield,nel mio caso
00740E78
Quindi cercherò
Codice:
PUSH 00740E78
Ed infatti eccolo qua:
Subito sotto ci ritroviamo un bel JNZ(Jump if Not Zero)
Doppio click sull'istruzione e quindi lo sostituiamo con un JE
Infine facciamo tasto sinistro e
Codice:
Copy > Select all
Codice:
Copy to executable > selection
Codice:
Save File
Quindi ora diventa facile,prendiamo un Hex Editor e cerchiamo --hackshield e lo modifichiamo come meglio crediamo.
Time to Reverse - Starting Argument with MsgBox
Facciamo tutto il procedimento di prima,questa volta però aggiungere una MessageBox che ci avvisa che non possiamo avviare il Launcher per via dell'argument errato.
Sempre con Olly,dopo aver messo JE al posto di JNZ,seguiamo dove porta.
Noteremo la presenza di una CALL,nel mio caso
Codice:
call 0063F020
Premiamo INVIO così la seguiamo e noteremo la presenza di un JNZ,questo JNZ porta a sua volta ad un JMP subito dopo un RET.
Codice:
0063F026 /75 01 jnz short 0063F029
0063F028 |C3 retn
0063F029 ^\E9 C1FFFFFF jmp 0063EFEF
Modificate quel JNZ con un JMP.
Andiamo quindi sul JMP seguente e premiamo INVIO,così vediamo dove porta.
Noteremo quindi la presenza di 2 CALL,noi dobbiamo seguire la seconda CALL.
Perfetto,ora siamo pronti per patchare ancora.
Lungo il procedimento incontriamo quindi un altro JE.
Modifichiamo con un JMP.
Ci ritroviamo quindi un altro JE,stavolta dobbiamo NOParlo.
Tasto sinistro
Codice:
Binary > Fill with NOPs
Bene,ora salvate tutto e noterete che se non si avvia il Launcher con l'argument giusto questo darà un errore visibile.
Teoricamente potremmo già fermarci...invece no!
Vogliamo personalizzare questo errore,no?
Bhe,questo è facile,basterà usare un Hex Editor e modificare quelle stringhe.
Quindi questo sarà il risultato:
Ovviamente,io ho lasciato la stringa che indica il percorso del file,
ma potete rimuovere anche quella NOPando anche la funzione che trova il percorso e lo stampa sul testo della MessageBox.
Se non avete capito una mazza,non chiedetemi aiuto.
Se volete sapere quello che state facendo,studiate Reverse Engineering.
Io non vi faccio da maestro