Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - [HELP] Debugger
Forum - C/C++ - [HELP] Debugger

Avatar
RobertDeNiro (Normal User)
Newbie


Messaggi: 3
Iscritto: 12/11/2010

Segnala al moderatore
Postato alle 15:07
Venerdì, 12/11/2010
ciao ragazzi, avevo un problema.. Praticamente negli ultimi giorni stavo cercando di creare dei piccoli driver per aumentare le prestazioni del computer, solo che logicamente, quando li posti per condividerli con altra gente, ci sono delle persone che reversano la dll e cercando di capire il "giro" del codice.
Ho probato a pakkarla con VMProtect (ultima versione) ma niente da farsi.
Ho provato a fare cosi:
Codice sorgente - presumibilmente VB.NET

  1. BOOL APIENTRY DllMain (HMODULE Module, DWORD Reason, LPVOID lpReserved)
  2. {
  3.         if (Reason==DLL_PROCESS_ATTACH)
  4.         {
  5.  
  6.                 if ( IsDebuggerPresent() == true )
  7.         {
  8.                 MessageBox(GetForegroundWindow(),"Debugger detected!\nStop debugging me now!","Found!",MB_ICONSTOP);
  9.         }
  10.         else
  11.         {
  12.         //qui esegue il codice se non trova niente
  13. }



Solo che non trova niente :S Io volevo fare in modo che quando apri la dll con un debugger (non professionale) come OllyDgb o altre mod sempre di Olly, esca un messaggio di errore, e si chiuda l'applicazione..
Aiuti? :=S

Grazie a tutti

Ultima modifica effettuata da RobertDeNiro il 12/11/2010 alle 15:08
PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Up
3
Down
V
Segnala al moderatore
Postato alle 17:41
Venerdì, 12/11/2010

"dei piccoli driver per aumentare le prestazioni del computer"

ma cosa ti sei fumato?

oltre al fatto che non vedo cosa tenere nascosto in un driver del genere (ammettendo la sua esistenza), se hai trovato il santo graal delle prestazioni tanto vale condividerlo per rendere il mondo migliore, no?

purtroppo spiegare in un post diversi libri sulle tecniche di antireversing è abbastanza difficile, a parte packare il codice ci sono delle tecniche manuali di offuscamento che però necessitano di parecchia esperienza e conoscenza dell'architettura.

Se ti interesserai all'argomento scoprirai che il codice che hai scritto è quanto di meglio per un reverser per capire dove sono le parti di codice importante.


Quoto! - pierotofy - 15/11/10 04:23


Ingegnere Informatico
https://ldlagency.it
PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Up
1
Down
V
Segnala al moderatore
Postato alle 18:10
Venerdì, 12/11/2010

considera che la static analysis è sempre possibile, a prescindere da tutto.
per prevenirla l'unico modo è criptare il codice e implementare un engine che a run-time decripti il tutto, ovviamente praticamente qualsiasi packer esistente adotta questa tecnica e non c'è la necessità di farla a mano, a meno di cose veramente particolari.

ma dove l'hai postata questa fantomatica dll, che cosa fa? in che modo dovrebbe aumentare le prestazioni? hai dei benchmark?

mah


Ingegnere Informatico
https://ldlagency.it
PM
Avatar
RobertDeNiro (Normal User)
Newbie


Messaggi: 3
Iscritto: 12/11/2010

Up
1
Down
V
Segnala al moderatore
Postato alle 15:06
Sabato, 13/11/2010
In vari forum, ma l'ho postata per vedere i commenti che avevo, perchè la sto testanto, e quindi non ne sono sicuro che al 100% le incrementi in modo corretto, poi sicuramente le persone che me la reversano vedono come gira un pò il codice, sono anche più esperti di me in questo campo e quindi riescono a farla funzionare meglio.
Cmq il criptaggio dei codici già lo ho fatto, ma basta ad ogni funzione c'è sempre un richiamo del cripter

mov edi, 5
jmp short *******
movxs [EAX+6]
call ******* <- richiama il decripter

basta vedere il codice del decripter ed in 10 secondi te lo crei.. Io intendevo bloccare i debugger come "OllyDgb" o altre mod! Perchè ripeto che un debugger professionale queste tecniche non servono proprio a niente, ma è più complicato usare IDA che Olly.

:S Capito ora? Se riesci ad aiutarmi arrivando dritto alla soluzione senza girando intorno al discorso (e facendo domande riguardo alla dll) te ne sarei immensamente grato.

Ultima modifica effettuata da RobertDeNiro il 13/11/2010 alle 15:08
PM
Avatar
RobertDeNiro (Normal User)
Newbie


Messaggi: 3
Iscritto: 12/11/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 18:00
Venerdì, 12/11/2010
L'esistenza c'è, forse hai capito male o mi sono espresso male io, ma comunque, queste tecniche di anti-reversing mi interessano parecchio, negli ultimi giorni avevo fatto in modo che quando la dll viene inniettata su un eseguibile, in modo che successivamente attaccando l'eseguibile con Olly è possibile vedere il codice (non del tutto pakkato) la dll vede che è stata inniettata ed il processo si chiude! Ma se la aprono normalmente con un debugger è possibile "ingannare questa funzione" e successivamente unpakkarla normalmente.

nb: Gli offuscatori non fanno altro che "mutare" o "virtualizzare" il codice, ma con un debugger professionale come IDA Pro, questa tecnica serve a ben poco.

Non hai/avete degli aiuti?

Ultima modifica effettuata da RobertDeNiro il 12/11/2010 alle 18:09
PM