elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [ANTI] IsOdbg() - Saber si estas siendo debuggeado por el OllyDebugger
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [ANTI] IsOdbg() - Saber si estas siendo debuggeado por el OllyDebugger  (Leído 6,468 veces)
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
[ANTI] IsOdbg() - Saber si estas siendo debuggeado por el OllyDebugger
« en: 12 Marzo 2011, 13:45 pm »

Código
  1. Option Explicit
  2. 'KERNEL32
  3. Private Declare Sub GetStartupInfoW Lib "KERNEL32" (ByRef lpStartupInfo As Any)
  4.  
  5. '---------------------------------------------------------------------------------------
  6. ' Procedure : IsOdbg
  7. ' Author    : Karcrack
  8. ' Date      : 12/03/2011
  9. ' TestedOn  : OllyDbg 1.1 & OllyDbg 2.0.1(Alpha)
  10. ' Purpose   : Detect whether we are running inside OllyDbg or not.
  11. '---------------------------------------------------------------------------------------
  12. '
  13. Public Function IsOdbg() As Boolean
  14.    Dim bvStartupInfo(0 To 16)  As Long
  15.    Call GetStartupInfoW(bvStartupInfo(0))
  16.    IsOdbg = (bvStartupInfo(11) And &H80)
  17. End Function


En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: [ANTI] IsOdbg() - Saber si estas siendo debuggeado por el OllyDebugger
« Respuesta #1 en: 12 Marzo 2011, 14:05 pm »

Y si cambian/desactivan esas lineas desde el ollydbg ? :xD (nunca lo he usado :P)


En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [ANTI] IsOdbg() - Saber si estas siendo debuggeado por el OllyDebugger
« Respuesta #2 en: 12 Marzo 2011, 14:24 pm »

Pues si van debuggeando instruccion por instruccion hasta encontrar la llamada a DllFuncionCall() con "KERNEL32" y "GetStartupInfoW"... Pueden parchear la comparacion y devolver False.. pero para ello deben saber que STARTUPINFO.dwFlags tiene un flag distinto dentro de OllyDbg...
En línea

philipjfry99

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: [ANTI] IsOdbg() - Saber si estas siendo debuggeado por el OllyDebugger
« Respuesta #3 en: 19 Marzo 2011, 23:30 pm »

lol this simple trick call works!!!! good work as amways....When will u be back in english scenes dude ;)
En línea

Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: [ANTI] IsOdbg() - Saber si estas siendo debuggeado por el OllyDebugger
« Respuesta #4 en: 20 Marzo 2011, 00:48 am »

Good proyect dude, this code must be in all security programs, or malwares jeje
En línea

43H4FH44H45H4CH49H56H45H
Wiki

Desconectado Desconectado

Mensajes: 502



Ver Perfil
Re: [ANTI] IsOdbg() - Saber si estas siendo debuggeado por el OllyDebugger
« Respuesta #5 en: 20 Marzo 2011, 06:01 am »

En realidad saltarse este truco es muy sencillo  >:D, solo viendo que api es llamada luego de que detecte a olly (eso deacuerdo al programa si lanza un msgbox o finaliza el programa por ejemplo) podemos llegar a la funcion que se encarga de la deteccion, para saltarse este truco solo basta lo siguiente:
Código
  1. Option Explicit
  2. 'KERNEL32
  3. Private Declare Sub GetStartupInfoW Lib "KERNEL32" (ByRef lpStartupInfo As Any)
  4.  
  5. '---------------------------------------------------------------------------------------
  6. ' Procedure : IsOdbg
  7. ' Author    : Karcrack
  8. ' Date      : 12/03/2011
  9. ' TestedOn  : OllyDbg 1.1 & OllyDbg 2.0.1(Alpha)
  10. ' Purpose   : Detect whether we are running inside OllyDbg or not.
  11. '---------------------------------------------------------------------------------------
  12. '
  13. Public Function IsOdbg() As Boolean
  14.    Dim bvStartupInfo(0 To 16)  As Long
  15.    Call GetStartupInfoW(bvStartupInfo(0))
  16.    IsOdbg = (bvStartupInfo(11) And &H80)
  17. End Function
  18.  
  19.  
  20. Private Sub Command1_Click()
  21. If IsOdbg Then
  22. MsgBox "Es Olly"
  23. Else
  24. MsgBox "No hay Olly"
  25. End If
  26. End Sub

Luego de encontrar la funcion que valida si olly esta presente, localizamos la Api que lo detecta, luego de colocar un BP, vemos lo siguiente:





Y solo basta con cambiar un numero  :xD para que ya no lo detecte...





Saluos  :P
En línea


-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [ANTI] IsOdbg() - Saber si estas siendo debuggeado por el OllyDebugger
« Respuesta #6 en: 20 Marzo 2011, 14:21 pm »

No tiene ningun merito quitar la proteccion si esta te avisa de que te ha detectado... pero imagina que dependiendo de que te detecta hace unas acciones u otras... Ahi ya tendrias mas dificil (Sin saber que con esa llamada se puede detectar) encontrar que esta pasando...
En línea

43H4FH44H45H4CH49H56H45H
Wiki

Desconectado Desconectado

Mensajes: 502



Ver Perfil
Re: [ANTI] IsOdbg() - Saber si estas siendo debuggeado por el OllyDebugger
« Respuesta #7 en: 20 Marzo 2011, 15:13 pm »

Como escribi antes, el programa puede tomar una accion u otra (msgbox o finalizar el programa por ejemplo), pero a la final tendra que realizar algun prodedimiento que se puede interceptar.
Que mejor si haces un Crack Me y vemos que tan dificil puede ser quitar esta u otra protección.
Saluos  :P
En línea


-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W
Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: [ANTI] IsOdbg() - Saber si estas siendo debuggeado por el OllyDebugger
« Respuesta #8 en: 20 Marzo 2011, 15:23 pm »

Pero vs te das cuenta q tiene ese codigo de Karcrack una vez q ya se uso, y en vez del mensajito puede que haga una maldad para no ser analizado ;)
En línea

43H4FH44H45H4CH49H56H45H
Wiki

Desconectado Desconectado

Mensajes: 502



Ver Perfil
Re: [ANTI] IsOdbg() - Saber si estas siendo debuggeado por el OllyDebugger
« Respuesta #9 en: 20 Marzo 2011, 17:44 pm »

Si el programa hiciera la "maldad" ya tendria el punto para empezar a buscar de donde se llamo a su funcion. Obviamente esto no tiene porque preocupar a cualquier persona que tenga un minimo de conocimiento de como proteger su equipo contra "maldades", pero viendo tu comentario tú si tendrias de que preocuparte  :P
Saluos.
En línea


-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines