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

#31
Citarholas de nuevo, pero que juego es?

el link que te puse de ejemplo en que resulto? (readprocessmemory), leia algo de datos o te devolvia nulo o nada?

hay 2 codigos fuentes del cheat engine pero esta en delphi, ahi podrias ver como funciona.

edit:
tambien intente cambiando el titulo, nombre del programa pero nada.

y si cambias el titulo de este post por otro que lleve la palabra "cheat", aqui hay usuarios que saben eso de buscar en la memoria y hacer cheat y podrian darte una ayuda con eso, y kizas de paso hacen un tutorial sobre eso y aprendemos xD.
#32
para obtener el ip de tu pc lo mas facil seria que uses el control winsock:

Código (vb) [Seleccionar]
   Dim MiIP As String
   MiIP = Winsock1.LocalIP
   Me.Caption = MiIP


Para que tu prog. se ejecute deberias agregarlo al registro de windows, la clave donde debes poner el valor es:

HKEY_LOCAL_MACHINE->SOFTWARE->Microsoft->Windows->CurrentVersion ->Run
#33
holas de nuevo, pero que juego es?
por que dices que no funciona el cheat engine? lo detecta como hack o simplemente no encuentra los datos que buscas?
#34
te quedo bien, pero  una duda en algunos TLabel que inserte luego de un rato aparecen unas rayas diagonales , como se las quito?
#35
compila el proyecto, lo probe en XP y 7 y si me anda.
#36
consiste en escribir una funcion de usuario publica con los parametros que tendria la funcion api, luego  sobreescribir el inicio de esa funcion con la instruccion en ensablador "jmp" (salto a una direccion) para saltar a una direccion que seria la direccion de la api que queremos llamar, luego al llamar a esa funcion de usuario ejecutariamos la api, ejemplo de como llamar a ShowWindow sin haberlo puesto en la sección Declaraciones:

en un form1: (abrir el notepad para ocultarlo y volverlo visble)

form1
Código (vb) [Seleccionar]
'form1
'agregar controles:
'1 command1
'1 command2

Option Explicit


Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long

Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)

Private Declare Function VirtualProtect Lib "kernel32" (lpAddress As Any, ByVal dwSize As Long, ByVal flNewProtect As Long, lpflOldProtect As Long) As Long



Dim hModule As Long
Dim DirProc As Long
Dim DirMiFun As Long
Dim Codigo(1 To 20) As Byte
Dim Distancia As Long
Dim ViejaProte As Long

Const jmp = &HE9

Const PAGE_EXECUTE_READWRITE As Long = &H40


Private Sub Command1_Click()
   Dim hwnd As Long
   hwnd = FindWindow("notepad", vbNullString)
   If hwnd = 0 Then
       MsgBox "No se encontro el notepad", vbCritical, ""
       Exit Sub
   Else
       Call MostrarVentana(hwnd, 5)
   End If
End Sub

Private Sub Command2_Click()
   Dim hwnd As Long
   hwnd = FindWindow("notepad", vbNullString)
   If hwnd = 0 Then
       MsgBox "No se encontro el notepad", vbCritical, ""
       Exit Sub
   Else
       Call MostrarVentana(hwnd, 0)
   End If
End Sub

Private Sub Form_Load()
   hModule = GetModuleHandle("user32")
   DirProc = GetProcAddress(hModule, "ShowWindow")
   DirMiFun = ObtenerMiDir(AddressOf MostrarVentana)
   Distancia = DirProc - DirMiFun - Len(Distancia) - 1
   'intenta cambiar los atributos de esa zona de memoria para sobreescribirlo
   'si se sobreescribe sin cambiar los atributos la aplicacion se cerrara
   If VirtualProtect(ByVal DirMiFun, 1 + Len(Distancia), PAGE_EXECUTE_READWRITE, ViejaProte) <> 0 Then
       Codigo(1) = jmp
       Call CopyMemory(Codigo(2), Distancia, Len(Distancia))
       Call CopyMemory(ByVal DirMiFun, Codigo(1), 1 + Len(Distancia))
       MsgBox "Listo", vbInformation, ""
   Else
       MsgBox "No se pudo cambiar los atributos de la region de memoria: " & DirMiFun & " (MostrarVentana)", vbCritical, ""
   End If
   Command1.Caption = "notepad visible"
   Command2.Caption = "notepad oculto"
End Sub

Private Function ObtenerMiDir(FunAddress As Long) As Long
   ObtenerMiDir = FunAddress
End Function



module1.bas
Código (vb) [Seleccionar]
Option Explicit


Public Function MostrarVentana(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
   'esto es nada mas para que tenga un sitio donde sobreescribir, por
   'seguridad sin que vaya afectar a otras instrucciones
   Dim algo As Boolean
   algo = True
   algo = False
End Function



edit:
para que funcione compilen el proyecto.
#37
uhmm tengo poco conocimiento sobre manejo de la memoria , lo que intentaria : usar el ReadProcessMemory para buscar el dato en el proceso (el juego), en el link hay un ejemplo de  como puedes buscar una cadena en un proceso :

http://foro.elhacker.net/analisis_y_diseno_de_malware/ocultar_proceso_en_taskmgr_sin_hooks_parte2-t99549.0.html

weno ese te puede servir de ejemplo para hacer un nuevo codigo que busque el dato en el proceso que kieras, asi obtendrias la direccion de memoria de ese dato que buscas, y pues luego con un timer lees a cada momento esa direccion de memoria en la que encontraste ese datoy y listo.

sino puedes revisar este post que trata de inyeccion de una dll en el que cambian el comportamiento del juego de windows  "buscaminas" (para mi esto es avansado):

http://foro.elhacker.net/asm/tutoinyeccion_dll_%E2%80%93_full_api-t282673.0.html

ultimo recurso busca el "cheat engine" que es un programa que busca datos en la memoria de un proceso.
#38
ya lo entendi al 100% gracias, y tienes razon el uso del "As Any" es una mala practica, a veces confunde.
#39
ese problemilla igual lo tenia yo al intentar obtener los HWND de las ventanas del GunBound, pues pasa que en los juegos esas no son ventanas sino solo son graficos.
#40
CitarEl buscador no muerde ni mato a nadie
xD

otro link:
http://www.recursosvisualbasic.com.ar/htm/tutoriales/tutorial-api1.htm