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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14
81  Programación / Programación Visual Basic / ayuda, uso del ReadProcessMemory VB6.0 en: 7 Junio 2011, 20:54 pm
estoy haciendo un code para buscar datos en la memoria de un proceso uso el readprocessmemory:

Código
  1. Option Explicit
  2.  
  3. Dim hProcess As Long
  4.  
  5. Private Sub cmdBusqueda_Click()
  6.    Dim Data As String, Buffer As String, Target As Long
  7.    Dim TmpByte As Byte, TmpInteger As Integer, TmpLong As Long, TmpString As String
  8.    Dim Pos As Long, Address As Long, FirstByte As String
  9.    Dim Fin As Boolean, BytesLeidos As Long, BytesRead As Long
  10.    Dim TotalBytes As Long
  11.    Fin = False
  12.    Address = 0
  13.    If optByte.Value = True Then
  14.        TmpByte = Val(txtData.Text)
  15.        Data = Space(1)
  16.        Call CopyMemory(ByVal Data, TmpByte, 1)
  17.    ElseIf optInteger.Value = True Then
  18.        TmpInteger = Val(txtData.Text)
  19.        Data = Space(2)
  20.        Call CopyMemory(ByVal Data, TmpInteger, 2)
  21.    ElseIf optLong.Value = True Then
  22.        TmpLong = Val(txtData.Text)
  23.        Data = Space(4)
  24.        Call CopyMemory(ByVal Data, TmpLong, 4)
  25.    Else   'String
  26.        Data = txtData.Text
  27.        If optStringUnicode.Value = True Then
  28.            Data = Unicode(Data)
  29.        End If
  30.    End If
  31.    Dim Tmp As String, X As Integer, PID As Long
  32.    X = lstProcesos.ListIndex
  33.    If X = -1 Then Exit Sub
  34.    Tmp = lstProcesos.List(X)
  35.    Pos = InStr(1, Tmp, "*")
  36.    If Pos > 0 Then Tmp = Mid(Tmp, Pos + 1)
  37.    PID = Val(Tmp)
  38.    hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, PID)
  39.    If hProcess = 0 Then
  40.        MsgBox "No se pudo abrir el proceso", vbCritical, ""
  41.        Exit Sub
  42.    End If
  43.    lstDirecciones.Clear
  44.    FirstByte = Mid(Data, 1, 1)
  45.    While (Fin = False)
  46.        Buffer = Space(5000)
  47.        Call ReadProcessMemory(hProcess, Address, Buffer, Len(Buffer), BytesLeidos)
  48.        DoEvents
  49.        If BytesLeidos > 0 Then
  50.            Buffer = Left(Buffer, BytesLeidos)
  51.            Pos = InStr(1, Buffer, FirstByte)
  52.            If Pos > 0 Then
  53.                Call ReadProcessMemory(hProcess, Address + Pos - 1, Buffer, Len(Buffer), BytesRead)
  54.                If BytesRead > 0 Then Buffer = Left(Buffer, BytesRead)
  55.                If Buffer = Data Then
  56.                    Target = Target + Pos - 1 'dato encontrado
  57.                    lstDirecciones.AddItem Target
  58.                    Address = Target + Len(Data)
  59.                Else
  60.                    Address = Address + 1
  61.                End If
  62.            Else
  63.                Address = Address + BytesLeidos
  64.            End If
  65.        End If
  66.        TotalBytes = TotalBytes + BytesLeidos
  67.        If TotalBytes >= 150000000 Then Fin = True
  68.        If BytesLeidos < 5000 Then Fin = True
  69.    Wend
  70.  
  71.    Call CloseHandle(hProcess)
  72.    Me.Caption = TotalBytes
  73. End Sub
  74.  
  75. Private Sub cmdRefrescar_Click()
  76.    Dim Proceso As String, pShot As PROCESSENTRY32
  77.    Dim ProcessID As Long, P As Long
  78.    Dim R32Next As Long, hHelp32 As Long
  79.    lstProcesos.Clear
  80.    hHelp32 = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
  81.    pShot.dwSize = Len(pShot)
  82.    R32Next = Process32First(hHelp32, pShot)
  83.    While (R32Next <> 0)
  84.        Proceso = pShot.szExeFile
  85.        P = InStr(1, Proceso, Chr(0))
  86.        If P > 0 Then Proceso = Left(Proceso, P - 1)
  87.        ProcessID = pShot.th32ProcessID
  88.        lstProcesos.AddItem Proceso & Space(5) & "*" & ProcessID
  89.        R32Next = Process32Next(hHelp32, pShot)
  90.    Wend
  91.    Call CloseHandle(hHelp32)
  92. End Sub
  93.  
  94. Private Sub Form_Load()
  95.    Call cmdRefrescar_Click
  96. End Sub
  97.  

