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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: [1]
1  Programación / .NET (C#, VB.NET, ASP) / Re: Leer Memoria de un Proceso en: 30 Noviembre 2010, 05:49 am
Le doy un Up por que sigo sin conseguir resultados.
2  Programación / .NET (C#, VB.NET, ASP) / Re: Leer Memoria de un Proceso en: 28 Noviembre 2010, 17:46 pm
Claro, es igual, fijate en una de las imagenes aparece "Pointercount=78" para llegar a ese numero tuve que ejecutar la aplicacion alrededor de 200 veces bajado de 3 a 20 punteros por cada ejecucion.

Mi problema es que: o no sé buscar el puntero, o estoy utilizando mal el codigo que me dio .mokk., o ambas 2, en este caso quisiera saber si estoy buscandolo mal el puntero y si lo estoy haciendo mal, entonces como lo tendria que hacer.
3  Programación / .NET (C#, VB.NET, ASP) / Re: Leer Memoria de un Proceso en: 27 Noviembre 2010, 18:13 pm
¿Alguno tiene una idea?
Puede alguno orientarme para obtener el puntero a la memoria y como manejarlo (tambien los offsets y demas)

Quizas en otro lenguaje funcione mejor que en vb, si alguno tiene un ejemplo estaria bueno para probar.
4  Programación / .NET (C#, VB.NET, ASP) / Re: Leer Memoria de un Proceso en: 19 Noviembre 2010, 18:13 pm
Estoy probando este codigo pero me devuelve una "j", quizas este usando mal la direccion de memoria.

Estuve usando Cheat Engine para identificar la direccion de memoria donde se guarda el nombre del personaje, en este caso "santirompebolas"






use varias direcciones, incluso use este codigo para hacer un escaneo de la memoria, con saltos de 16 y 24 y de 1 a 1 pero no logro localizar el nombre.

Código:
        Dim r As Integer
        ListBox1.Items.Clear()
        For r = Val(txtmin.Text) To Val(txtmax.Text)
            ReadMemoryP(r)
        Next

5  Programación / .NET (C#, VB.NET, ASP) / Leer Memoria de un Proceso en: 18 Noviembre 2010, 07:10 am
Tengo este codigo

Código:
Public Class Form1
    'API ReadProcessMemory
    Private Shared Function ReadProcessMemory( _
        ByVal hProcess As IntPtr, _
        ByVal lpBaseAddress As IntPtr, _
        ByVal lpBuffer() As Byte, _
        ByVal dwSize As Integer, _
        ByRef lpNumberOfBytesRead As Integer) As Boolean
    End Function

    Private Function FindAddress(ByVal pHandle As IntPtr, ByVal BaseAddress As IntPtr, ByVal StaticPointer As IntPtr, ByVal Offsets() As IntPtr) As IntPtr
        ' Crearemos un buffer de 4 bytes para sistema de32-bit o 8 bytes sobre un sistema de 64-bit .
        Dim tmp(IntPtr.Size - 1) As Byte
        Dim Address As IntPtr = BaseAddress
        ' Checaremos para 32-bit vs 64-bit.
        If IntPtr.Size = 4 Then
            Address = New IntPtr(Address.ToInt32 + StaticPointer.ToInt32)
        Else
            Address = New IntPtr(Address.ToInt64 + StaticPointer.ToInt64)
        End If
        ' Loop de cada Offset hasta encontrar el Address
        For i As Integer = 0 To Offsets.Length - 1
            ReadProcessMemory(pHandle, Address, tmp, IntPtr.Size, 0)
            If IntPtr.Size = 4 Then
                Address = BitConverter.ToInt32(tmp, 0) + Offsets(i).ToInt32()
            Else
                Address = BitConverter.ToInt64(tmp, 0) + Offsets(i).ToInt64()
            End If
        Next
        Return Address
    End Function

    Public Function Obtener_Address()
        Dim p As Process
        For Each p In Process.GetProcesses()
            If Not p Is Nothing Then
                If (LCase(p.ProcessName) = "l2") Then
                    Dim pID As IntPtr = p.Handle
                    Dim base As IntPtr = p.MainModule.BaseAddress
                    ' Colocamos Nuestro Pointer Estatico
                    Dim sptr As IntPtr = &HB5C3320
                    ' Y aqui nuestro Offset segun los necesarios
                    Dim offsets() As IntPtr = {&HF4, &H14, &H308, &HC4, &H0}
                    Dim addr As IntPtr = FindAddress(pID, base, sptr, offsets)
                    Dim f As String
                    f = addr.ToString
                    Return f
                    Exit Function
                End If
            End If
        Next
        Return ("Error")
        ' Obtendremos el Handle y el BaseAddress de nuestro proceso
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MsgBox(Obtener_Address())
    End Sub
End Class

Lo que quiero hacer es obtener el nombre del personaje para el juego Lineage 2 (Interlude) pero siempre me devielve 0, alguno tiene una idea de que es lo que esta pasando.- Muchas gracias
6  Programación / Programación Visual Basic / Re: Utilizar Kill en VB para eliminar archivos en: 12 Septiembre 2010, 18:04 pm
¿En que lenguaje?

En vb seria mas o menos asi , segun lo que entendi.

Código:
Sub Funcion_Kill(direccion as string)
      Kill direccion
End sub

Private sub cmd_Kill_clic()
      Funcion_Kill(lst_listado.list(lst_listado.listindex))
End sub

Eso suponiendo que en el ListBox guardas direccion y nombre del archivo, si solamente guardas la direccion, entonces tenes que concatenarle el nombre del archivo como dice Tesis con el
Código:
& "\" & [Nombre de Archivo]
7  Programación / Programación General / Insertar Modulo en Aplicacion. en: 11 Septiembre 2010, 22:19 pm
Hola Gente del foro, tengo un par de preguntas para ahcerles, estuve haciendo una aplicacion en vb.net que es un cliente/servidor manejado por sokets.

Este programa hace lo siguiente:
1- Al abrir, envia datos de login a la aplicacion servidor con fecha de login, hwid.
2- El servidor recive los datos y los almacena en una base de datos sql, si el hwid esta en la tabla de aceptados, genera un codigo y envia mensaje de continuar con el codigo para aceder a los datos.
3- Esta aplicacion (el cliente) trabaja en conjunto con otra que es de terceros, yo en mi cliente, recivo y envio datos para manejar la conexion como se habran dado cuenta, si el hwid no esta en la tabla, recivo mensaje de cierre de aplicacion, y por medio del cliente mato el proceso en la pc.
4-Cabe aclarar que es absolutamente imperativo que el cliente este corriendo mientras la aplicacion se esta ejecutando.
6-Cada determinado tiempo, el cliente revisa el listado de procesos en busca de determinados programas, que en este caso servirian para interrumpir en el correcto funcionamiento de la aplicacion principal, y asi alterar datos que la aplicacion guarda en una base de datos sql.

Lo que quiero saber es si:
-¿Se puede insertar (inyectar) una dll que haga esto mismo que yo hago en el programa cliente. O insertar otra que me ejecute el cliente cuando abra la aplicacion y me lo mantenga abierto mientras trabajo con el programa, una vez termine, cierre el cliente?
-¿Es recomendable usar la inyeccion de dll?, o ¿hay algun metodo mejor que me permita mantener la aplicacion abierta hasta que se cierre la principal?
-


Aclaro que soy programador, pero nunca en mi vida tuve que hacer algo asi y sinceramente no tengo la mas minima idea de por donde empezar.

Agradeceria sus prontas respuestas, y si son con ejemplo tipo para nene de jardin, por que estuve leyendo inyeccion dll en el foro pero no cazo una.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines