Menú

Mostrar Mensajes

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ú

Mensajes - Karcrack

#1611
Bueno, por lo visto al Olly no le gustan las Export Tables que no exportan :xD :xD
Aqui hay un code para parchear un fichero ;D

Lo he traducido de un codigo en Delphi, para mas Info mirar en los comentarios :)

Lo he provado con el OllyDbg v1 y da errores.. pero con el OllyDbg BETA lo carga sin problemas :( :P

Código (vb) [Seleccionar]
'---------------------------------------------------------------------------------------
' Module    : mNoOlly
' Author    : Karcrack
' DateTime  : 18/01/2009  00:41
' Purpose   : AntiOlly
' Reference : http://hackhound.org/forum/index.php?topic=8387.0;topicseen
'
' Thanks    : Cobein, for his ChangeOEP code :D
'---------------------------------------------------------------------------------------

Option Explicit

Private Const IMAGE_DOS_SIGNATURE           As Long = &H5A4D&
Private Const IMAGE_NT_SIGNATURE            As Long = &H4550&

Private Const SIZE_DOS_HEADER               As Long = &H40
Private Const SIZE_NT_HEADERS               As Long = &HF8
Private Const SIZE_SECTION_HEADER           As Long = &H28

Private Type IMAGE_DOS_HEADER
    e_magic                     As Integer
    e_cblp                      As Integer
    e_cp                        As Integer
    e_crlc                      As Integer
    e_cparhdr                   As Integer
    e_minalloc                  As Integer
    e_maxalloc                  As Integer
    e_ss                        As Integer
    e_sp                        As Integer
    e_csum                      As Integer
    e_ip                        As Integer
    e_cs                        As Integer
    e_lfarlc                    As Integer
    e_ovno                      As Integer
    e_res(0 To 3)               As Integer
    e_oemid                     As Integer
    e_oeminfo                   As Integer
    e_res2(0 To 9)              As Integer
    e_lfanew                    As Long
End Type

Private Type IMAGE_FILE_HEADER
    Machine                     As Integer
    NumberOfSections            As Integer
    TimeDateStamp               As Long
    PointerToSymbolTable        As Long
    NumberOfSymbols             As Long
    SizeOfOptionalHeader        As Integer
    characteristics             As Integer
End Type

Private Type IMAGE_DATA_DIRECTORY
    VirtualAddress              As Long
    Size                        As Long
End Type

Private Type IMAGE_OPTIONAL_HEADER
    Magic                       As Integer
    MajorLinkerVersion          As Byte
    MinorLinkerVersion          As Byte
    SizeOfCode                  As Long
    SizeOfInitializedData       As Long
    SizeOfUnitializedData       As Long
    AddressOfEntryPoint         As Long
    BaseOfCode                  As Long
    BaseOfData                  As Long
    ImageBase                   As Long
    SectionAlignment            As Long
    FileAlignment               As Long
    MajorOperatingSystemVersion As Integer
    MinorOperatingSystemVersion As Integer
    MajorImageVersion           As Integer
    MinorImageVersion           As Integer
    MajorSubsystemVersion       As Integer
    MinorSubsystemVersion       As Integer
    W32VersionValue             As Long
    SizeOfImage                 As Long
    SizeOfHeaders               As Long
    CheckSum                    As Long
    SubSystem                   As Integer
    DllCharacteristics          As Integer
    SizeOfStackReserve          As Long
    SizeOfStackCommit           As Long
    SizeOfHeapReserve           As Long
    SizeOfHeapCommit            As Long
    LoaderFlags                 As Long
    NumberOfRvaAndSizes         As Long
    DataDirectory(0 To 15)      As IMAGE_DATA_DIRECTORY
End Type

Private Type IMAGE_NT_HEADERS
    Signature                   As Long
    FileHeader                  As IMAGE_FILE_HEADER
    OptionalHeader              As IMAGE_OPTIONAL_HEADER
End Type

Private Type IMAGE_SECTION_HEADER
    SecName                     As String * 8
    VirtualSize                 As Long
    VirtualAddress              As Long
    SizeOfRawData               As Long
    PointerToRawData            As Long
    PointerToRelocations        As Long
    PointerToLinenumbers        As Long
    NumberOfRelocations         As Integer
    NumberOfLinenumbers         As Integer
    characteristics             As Long
End Type

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Dest As Any, Src As Any, ByVal L As Long)

Public Function PatchFile(ByRef bFile() As Byte) As Byte()
    Dim IDH     As IMAGE_DOS_HEADER
    Dim INH     As IMAGE_NT_HEADERS
   
    Call CopyMemory(IDH, bFile(0), SIZE_DOS_HEADER)
   
    If IDH.e_magic = IMAGE_DOS_SIGNATURE Then
        Call CopyMemory(INH, bFile(IDH.e_lfanew), SIZE_NT_HEADERS)
        If INH.Signature = IMAGE_NT_SIGNATURE Then
            INH.OptionalHeader.DataDirectory(0).VirtualAddress = &H1000
            INH.OptionalHeader.DataDirectory(0).Size = &HF000
            Call CopyMemory(bFile(IDH.e_lfanew), INH, SIZE_NT_HEADERS)
            PatchFile = bFile
        End If
    End If
End Function


Saludos ;D
#1612
Cita de: el_c0c0 en 17 Enero 2009, 17:16 PM
Cita de: Karcrack en 17 Enero 2009, 10:39 AM
No es demasiado dificil parchear la llamada a esta API :P

Y por cierto, el VB ya tiene una funcion que hace lo mismo:
Código (vb) [Seleccionar]
If (StrComp("HOLA", "HOLA") = 0) Then
    MsgBox "Son iguales"
End If


Saludos ;D
algo que me molesta del VB es que todas esas funciones se remiten al msvbm60.dll, con apis como__strcomp o algo asi. Serian mas faciles aun de parchear sabiendo que son del mismo runtime!

saludos
Nunca dije que fuera mas dificil de parchear si se usara la funcion 'propia' del VB...
Por cierto, la llamada seria:'MSVBVM60.rtcCompareBstr' Si no me equivoco :P

Para mi un buen metodo es usar como constante en el PC al que esta registrada la aplicacion o el Nº de serie del %HOMEDRIVE% o el Nº de serie de W$... Y por supuesto hacer la comparacion de la forma mas compleja posible... se me ocurre por ejemplo usando ASM (CallWindowProcA)

Saludos ;D
#1613
No es demasiado dificil parchear la llamada a esta API :P

Y por cierto, el VB ya tiene una funcion que hace lo mismo:
Código (vb) [Seleccionar]
If (StrComp("HOLA", "HOLA") = 0) Then
    MsgBox "Son iguales"
End If


Saludos ;D
#1614
No sabia que este foro tenia tantos ingresos.... Pero como? Tampoco es que haya mucha publicidad... :rolleyes:

Bueno, yo no me atreveria a votar, porque las dos personas a las que han postulado no 'las conozco', osea, postean mucho en este subforo, pero no se si tienen conocimientos :-\

Asi que mi voto iria para Cassiani o para Cobein...

Saludos ;D ;D
#1615
Ingeniería Inversa / Re: #1 CrackMe Karcrack
14 Enero 2009, 22:50 PM
Actualizada la lista de los que lo han conseguido :P
#1617
Bueno, la pregunta es simple... tenemos MOD de VB :huh:


O por el contrario nos han dejado solos :rolleyes:

Saludos ;D
#1618
Un par de cosas interesantes:
CitarPlusPatch 7 Final para Windows 7 - Para quitar limitaciones :P
Forma de hacerlo todo tal y como M$ nos indica :P
¿Que hay de nuevo en Windows 7? - Informacion sobre el nuevo W7

Saludos ;D
#1619
Cita de: pERICOTE en 11 Enero 2009, 03:33 AM
Gracias por el crackme estuvo entretenido
perico
829428 ;D ;D ;D
Felicidades ;D

Estaba facilito :xD, con parchear los AntiDebug y mirar el Stack sobraba :P

Saludos ;)
#1620
Interesante... la mayoria de coders ya estaban medio llorando porque se les acababa el VB :xD... ya que lo tienes podrias probar si un programa tuyo en VB6.0 funciona en W7... me refiero sin tener el VS ;D

MOD:
La descarga ha sido suspendida de forma oficial, el fichero sigue en su lugar :P

Saludos ;D