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 - AlxSpy

#81
estoy haciendo un code para buscar datos en la memoria de un proceso uso el readprocessmemory:

Código (vb) [Seleccionar]
Option Explicit

Dim hProcess As Long

Private Sub cmdBusqueda_Click()
   Dim Data As String, Buffer As String, Target As Long
   Dim TmpByte As Byte, TmpInteger As Integer, TmpLong As Long, TmpString As String
   Dim Pos As Long, Address As Long, FirstByte As String
   Dim Fin As Boolean, BytesLeidos As Long, BytesRead As Long
   Dim TotalBytes As Long
   Fin = False
   Address = 0
   If optByte.Value = True Then
       TmpByte = Val(txtData.Text)
       Data = Space(1)
       Call CopyMemory(ByVal Data, TmpByte, 1)
   ElseIf optInteger.Value = True Then
       TmpInteger = Val(txtData.Text)
       Data = Space(2)
       Call CopyMemory(ByVal Data, TmpInteger, 2)
   ElseIf optLong.Value = True Then
       TmpLong = Val(txtData.Text)
       Data = Space(4)
       Call CopyMemory(ByVal Data, TmpLong, 4)
   Else   'String
       Data = txtData.Text
       If optStringUnicode.Value = True Then
           Data = Unicode(Data)
       End If
   End If
   Dim Tmp As String, X As Integer, PID As Long
   X = lstProcesos.ListIndex
   If X = -1 Then Exit Sub
   Tmp = lstProcesos.List(X)
   Pos = InStr(1, Tmp, "*")
   If Pos > 0 Then Tmp = Mid(Tmp, Pos + 1)
   PID = Val(Tmp)
   hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, PID)
   If hProcess = 0 Then
       MsgBox "No se pudo abrir el proceso", vbCritical, ""
       Exit Sub
   End If
   lstDirecciones.Clear
   FirstByte = Mid(Data, 1, 1)
   While (Fin = False)
       Buffer = Space(5000)
       Call ReadProcessMemory(hProcess, Address, Buffer, Len(Buffer), BytesLeidos)
       DoEvents
       If BytesLeidos > 0 Then
           Buffer = Left(Buffer, BytesLeidos)
           Pos = InStr(1, Buffer, FirstByte)
           If Pos > 0 Then
               Call ReadProcessMemory(hProcess, Address + Pos - 1, Buffer, Len(Buffer), BytesRead)
               If BytesRead > 0 Then Buffer = Left(Buffer, BytesRead)
               If Buffer = Data Then
                   Target = Target + Pos - 1 'dato encontrado
                   lstDirecciones.AddItem Target
                   Address = Target + Len(Data)
               Else
                   Address = Address + 1
               End If
           Else
               Address = Address + BytesLeidos
           End If
       End If
       TotalBytes = TotalBytes + BytesLeidos
       If TotalBytes >= 150000000 Then Fin = True
       If BytesLeidos < 5000 Then Fin = True
   Wend

   Call CloseHandle(hProcess)
   Me.Caption = TotalBytes
End Sub

Private Sub cmdRefrescar_Click()
   Dim Proceso As String, pShot As PROCESSENTRY32
   Dim ProcessID As Long, P As Long
   Dim R32Next As Long, hHelp32 As Long
   lstProcesos.Clear
   hHelp32 = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
   pShot.dwSize = Len(pShot)
   R32Next = Process32First(hHelp32, pShot)
   While (R32Next <> 0)
       Proceso = pShot.szExeFile
       P = InStr(1, Proceso, Chr(0))
       If P > 0 Then Proceso = Left(Proceso, P - 1)
       ProcessID = pShot.th32ProcessID
       lstProcesos.AddItem Proceso & Space(5) & "*" & ProcessID
       R32Next = Process32Next(hHelp32, pShot)
   Wend
   Call CloseHandle(hHelp32)
End Sub

Private Sub Form_Load()
   Call cmdRefrescar_Click
End Sub


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 (vb) [Seleccionar]
Call ReadProcessMemory(hProcess, Address, ByVal Buffer, Len(Buffer), BytesLeidos)

Código (vb) [Seleccionar]
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
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
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
ah si el unclose, pero digo que sea puramente .exe sin tener que crear un dll.
#85
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
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
Cita de: Psyke1 en 28 Mayo 2011, 01:57 AM
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
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
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
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?,