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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Temas
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12
91  Programación / Programación Visual Basic / [SRC][SNIPPET] Tecnica AntiDebugging [ASM+VB #CallWindowProc#] en: 5 Febrero 2009, 19:03 pm
Tenia este code guardado por ahi :xD, y bueno, aqui esta ;D

Codigo de ASM ejecutado:
Código
  1. use32
  2.    mov eax, [fs:30h]
  3.    mov eax, [eax + 68h]
  4. ret

Codigo Completo:
Código
  1. '---------------------------------------------------------------------------------------
  2. ' Module    : ImDebug_ASM
  3. ' Author    : Karcrack
  4. ' DateTime  : 23/01/2009  15:02
  5. ' Purpose   : Saber si estamos siendo debuggeados
  6. ' Thanks    : Cobein, Por sus codes de ASM inline (:
  7. '---------------------------------------------------------------------------------------
  8.  
  9. Option Explicit
  10. Private Declare Function CallWindowProc Lib "user32.dll" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  11.  
  12. Public Function ImDebug_ASM() As Boolean
  13.    Dim bvASM(0 To 9)   As Byte
  14.    bvASM(0) = &H64: bvASM(1) = &HA1: bvASM(2) = &H30: bvASM(3) = &H0: bvASM(4) = &H0: bvASM(5) = &H0: bvASM(6) = &H8B: bvASM(7) = &H40: bvASM(8) = &H68: bvASM(9) = &HC3
  15.    ImDebug_ASM = CBool(CallWindowProc(VarPtr(bvASM(0)), 0&, 0&, 0&, 0&))
  16. End Function

Saludos ;D
92  Programación / Programación Visual Basic / [SRC][mAltMutex.bas] Alternativa a CreateMutex en: 1 Febrero 2009, 13:07 pm
Bueno, he aqui una alternativa al CreateMutex...

Como todos sabemos el Mutex sirve para que no haya dos instancias de nuestra app corriendo simultaneamente...

He aqui el codigo del modulo, los creditos estan en los comentarios ;):
Código
  1. '---------------------------------------------------------------------------------------
  2. ' Modulo    : mAltMutex
  3. ' Autor     : Karcrack
  4. ' Fecha-Hora: 01/02/2009  12:27
  5. ' Finalidad : Comprobar si hay otra instacia de nuestra APP ejecutandose
  6. ' Referencia: http://hackhound.org/forum/index.php?topic=8967.0;topicseen
  7. ' Agradec.  : steve10120 por codearlo en Delphi, yo solo lo traduci. Y agrege un API xD
  8. '---------------------------------------------------------------------------------------
  9.  
  10. Option Explicit
  11. Private Declare Function GlobalAddAtom Lib "kernel32.dll" Alias "GlobalAddAtomA" (ByVal lpString As String) As Integer
  12. Private Declare Function GlobalFindAtom Lib "kernel32.dll" Alias "GlobalFindAtomA" (ByVal lpString As String) As Integer
  13. Public Declare Function GlobalDeleteAtom Lib "kernel32.dll" (ByVal nAtom As Integer) As Integer
  14.  
  15. Public Function CheckIfRunning(ByVal sStr As String, Optional ByRef lID As Long) As Boolean
  16.    If GlobalFindAtom(sStr) Then
  17.        CheckIfRunning = True 'Estamos siendo ejecutados
  18.    Else
  19.        lID = GlobalAddAtom(sStr) 'No estamos siendo ejecutados
  20.        'Devolvemos el ID, para que despues pueda ser eliminado el Atom
  21.    End If
  22. End Function

Y aqui un ejemplo de uso:
Código
  1. 'En un Formulario
  2. Option Explicit
  3.  
  4. Public lID      As Long
  5.  
  6. Private Sub Form_Load()
  7.    If CheckIfRunning("Karcrack_Probando", lID) = True Then
  8.        MsgBox "Ya hay otra instacia abierta...", , "ADIOS"
  9.        End
  10.    End If
  11. End Sub
  12.  
  13. Private Sub Form_Unload(Cancel As Integer)
  14.    'Eliminamos el Atom antes de cerrarnos
  15.    Call GlobalDeleteAtom(lID)
  16. End Sub

