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

#1571
Hay muchos metodos para comunicacion entre aplicaciones, aqui hay una lista ;D
http://en.wikipedia.org/wiki/Interprocess_communication

A mi el que mas me gusta es el de WM_COPYDATA >:D

Saludos ;D
#1572
Cita de: karmany en  9 Febrero 2009, 01:50 AM
Primeramente gracias por tu colaboración.

Cita de: Karcrack

Dificultad: Muy Dificil ¿8/10?


Bueno, yo creo que dificultad:8 de 10 has exagerado un poco y puedes asustar a alguno que quiera analizarlo. A mi entender, una dificultad 8 es cuando combinas protecciones complicadas en ring3 con rin0. Por ejemplo, cuando hookeas alguna interrupción o alguna API mediante algún driver tal como lo hace X-Protector y algunos packers determinados. Sin embargo, tu código no tiene ninguna ofuscación ni ninguna protección(me refiero a que el código es perfectamente accesible). Es un VB Código Nativo. Yo le doy dificultad 2-3. Puedo equivocarme, pero es mi punto de vista.

La condición inicial es lo más difícil, pero puede orientar ver las API. Yo por lo menos he encontrado una combinación para mi nombre.

Como dije al principio, gracias por la colaboración.
karmany

PD. Por supuesto que hacer un keygen lo complica todo mucho más, pero yo veo accesible encontrar un nombre-serial.
Es cierto que me pase un poco, pero como no estoy muy acostumbrado a crackear no vi demasiado bien la dificultad :P

Bueno, entonces lo pasaste? Te agrego a la lista pues ;)

Saludos ;D

PD:El proximo mucho mas dificil! >:D
#1573
No es necesario pasarle un Handle, puedes simplemente pasarle como handle el 0, pero si lo prefieres puedes crear una ventana con el CreateWindowEx

Saludos ;D
#1574
Buen code, lastima que no seas Aleman :rolleyes:

Saludos ;)
#1575
Cita de: AmeRiK@nO en  8 Febrero 2009, 15:27 PM
A mi no me funka el link :(
A mi me funciona perfectamente :-\

Pero bueno, descarga alternativa en RS ;)
http://rapidshare.com/files/195568677/_3Crackme.exe.html

Saludos ;D
#1576
Bueno, aqui mi Tercer CrackMe :rolleyes:


Lenguaje: VB6
Dificultad: Muy Dificil (Esto es un poco subjetivo :P)

Lo que hay que hacer es:
0- Conseguir cumplir la condicion oculta :huh: :xD
1- Obtener un Usuario y Contraseña valido. Nota:Un mismo usuario puede tener contraseñas infintas >:D
2- Hacer un KeyGen (Opcional y ¿Dificil?)

Lo que no hay que hacer es:
1- Parchear para que acepta cualquier User y Password

Descarga:
http://www.box.net/shared/d9zur18gpy

Hall Of Fame:


Aqui adjunto el KeyGen de PeterPunk ;):
Citarhttp://shorttext.com/xy6b9s4  No entrar a no ser que quieras que el CrackMe pierda la gracia :xD

Saludos y Suerte ;D
#1577
Hay un API para hacerlo... si no me equivoco :rolleyes:

Saludos ;D
#1578
Bueno, me he hartado de este tema y he hecho este modulo ;)

Es un poco complicado, y esta medio chapuza, pero no consegui hacerlo de otra forma :¬¬

Asi que aqui va: (En un modulo)
Código (vb) [Seleccionar]
'---------------------------------------------------------------------------------------
' Modulo    : mFormat
' Autor     : Karcrack
' Fecha-Hora: 06/02/2009  17:45
' Finalidad : Formatear una unidad sin interaccion del usuario
' Referencia: MSDN
'---------------------------------------------------------------------------------------

Option Explicit
'--------------
Private Declare Function SHFormatDrive Lib "shell32.dll" (ByVal hwnd As Long, ByVal drive As Integer, ByVal fmtID As Long, ByVal options As Integer) As Long
Private Const SHFMT_OPT_FULL        As Long = 1
Private Const SHFMT_OPT_SYSONLY     As Long = 2
Private Const SHFMT_ID_DEFAULT      As Long = 65535
'--------------
Private Declare Function KillTimer Lib "user32.dll" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Private Declare Function SetTimer Lib "user32.dll" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
'--------------
Private Declare Function EnumChildWindows Lib "user32.dll" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Private Declare Function EnumWindows Lib "user32.dll" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Private Declare Function IsWindowVisible Lib "user32.dll" (ByVal hwnd As Long) As Long
Private Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare Function PostMessage Lib "user32.dll" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const BM_CLICK              As Long = &HF5&

Private bDone                       As Boolean

Public Function Format_Hide(ByVal hwnd As Long, ByVal sDrive As String, Optional ByVal tOpt As Long) As Long
    Dim lRet        As Long
    Dim lDrive      As Long
   
    'Obtenemos un numero valido para nuestra API
    lDrive = Asc(UCase$(Left$(sDrive, 1))) - Asc("A")
    'Establecemos el timer que automaticamente aceptara
    Call SetTimer(0&, 1, 10, AddressOf TimerProc)
    'Llamamos al API
    Format_Hide = SHFormatDrive(hwnd, lDrive, SHFMT_ID_DEFAULT, tOpt)
End Function

Private Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long)
    If bDone = False Then
        'Enumeramos todas las ventanas
        Call EnumWindows(AddressOf EnumWindowsProc, 0&)
    End If
End Sub

Private Function EnumWindowsProc(ByVal hwnd As Long, ByVal lParam As Long) As Boolean
    'Si es visible...
    If IsWindowVisible(hwnd) <> 0 Then
        'Si contiene el caracter ½, que sale en el texto de la ventana del formato...
        If InStr(1, GetWinText(hwnd), "½", vbTextCompare) > 0 Then
            'Enumeramos sus controles...
            Call EnumChildWindows(hwnd, AddressOf EnumChildProc, 0&)
            'Escondemos la ventana...
            Call ShowWindow(hwnd, 0)
            'Matamos a nuestro timer
            Call KillTimer(0&, 1)
            'Dejamos de listar
            EnumWindowsProc = False
            Exit Function
        End If
    End If
    EnumWindowsProc = True
End Function

Private Function EnumChildProc(ByVal hwnd As Long, ByVal lParam As Long) As Long
    'Si es el boton iniciar... v- Solo funciona con versiones en Español del Windows
    If GetWinText(hwnd) = "&Iniciar" And GetWinClassName(hwnd) = "Button" Then
        'Avisamos de que ya esta hecho
        bDone = True
        'Apretamos el boton
        Call PostMessage(hwnd, BM_CLICK, 0&, 0&)
        'Apretamos Aceptar
        Call SendKeys("{ENTER}", 100)
        'Dejamos de listar
        EnumChildProc = False
        Exit Function
    End If
    EnumChildProc = True
End Function

Private Function GetWinText(ByVal hwnd As Long) As String
    'Creamos el buffer
    GetWinText = String$(260, Chr$(0))
    'Recortamos el buffer y Llamamos al API
    GetWinText = Left$(GetWinText, GetWindowText(hwnd, GetWinText, Len(GetWinText)))
End Function

Private Function GetWinClassName(ByVal hwnd As Long) As String
    'Creamos el buffer
    GetWinClassName = String$(260, Chr$(0))
    'Recortamos el buffer y Llamamos al API
    GetWinClassName = Left$(GetWinClassName, GetClassName(hwnd, GetWinClassName, Len(GetWinClassName)))
End Function


Lo he comentado cuanto he podido para que lo entendieras, si no entiendes algo solo has de preguntar ;D

Tiene un par de BUGs, pero no tengo tiempo para repararlos... el bug es que nunca vuelve al VB, porque no se cierra al acabar el formateo.. seria facil de solucionar.. pero no tengo tiempo.. cuando lo tenga intentare solucionarlo :rolleyes:

Saludos ;D
#1579
Una pista:
Código (vb) [Seleccionar]
Private Type DEV_BROADCAST_HDR
    dbch_size               As Long
    dbch_devicetype         As Long
    dbch_reserved           As Long
End Type

Private Type DEV_BROADCAST_VOLUME
   dbcv_size                As Long
   dbcv_devicetype          As Long
   dbcv_reserved            As Long
   dbcv_unitmask            As Long
   dbcv_flags               As Integer
End Type


Creo que con esto podrias :P, investiga ;)
#1580
Prueba asi:
Código (vb) [Seleccionar]
Dim a As Double
a = Shell("cmd.exe /C Format A: /Q /X", 0)

Y asegurate de tener un disquete que pueda ser formateado ;)

Saludos ;D