el codigo abre el proceso seleccionado normalmente pero al ejecutar el readprocessmemory , este no lee nada de memoria, al final del cmdBusqueda_Click agregue "me.caption = TotalBytes" (total de bytes leidos) para ver cuantos bytes lee pero siempre me da "0", intente usar el string buffer con byval y sin byval pero igual no lee:

Código
  1. Call ReadProcessMemory(hProcess, Address, ByVal Buffer, Len(Buffer), BytesLeidos)

Código
  1. Call ReadProcessMemory(hProcess, Address, Buffer, Len(Buffer), BytesLeidos)


en google encontre esta declaracion del api:

Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByVal lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long

tambien encontre otra casi  igual excepto que el parametro lpBuffer no tiene byval, he intentado con ambas formas pero no da resultado.
82  Programación / Programación Visual Basic / ¿como crear librerias .tlb para VB 6.0? en: 7 Junio 2011, 03:03 am
tengo que hacer una dll estandar usando el prog. vbadvanced, y necesito meter las apis en una libreria .tlb para llamarlas desde esa dll estandar hecha en VB 6.0.
83  Programación / Programación Visual Basic / Re: ¿es posible hacer un proceso "duro de matar" ? VB 6.0 en: 6 Junio 2011, 06:27 am
aya , ese valor esta tambien en la clave EvenLog y las subclaves Start, Error y otras mas que tienen un valor hexadecimal, msdn habla sobre C++, en c++ creo que es "return ERROR_SUCESS" (satisfactorio),weno el valor ya tengo, ¿como le pasaria a windows ese valor desde VB6.0? ¿alguna idea?
84  Programación / Programación Visual Basic / Re: ¿es posible hacer un proceso "duro de matar" ? VB 6.0 en: 5 Junio 2011, 03:40 am
ah si el unclose, pero digo que sea puramente .exe sin tener que crear un dll.
85  Programación / Programación Visual Basic / ¿es posible hacer un proceso "duro de matar" ? VB 6.0 en: 5 Junio 2011, 01:12 am
en mi maq. virtual winXP intente esto: me fije en el registro de windows las claves de algunos procesos de sistema y servicios :"spool.exe" , e hice una copia de esas claves cambiandole nada mas por la ruta de mi programa, y reiniciaba mi maquina virtual, al iniciar el SO tardaba mas de lo normal, pero mi programa se ejecutaba solo y aparecia como "SYSTEM" en el taskmgr pero se podia cerrar facilmente como cualkier otro, ademas se cerraba  solo a los 30 segundos, volvia a ejecutarlo usando el cmd: "NET START MY_EXE", y revivia pero volvia a cerrarse a los 30 seg.

sera posible que un programa sea "interminable",puramente un .exe sin tener que crear dll, que no se pueda cerrar ni con el taskmgr ni con el taskkill?,
86  Programación / Programación Visual Basic / Re: ¿como leer los pixeles de una ventana minimizada-oculta? VB 6.0 en: 28 Mayo 2011, 19:14 pm
hola seba123neo el game si tiene el modo ventana y modo pantalla completa, en modo ventana no me funciona : el juego se queda congelado y ahi se queda, por eso que debe ser en pantalla completa.

