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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: [1]
1  Seguridad Informática / Análisis y Diseño de Malware / Re: [Taller en construcción]Secciones en archivos PE. en: 7 Octubre 2012, 01:12 am
la estructura IMAGE_DOS_HEADER: que acaso no tiene esto  :huh:

Código:
   IMAGE_DOS_HEADER = record lleno
     e_magic: Word; / / Número mágico ("MZ")
     e_cblp: Word; / / Bytes en la última página del archivo
     e_cp: Word; / / Artículos en el archivo
     e_crlc: Word; / / Movimientos
     e_cparhdr: Word; / / Tamaño de la cabecera en los párrafos
     e_minalloc: Word; párrafos supletorias / / mínimos necesarios
     e_maxalloc: Word; / / Máximo párrafos adicionales necesarios
     e_ss: Word; / / inicial (relativa) SS valor
     e_sp: Word, valor SP / / Inicial
     e_csum: Word; / / Suma de comprobación
     e_ip: Word, valor IP / / Inicial
     e_cs: Word; / / inicial (relativa) de valor CS
     e_lfarlc: Word; / / Dirección de la tabla de reubicación
     e_ovno: Word; / / Overlay número
     e_res: arsenal lleno [0 .. 3] de la Palabra / / palabras reservadas
     e_oemid: Word; / / OEM identificador (por e_oeminfo)
     e_oeminfo: Word; / / Información OEM; e_oemid específico
     e_res2: arsenal lleno de [0 .. 9] de la Palabra / / palabras reservadas
     e_lfanew: Entero; / / Archivo dirección del encabezado exe nuevo
2  Programación / Programación Visual Basic / Re: prblema con la memoria en vb6?? en: 6 Octubre 2012, 00:39 am
Código:
Property Get HiByte(ByVal Word As Integer) As Byte
  ' Devuelve el Byte alto del Word especificado.
  '
  If Word And &H8000 Then
    If Not (Word Or &HFF) = &HFFFFFFFF Then Word = (Word Xor &HFF)
 
    HiByte = &H80 Or ((Word And &H7FFF) \ &HFF)
  Else
    HiByte = Word \ 256
  End If
End Property

Property Get HiWord(Dword As Long) As Integer
  ' Devuelve el Word alto del DWord especificado.
  '
  If Dword And &H80000000 Then
    HiWord = (Dword / 65535) - 1
  Else
    HiWord = Dword / 65535
  End If
End Property

Property Get LoByte(Word As Integer) As Byte
  ' Devuelve el Byte bajo del Word especificado.
  '
  LoByte = (Word And &HFF)
End Property

Property Get LoWord(Dword As Long) As Integer
  ' Devuelve el Word bajo del DWord especificado.
  '
  If Dword And &H8000& Then
    LoWord = &H8000 Or (Dword And &H7FFF&)
  Else
    LoWord = Dword And &HFFFF&
  End If
End Property

Property Get MakeWord(ByVal bHi As Byte, ByVal bLo As Byte) As Integer
  ' Crea un Word a partir de sus dos componentes Byte.
  '
  If bHi And &H80 Then
    MakeWord = (((bHi And &H7F) * 255) + bLo) Or &H7FFF
  Else
    MakeWord = (bHi * 255) + bLo
  End If
End Property

Property Get MakeDWord(wHi As Integer, wLo As Integer) As Long
  ' Crea un DWord a partir de sus dos componentes Word.
  '
  If wHi And &H8000& Then
    MakeDWord = (((wHi And &H8000&) * 65536) Or (wLo And &HFFFF&)) Or &H80000000
  Else
    MakeDWord = (wHi * &H10000) + wLo
  End If
End Property
y la funcion

Código:
Function DWordToString(dw As Long) As String
  DWordToString = Chr$(LoByte(LoWord(dw))) & _
                  Chr$(HiByte(LoWord(dw))) & _
                  Chr$(LoByte(HiWord(dw))) & _
                  Chr$(HiByte(HiWord(dw)))
End Function

Function StringToDWord(Str As String) As Long

  If Len(Str) < 4 Then Str = Str & String$(4 - Len(Str), 0)

  StringToDWord = MakeDWord( _
                          MakeWord( _
                                  Asc(Mid$(Str, 4)), _
                                  Asc(Mid$(Str, 3, 1)) _
                                   ), _
                          MakeWord( _
                                   Asc(Mid$(Str, 2, 1)), _
                                   Asc(Mid$(Str, 1, 1)) _
                                   ) _
                          )
End Function
3  Programación / Programación Visual Basic / prblema con la memoria en vb6?? en: 5 Octubre 2012, 23:33 pm
siguiendo este tuto
http://foro.elhacker.net/programacion_visual_basic/memoria_en_vb-t114052.0.html
 en la parte donde convierto el dword en cadena me sale otros caracteres los cuales no son ABCD como lo dice el tutorial aca hay una imagen

la verdad no se cual es el error :huh:
4  Seguridad Informática / Análisis y Diseño de Malware / Re: Evadir emulacion de AVs. en: 5 Octubre 2012, 23:22 pm
Tal y como aclara mDrinky me refería a que en el propio nombre que le da el AV a la detección suele suele incluirse esa información. Por ejemplo el "Heur" que añaden en algunos tags que viene de heurística, obviamente.

Como apunta zu-zu los emuladores de los AVs no son estúpidos y hay ciertas acciones que obvian por su poca relevancia en el flujo de ejecución de la aplicación (como los sleeps). Pero hay muchas otras formas de redireccionar el flujo de la aplicación u obfuscarlo, como por ejemplo usando handlers personalizados para errores que generes.

Como dato añado que había una forma de saber si estabas siendo emulado dentro del Kaspersky (si no recuerdo mal) que era haciendo un gethostbyname() y obteniendo el error generado, ya que para evitar conexión a internet se emulaban las llamadas a las APIs de WS y devolvía un error incorrecto.

Lo importante es que los emuladores van mejorando, ya sea obviando sleeps o reparando errores que ellos mismos hacen... eso sí, el NOD32 lleva más de 6 años petando con una instrucción de FPU que no emula correctamente:
Código
  1. pminsw xmm0,xmm1
Con esa instrucción cualquier aplicación detectada por NOD32 se vuelve invisible :laugh: :laugh:
y como meteria ese code con olly  :huh:
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines