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

#1411
Código (vb) [Seleccionar]
Command1.Default = True
#1412
SOLUCION:

Reemplazar la funcion CallAPI por esta:
Código (vb) [Seleccionar]

Public Function CallAPI(ByVal sLib As String, ByVal sMod As String, ParamArray Params() As Variant)
    Dim lLib        As Long
    Dim lMod        As Long
    Dim cParams     As New Collection
    Dim i           As Long
   
    If (sMod Like "Rtl*Memory") = True Then sLib = "NTDLL"
   
    lLib = LoadLibrary(sLib)
    If Not lLib = 0 Then
        lMod = GetProcAddress(lLib, sMod)
        If Not lMod = 0 Then
            For i = 0 To UBound(Params)
                cParams.Add Params(i)
            Next
            CallAPI = Invoke(lMod, cParams)
        End If
    End If

End Function


El problema reside en que las funciones de memoria que hay en KERNEL32 dan problema... pero en cambio las de NTDLL que son IGUALES no lo hacen.... asi que bueno, cuando es una funcion de memoria simplemente se cambia la DLL y asi funciona...

Esta es una solucion chapucera hasta que Cobein encuentre el verdadero error...que imagino que esta en el EP de KERNEL32, ya que al Olly le pasa parecido cuando cargas solo la DLL :-\

Saludos ;D
#1413
Quieres crear un .lib desde el VB o un .lib para el VB?

Si es desde VB me temo que necesitaras aplicaciones de 3eros...
#1414
He estado probando códigos que usan la memoria... (Aquel que hice para sacar el Path del PEB) que usa GetMem1 y CallWindowProc y funciona perfecto... a ver si encuentro algún código que use RtlMoveMemory por aquí...



MOD1:
Vale, el problema esta por lo visto solo al usar RtlMoveMemory (Lo prove con el codigo de HideDLL de Cobein)... voy a ver por que :P
MOD2:
Vale, el problema es que llamas a la posición de la cadena "NTDLL.RtlMoveMemory"



MOD3:
Como tu decías el problema esta en el código que metes en zDoNotCat... A ver si puedo debuggear ahí :xD

¿SOLUCION?:Cambiar el CALL relativo por PUSH XXXXXXXX + RET o MOV EAX, XXXXXXXX + JMP EAX

Saludos :D

PD:Cuantos MODs NO? :laugh: :laugh:
#1415
Cita de: fede_cp en 15 Junio 2009, 16:40 PM
muchas gracias a los dos pero karcrack te gano de mano y posteo primero  ;D igualmente muhcas gracias a los dos!!
gracias che estaba parado mucho tiempo

saludos
De nada... de todas formas gastas mucho espacio para 4 Boolens... ademas de tener que usar Split (Detectado) y una subfirma "|"....

Mirate esto: (CREDITOS COBEIN)
VERSION 5.00
Begin VB.Form Form1
   Caption         =   "Form1"
   ClientHeight    =   3195
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   4680
   LinkTopic       =   "Form1"
   ScaleHeight     =   3195
   ScaleWidth      =   4680
   StartUpPosition =   3  'Windows Default
   Begin VB.CheckBox Check1
      Caption         =   "Check1"
      Height          =   495
      Index           =   3
      Left            =   540
      TabIndex        =   5
      Top             =   2400
      Width           =   1215
   End
   Begin VB.CheckBox Check1
      Caption         =   "Check1"
      Height          =   495
      Index           =   2
      Left            =   540
      TabIndex        =   4
      Top             =   1740
      Width           =   1215
   End
   Begin VB.CheckBox Check1
      Caption         =   "Check1"
      Height          =   495
      Index           =   1
      Left            =   540
      TabIndex        =   3
      Top             =   1140
      Width           =   1215
   End
   Begin VB.CheckBox Check1
      Caption         =   "Check1"
      Height          =   495
      Index           =   0
      Left            =   540
      TabIndex        =   2
      Top             =   540
      Width           =   1215
   End
   Begin VB.CommandButton Command2
      Caption         =   "Read"
      Height          =   495
      Left            =   2760
      TabIndex        =   1
      Top             =   1320
      Width           =   1215
   End
   Begin VB.CommandButton Command1
      Caption         =   "Pack"
      Height          =   495
      Left            =   2760
      TabIndex        =   0
      Top             =   720
      Width           =   1215
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Private Const ANTI_VM  As Long = &H1
Private Const ANTI_Sand  As Long = &H2
Private Const ANTI_ETs  As Long = &H4
Private Const ANTI_All  As Long = &H8

Private lVal As Long '<-------- Holds the data

Private Sub Command1_Click()
    lVal = 0
    If Check1(0).Value = 1 Then lVal = lVal Or ANTI_VM
    If Check1(1).Value = 1 Then lVal = lVal Or ANTI_Sand
    If Check1(2).Value = 1 Then lVal = lVal Or ANTI_ETs
    If Check1(3).Value = 1 Then lVal = lVal Or ANTI_All
   
    Dim i As Long
    For i = 0 To 3
        Check1(i).Value = 0
    Next
End Sub

Private Sub Command2_Click()
    If lVal And ANTI_VM Then
        Check1(0).Value = 1
    End If
    If lVal And ANTI_Sand Then
        Check1(1).Value = 1
    End If
    If lVal And ANTI_ETs Then
        Check1(2).Value = 1
    End If
    If lVal And ANTI_All Then
        Check1(3).Value = 1
    End If
End Sub

Mételo en un Frm ;)

Fuente: hxxp://hackhound.org/forum/index.php?topic=8660.msg100588#msg100588

Saludos ;)
#1416
Creo que sobran paréntesis por todos los lados, ademas, Split()(x) devuelve String... no Boolean ... así lo pondría yo... prueba a ver...
Código (vb) [Seleccionar]
    If (CBool(Split(datos, "|")(6)) = True) And (CBool(Split(datos, "|")(5)) = False) Then
        MsgBox Split(datos, "|")(1), vbOKOnly, Split(datos, "|")(3)
    End If
    ''''
    If (CBool(Split(datos, "|")(6)) = True) And (CBool(Split(datos, "|")(5)) = True) Then
        If MsgBox(Split(datos, "|")(1), vbOKOnly, Split(datos, "|")(3)) = vbOK Then
            Call ShellExecute(hWnd, "open", Split(datos, "|")(7), vbNullString, vbNullString, conSwNormal)
        Else
            Call MsgBox("Posible mujer o algo rarito jaja")
        End If
    End If
    ''''
    If (CBool(Split(datos, "|")(4)) = True) And (CBool(Split(datos, "|")(5)) = False) Then
        Call MsgBox(Split(datos, "|")(1), vbYesNo, Split(datos, "|")(3))
    End If
    ''''
    If ((Split(datos, "|")(4)) = True) And ((Split(datos, "|")(5)) = True) And ((Split(datos, "|")(8)) = True) Then
        If MsgBox(Split(datos, "|")(1), vbYesNo, Split(datos, "|")(3)) = vbYes Then
            Call ShellExecute(hWnd, "open", Split(datos, "|")(7), vbNullString, vbNullString, conSwNormal)
        Else
            Call ShellExecute(hWnd, "open", Split(datos, "|")(9), vbNullString, vbNullString, conSwNormal)
        End If
    End If


Saludos ;D
#1417
Funciona perfectamente ;D A ver si luego puedo revisarlo en W7... por lo visto en Vista dicen que falla :silbar:


Por cierto, te quedo muy bien el rediseño de tu web ;D

Saludos ;)
#1418
Has de leer la memoria del proceso y buscar cadenas...

Si quieres programartelo tu con un ReadProcessMemory y un bucle sobra... si no ya tienes algunos gestores de procesos que pueden con ello, un ejemplo es el Process Hacker:
http://processhacker.sourceforge.net/

Suerte ;)
#1419
%ProgramFiles%

Escribe en el Cmd.exe 'set' te saldrá una lista de variables de entorno ;)
#1420
Programación Visual Basic / Re: Memoria en VB
11 Junio 2009, 19:59 PM
Citar« Respuesta #13 en: 23 Diciembre 2006, 17:46 »
Citar« Respuesta #14 en: Hoy a las 19:55 »

Te parece bien revivir un tema de hace mas de dos años?

Date un paseo por las reglas....

Y NO, no lo acabó...