Krähne : jajaja weno si es mas o menos eso que quiero hacer, lo que pasa es que encontre un codigo en visual c++ de alguien llamado "TheJhorse" que contiene esa formulita de disparos perfectos, y pues intentye hacer algo asi como una adaptacion para que funcione en gunbound pero tengo esos inconvenientes, ahora.. no no quiero demostrar ninguna hazaña ni nada porque la formula no es mia y el code que hice no es gran cosa comparado con los VERDADEROS aimbot hechos por "jean paul" o "thejhorse" u otros,  menos quiero traer publicidad a ningun foro ni atraer noobs yo tampoco soy experto, el programa quiero para mi uso, esos aimbots que dices creo que se tienen que hacer un pago y en un tiempo se desactializan.

weno pues quisiera hacer el code y si dejara de funcionar el prog. , pues solo arreglaria un poco el codigo sin esperar a que aparezca otro aimbot por ahi, este es el principal motivo por el que quiero hacer esto.
Cualquier ayuda se agradece.
salu2
87  Programación / Programación Visual Basic / Re: ¿como dibujar un circulo pixel a pixel? VB 6.0 en: 28 Mayo 2011, 18:48 pm
Google, Wikipedia y a probar. :silbar:

DoEvents! :P

jajja muy gracioso  :laugh:  .

graxias  :D Blackzero toi que leo ese post que dejaste no lo recordaba, ya estoi empezando a entender.
88  Programación / Programación Visual Basic / ¿como leer los pixeles de una ventana minimizada-oculta? VB 6.0 en: 28 Mayo 2011, 01:00 am
necesito leer  los pixeles de la ventana de un game que ocupa toda la pantalla, intente usar GetPixel al Device context de la ventana pero no funciono (creo que porque el game refresca a cada rato la pantalla) , se me ocurrio usar keybd_event + el codigo de PRINT_SCREEN (tecla de capturar pantalla), luego pasar la captura de pantalla a un picture: picture1.picture = clipboard.getdata, hasta aqui todo bien, ahora intente usar getpixel al picture1.hdc para leer los pixeles y funciona solo cuando la ventana de mi programa este activa y el game minimizado, ahora lo que necesito es que mi programa lea los pixeles mientras este activa la ventana del game y no se puede. ¿alguna idea de como hacer esto?

el game es gunbound, los pixeles que quiero leer son el angulo y el viento.
89  Programación / Programación Visual Basic / Re: ¿como dibujar un circulo pixel a pixel? VB 6.0 en: 27 Mayo 2011, 23:32 pm
weno si, me explico: eso es justamente lo que estoy haciendo guardo las coordenadas y luego las lee mi prog. , pero... y si quiero cambiar el radio tendre que crear otro archivo y otro y otro para cada radio distinto, entonces ¿como podria dibujar circulos pixel a pixel sin tener que recurrir a leer archivos?, weno ya me diste mas o menos una idea de por donde empezar a buscar: "trigonometria", pero si pudieras dar una ayudita màs se agradece.
saludos.
90  Programación / Programación Visual Basic / ¿como dibujar un circulo pixel a pixel? VB 6.0 en: 27 Mayo 2011, 16:28 pm
hola quisiera dibujar una circulo en el que cada pixel del circulo tenga un color distinto, para eso lo que hago primero es dibujar un circulo con un color blanco y radio 25 con AngleArc en un form, luego una funcion se encarga de buscar los pixeles blancos que componen ese circulo y luego lo que hace es guardar las coordenadas de esos pixeles blancos en un archivo, ahora otro programa carga las coordenadas de ese fichero y pues pinta los pixeles especificados por esas coordenadas en una ventana que le indique (cada pixel con un color diferente), el problema es que si quiero cambiar el tamaño del circulo (radio), pues tengo que guardar un archivo con las coordenadas por cada nuevo circulo que haga,weno y entre otras cosas que necesito hacer tambien esta recorrer y leer los pixeles de una ventana dando vueltas (en circulos).
 ¿sabran alguna idea mas o menos o formula para no depender de este metodo?,
Páginas: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines