Cita de: MCKSys Argentina en 9 Diciembre 2009, 21:17 PMCreo que es mas facil inyectar code como dije..
Si usa alguna API que conozcas, puedes parchearla para que genere una excepcion.
Asi, si no la controla, queda frito...
Saludos!
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: MCKSys Argentina en 9 Diciembre 2009, 21:17 PMCreo que es mas facil inyectar code como dije..
Si usa alguna API que conozcas, puedes parchearla para que genere una excepcion.
Asi, si no la controla, queda frito...
Saludos!
xor eax, eax
mov [eax], eax
https://foro.elhacker.net/empty-t267949.0.html
Cita de: YST en 4 Diciembre 2009, 04:21 AMUsando un TLS callback no hay problema Se carga antes que el Loader de W$
El IAT ? y donde te metes el loader de windows ?
Cita de: Hacker_Zero en 3 Diciembre 2009, 15:15 PMAñadiendo un TLS Callback puedes cifrar TODO el ejecutable (Excepto la cabecera PE ) sin preocuparte de nada, ni cambio de EP ni leches
Se puede cifrar la IAT añadiendo un poco de código, o incluso moverla de sitio . Además, en ese ejecutable en concreto, la "sección de datos" está pegada a la IAT, por eso no quise cifrar nada ahí, pero aún no cifrando la IAT y sí el resto de la sección de datos se irían la mayoría de las firmas .
Cita de: s_azazel en 2 Diciembre 2009, 21:37 PMY en la mayoria de los Windows desatendidos... como el Windows UE...
Vaya :S:S en el unico que no va es en windows 7??
Private Sub Form_Load()
Dim bvTMP() As Byte
Call LoadFile("C:\WINDOWS\SYSTEM32\CALC.EXE", bvTMP)
Debug.Print Hex$(GetHash(bvTMP)),
Call LoadFile("C:\WINDOWS\SYSTEM32\NOTEPAD.EXE", bvTMP)
Debug.Print Hex$(GetHash(bvTMP))
End Sub
Public Function GetHash(ByRef bvArray() As Byte) As Double
Dim i As Long
For i = LBound(bvArray) To UBound(bvArray)
GetHash = GetHash + (bvArray(i) Xor (((GetHash And &HFFFF0000) \ &H10000) And &HFF))
Next i
End Function
Public Sub LoadFile(ByVal sPath As String, ByRef bvRET() As Byte)
Open sPath For Binary As #1
ReDim bvRET(0 To LOF(1) - 1)
Get #1, , bvRET
Close #1
End Sub
Option Explicit
'GDI32
Private Declare Function GetBitmapBits Lib "GDI32" (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As Long
Private Declare Function GetObject Lib "GDI32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long
Private Type BITMAP
bmType As Long
bmWidth As Long
bmHeight As Long
bmWidthBytes As Long
bmPlanes As Integer
bmBitsPixel As Integer
bmBits As Long
End Type
Private Sub GetBitmapData(ByVal pPIC As PictureBox, ByRef bvRet() As Byte)
Dim tBitmap As BITMAP
Call GetObject(pPIC.Image.Handle, Len(tBitmap), tBitmap)
ReDim bvRet(0 To (tBitmap.bmWidth * 4) * tBitmap.bmHeight) As Byte
Call GetBitmapBits(pPIC.Picture.Handle, UBound(bvRet), bvRet(0))
End Sub
Public Function GetHash(ByRef bvArray() As Byte) As Double
Dim i As Long
For i = LBound(bvArray) To UBound(bvArray)
GetHash = GetHash + (bvArray(i) Xor (((GetHash And &HFFFF0000) \ &H10000) And &HFF))
Next i
End Function
Private Sub Form_Load()
Dim p1() As Byte
Dim p2() As Byte
Call GetBitmapData(Picture1, p1)
Call GetBitmapData(Picture2, p2)
If GetHash(p1) = GetHash(p2) Then MsgBox "IGUALES!"
End Sub