Saludos ;D
93  Programación / Programación Visual Basic / [SRC][SNIPPET] Alternativa de Melt (WinExec) en: 27 Enero 2009, 22:19 pm
Buenas, hace tiempo que se me ocurrio este code al ver el api WinExec... pero nunca lo desarrolle... y bueno, me dio hoy por hacerlo...

Simplente es una alternativa a crear un Bat en el disco, lo hace todo 'on the fly' :laugh:

Código
  1. Option Explicit
  2. Private Declare Function WinExec Lib "kernel32.dll" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long
  3. Private Declare Function GetModuleFileName Lib "kernel32.dll" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long
  4.  
  5. '---------------------------------------------------------------------------------------
  6. ' Procedimiento : AlterMelt
  7. ' Autor         : Karcrack
  8. ' Fecha         : 27/01/2009
  9. ' Parametro(s)  :
  10. ' sNewPath [in]       -> La nueva ruta para el fichero al que se le aplicara el Melt
  11. ' sPath [in,optional] -> La ruta del fichero al que se le aplicara el Melt.
  12. '                   Si es NULL se aplicara a la aplicacion propia (=
  13. ' dMs [in,optional]   -> Es el tiempo en segundos de espera entre la copia
  14. '                    y la eliminacion del fichero. Por defecto 1 seg.
  15. '
  16. ' Return        : Devuelve True si la ejecucion del comando ha sido satisfactoria.
  17. '---------------------------------------------------------------------------------------
  18.  
  19. Public Function AlterMelt(ByVal sNewPath As String, Optional ByVal sPath As String, Optional ByVal dSec As Double = 2) As Boolean
  20.    Dim sCmd    As String
  21.  
  22.    If (sPath = vbNullString) Then
  23.        If (App.LogMode = 0) Then Exit Function 'No queremos aplicar Melt a nuestro VS xD
  24.        sPath = Space$(260) 'MAX_PATH = 260
  25.        sPath = Left$(sPath, GetModuleFileName(0&, sPath, Len(sPath)))
  26.    End If
  27.  
  28.    sCmd = "CMD /D /C " & "copy " & Chr$(34) & sPath & Chr$(34) & " " & Chr$(34) & sNewPath & Chr$(34) & " & " & _
  29.            IIf((dSec > 0), "ping 0.0.0.0 -n " & dSec & " & ", vbNullString) & _
  30.            "del /F /Q " & Chr$(34) & sPath & Chr$(34) & " & " & _
  31.            Chr$(34) & sNewPath & Chr$(34) & " & " & _
  32.            "exit"
  33.    AlterMelt = (WinExec(sCmd, 0&) > 31) 'SW_HIDE As Long = 0
  34. End Function

Creo que todo el mundo sabe lo que es el Melt no? :huh: :xD

Esta seria la forma de usarlo:
Código
  1. Call AlterMelt(Environ$("TMP") & App.EXEName & ".exe", vbNullString, 5)
  2. End

Saludos, espero que os sea de utilidad ;D
94  Programación / Programación Visual Basic / [SRC] Obtener la fecha real ! en: 20 Enero 2009, 17:26 pm
Bueno, estaba aburrido y decidi hacer este code, que lo que hace es conectarse a una web y obtener la fecha de hoy ;D

Util para cuando por ejemplo quieres hacer una bomba logica, y no sabes si fiarte de la fecha del PC :xD
El inconveniente es que si no hay Internet poco haces :xD, pero eso se arregla con un If ;)

Esto es solo la idea, vosotros ya la desarrollais ;D ;D

Código
  1. '---------------------------------------------------------------------------------------
  2. ' Module    : mGetRealDay
  3. ' Author    : Karcrack
  4. ' DateTime  : 20/01/2009  17:15
  5. ' Purpose   : Obtener la fecha actual...
  6. '---------------------------------------------------------------------------------------
  7.  
  8. Option Explicit
  9.  
  10. Public Function GetDate(Optional ByVal sFormat As String = "DD-MM-YYYY") As String
  11.    Dim oHttp       As Object 'New WinHttp.WinHttpRequest
  12.    Dim sData       As String
  13.  
  14.    'Cargamos el WinHttp
  15.    Set oHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
  16.    With oHttp
  17.        'Establecemos el metodo de conexion y la URL
  18.        .Open "GET", "http://www.larazon.es/"
  19.        'Enviamos la peticion
  20.        .Send
  21.        'Obtenemos el resultado
  22.        sData = .ResponseText
  23.    End With
  24.    'Descargamos el WinHttp
  25.    Set oHttp = Nothing
  26.    'Obtenemos la fecha
  27.    sData = Split(Split(sData, Replace$("<p class='fecha_actualizacion'><span>", "'", Chr$(34)))(1), " </span>")(0)
  28.    'Y le damos formato =D
  29.    GetDate = Format$(sData, sFormat)
  30. End Function

Saludos ;D
95  Programación / Programación Visual Basic / [SRC] AntiOlly, Export Table Error en: 18 Enero 2009, 00:48 am
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
  1. '---------------------------------------------------------------------------------------
  2. ' Module    : mNoOlly
  3. ' Author    : Karcrack
  4. ' DateTime  : 18/01/2009  00:41
  5. ' Purpose   : AntiOlly
  6. ' Reference : http://hackhound.org/forum/index.php?topic=8387.0;topicseen
  7. '
  8. ' Thanks    : Cobein, for his ChangeOEP code :D
  9. '---------------------------------------------------------------------------------------
  10.  
  11. Option Explicit
  12.  
  13. Private Const IMAGE_DOS_SIGNATURE           As Long = &H5A4D&
  14. Private Const IMAGE_NT_SIGNATURE            As Long = &H4550&
  15.  
  16. Private Const SIZE_DOS_HEADER               As Long = &H40
  17. Private Const SIZE_NT_HEADERS               As Long = &HF8
  18. Private Const SIZE_SECTION_HEADER           As Long = &H28
  19.  
  20. Private Type IMAGE_DOS_HEADER
  21.    e_magic                     As Integer
  22.    e_cblp                      As Integer
  23.    e_cp                        As Integer
  24.    e_crlc                      As Integer
  25.    e_cparhdr                   As Integer
  26.    e_minalloc                  As Integer
  27.    e_maxalloc                  As Integer
  28.    e_ss                        As Integer
  29.    e_sp                        As Integer
  30.    e_csum                      As Integer
  31.    e_ip                        As Integer
  32.    e_cs                        As Integer
  33.    e_lfarlc                    As Integer
  34.    e_ovno                      As Integer
  35.    e_res(0 To 3)               As Integer
  36.    e_oemid                     As Integer
  37.    e_oeminfo                   As Integer
  38.    e_res2(0 To 9)              As Integer
  39.    e_lfanew                    As Long
  40. End Type
  41.  
  42. Private Type IMAGE_FILE_HEADER
  43.    Machine                     As Integer
  44.    NumberOfSections            As Integer
  45.    TimeDateStamp               As Long
  46.    PointerToSymbolTable        As Long
  47.    NumberOfSymbols             As Long
  48.    SizeOfOptionalHeader        As Integer
  49.    characteristics             As Integer
  50. End Type
  51.  
  52. Private Type IMAGE_DATA_DIRECTORY
  53.    VirtualAddress              As Long
  54.    Size                        As Long
  55. End Type
  56.  
  57. Private Type IMAGE_OPTIONAL_HEADER
  58.    Magic                       As Integer
  59.    MajorLinkerVersion          As Byte
  60.    MinorLinkerVersion          As Byte
  61.    SizeOfCode                  As Long
  62.    SizeOfInitializedData       As Long
  63.    SizeOfUnitializedData       As Long
  64.    AddressOfEntryPoint         As Long
  65.    BaseOfCode                  As Long
  66.    BaseOfData                  As Long
  67.    ImageBase                   As Long
  68.    SectionAlignment            As Long
  69.    FileAlignment               As Long
  70.    MajorOperatingSystemVersion As Integer
  71.    MinorOperatingSystemVersion As Integer
  72.    MajorImageVersion           As Integer
  73.    MinorImageVersion           As Integer
  74.    MajorSubsystemVersion       As Integer
  75.    MinorSubsystemVersion       As Integer
  76.    W32VersionValue             As Long
  77.    SizeOfImage                 As Long
  78.    SizeOfHeaders               As Long
  79.    CheckSum                    As Long
  80.    SubSystem                   As Integer
  81.    DllCharacteristics          As Integer
  82.    SizeOfStackReserve          As Long
  83.    SizeOfStackCommit           As Long
  84.    SizeOfHeapReserve           As Long
  85.    SizeOfHeapCommit            As Long
  86.    LoaderFlags                 As Long
  87.    NumberOfRvaAndSizes         As Long
  88.    DataDirectory(0 To 15)      As IMAGE_DATA_DIRECTORY
  89. End Type
  90.  
  91. Private Type IMAGE_NT_HEADERS
  92.    Signature                   As Long
  93.    FileHeader                  As IMAGE_FILE_HEADER
  94.    OptionalHeader              As IMAGE_OPTIONAL_HEADER
  95. End Type
  96.  
  97. Private Type IMAGE_SECTION_HEADER
  98.    SecName                     As String * 8
  99.    VirtualSize                 As Long
  100.    VirtualAddress              As Long
  101.    SizeOfRawData               As Long
  102.    PointerToRawData            As Long
  103.    PointerToRelocations        As Long
  104.    PointerToLinenumbers        As Long
  105.    NumberOfRelocations         As Integer
  106.    NumberOfLinenumbers         As Integer
  107.    characteristics             As Long
  108. End Type
  109.  
  110. Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Dest As Any, Src As Any, ByVal L As Long)
  111.  
  112. Public Function PatchFile(ByRef bFile() As Byte) As Byte()
  113.    Dim IDH     As IMAGE_DOS_HEADER
  114.    Dim INH     As IMAGE_NT_HEADERS
  115.  
  116.    Call CopyMemory(IDH, bFile(0), SIZE_DOS_HEADER)
  117.  
  118.    If IDH.e_magic = IMAGE_DOS_SIGNATURE Then
  119.        Call CopyMemory(INH, bFile(IDH.e_lfanew), SIZE_NT_HEADERS)
  120.        If INH.Signature = IMAGE_NT_SIGNATURE Then
  121.            INH.OptionalHeader.DataDirectory(0).VirtualAddress = &H1000
  122.            INH.OptionalHeader.DataDirectory(0).Size = &HF000
  123.            Call CopyMemory(bFile(IDH.e_lfanew), INH, SIZE_NT_HEADERS)
  124.            PatchFile = bFile
  125.        End If
  126.    End If
  127. End Function

Saludos ;D
96  Programación / Programación Visual Basic / Este foro tiene M0d? en: 13 Enero 2009, 20:45 pm
Bueno, la pregunta es simple... tenemos MOD de VB :huh:


O por el contrario nos han dejado solos :rolleyes:

Saludos ;D
97  Programación / Programación Visual Basic / [SRC] Aplicaciones MultiLenguaje mas facil que nunca!!! {mConfig.bas} en: 6 Enero 2009, 14:18 pm
Bueno, despues de mucho tiempo descansando ya empiezan las clases.. y con el bajon me dio por hacer un modulo :laugh:

Este modulo sirve para leer cualquier tipo de configuracion, desde las propiedades Caption y Text a asignar variables globales... Osea, que sirve tanto para leer configuracion como para hacerlo con traducciones.

Mejoras frente al fichero .ini 'normal' :xD:
  • El uso es mas sencillo y corto, no es necesario cargar objeto por objeto
  • Utiliza CallByName, para hacer el codigo lo mas generico posible
  • Permite multilinea

Cosas que hay que tener en cuenta al hacer el fichero:
- Todas las lineas del fichero de configuracion han de finalizar con ";"
- El texto de la etiqueta ([XXXX]) ha de ser igual que el nombre del contenedor
- Los valores numericos han de ser pasados a Decimal

Descarga del code y el ejemplo:
Código:
http://www.uploadsourcecode.com.ar/d/pl48J5SMcBrjkt22BgdfBMXEmGRMwWHx

Saludos ;D
98  Programación / Ingeniería Inversa / #2 CrackMe (Karcrack) en: 5 Enero 2009, 19:22 pm
Bueno, aqui mi Segundo CrackMe :rolleyes:


Lenguaje: VB6
Dificultad: Facil (A pesar de los metodos Anti-Debug)

Lo que hay que hacer es:
1- Obtener un Usuario y Contraseña valido.
2- Hacer un KeyGen (Opcional)
3- Parchear los metodos Anti-Debug (Opcional... aunque no creo que puedas hacerlo sin quitarlos :P)
Lo que no hay que hacer es:
1- Parchear para que acepta cualquier Password

Descarga:
Código:
http://karcrack.ka.funpic.de/2Crackme.rar

Saludos ;D
99  Programación / Programación Visual Basic / [SRC] IsDbgCrss - Funcion para saber si estamos siendo 'debuggeados' en: 30 Diciembre 2008, 19:03 pm
Bueno, esta es una pequeña funcion que he hecho para detectar si estas siendo Debuggeado (o como se escriba :xD)

Esta funcion se basa en que, con privilegios normales nuestra aplicacion no puede abrir procesos de system (csrss.exe) y por lo visto el OllyDbg tiene privilegios suficientes para que podamos abrir el proceso...

Aqui va el code:
Código
  1. Option Explicit
  2.  
  3. 'IsDbgCrss
  4. Private Declare Function CsrGetProcessId Lib "ntdll.dll" () As Long
  5. Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
  6.  
  7. '---------------------------------------------------------------------------------------
  8. ' Procedure : IsDbgCsrss
  9. ' Author    : Karcrack
  10. ' Date      : 30/12/2008
  11. ' Purpose   : Check if our app is being debugged
  12. ' Usage     : If IsDbgCrss = True Then MsgBox "I'm Debugged"
  13. ' Tested On : OllyDbg v2.0 ß
  14. ' Reference : http://www.piotrbania.com/all/articles/antid.txt
  15. '---------------------------------------------------------------------------------------
  16. '
  17. Public Function IsDbgCsrss() As Boolean
  18.    IsDbgCsrss = CBool(OpenProcess(&H1F0FFF, 0, CsrGetProcessId)) '&H1F0FFF = PROCESS_ALL_ACCESS
  19. End Function

Solo lo he probado con el OllyDbg v2.0 ß... si alguien lo prueba con otro Debugger que avise ;)

Cabe destacar que para este codigo se necesitan privilegios de Admin... pero bueno, para ejecutar el OllyDbg en su total magnitud tambien :P

Saludos ;D
100  Programación / Ingeniería Inversa / #1 CrackMe Karcrack en: 27 Diciembre 2008, 12:50 pm
Bueno, este es mi primer CrackMe :rolleyes:
Lenguaje: VB6
Tiempo Invertido: 20 min.
Dificultad: Intermedia-Baja (Esto es bastante Subjetivo :laugh:)

Lo han resuelto:

Descarga:
Código:
http://karcrack.funpic.de/1CrackMe.rar

Code:
Quien quiera el code que lo pida por MP ;D (Pero que se olvide de aparecer en la lista :laugh:)


Las soluciones como siempre por MP ;)

Feliz Navidad :D
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines