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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14
31  Programación / Programación Visual Basic / Re: Controlar programa externo en: 15 Julio 2011, 18:47 pm
Citar
holas 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  Programación / Programación Visual Basic / Re: [pregunta] Sobre una aplicación que quiero hacer en vb6 en: 14 Julio 2011, 19:43 pm
para obtener el ip de tu pc lo mas facil seria que uses el control winsock:

Código
  1.    Dim MiIP As String
  2.    MiIP = Winsock1.LocalIP
  3.    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  Programación / Programación Visual Basic / Re: Controlar programa externo en: 14 Julio 2011, 19:36 pm
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  Programación / Programación Visual Basic / Re: [APORTE] ucTabs (Reemplaza a SSTabDialog) en: 13 Julio 2011, 17:12 pm
te quedo bien, pero  una duda en algunos TLabel que inserte luego de un rato aparecen unas rayas diagonales , como se las quito?
35  Programación / Programación Visual Basic / Re: otra forma de llamar a una funcion de una DLL en: 12 Julio 2011, 16:50 pm
compila el proyecto, lo probe en XP y 7 y si me anda.
36  Programación / Programación Visual Basic / otra forma de llamar a una funcion de una DLL en: 12 Julio 2011, 16:33 pm
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
  1. 'form1
  2. 'agregar controles:
  3. '1 command1
  4. '1 command2
  5.  
  6. Option Explicit
  7.  
  8.  
  9. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  10.  
  11. Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
  12.  
  13. Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
  14.  
  15. Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)
  16.  
  17. Private Declare Function VirtualProtect Lib "kernel32" (lpAddress As Any, ByVal dwSize As Long, ByVal flNewProtect As Long, lpflOldProtect As Long) As Long
  18.  
  19.  
  20.  
  21. Dim hModule As Long
  22. Dim DirProc As Long
  23. Dim DirMiFun As Long
  24. Dim Codigo(1 To 20) As Byte
  25. Dim Distancia As Long
  26. Dim ViejaProte As Long
  27.  
  28. Const jmp = &HE9
  29.  
  30. Const PAGE_EXECUTE_READWRITE As Long = &H40
  31.  
  32.  
  33. Private Sub Command1_Click()
  34.    Dim hwnd As Long
  35.    hwnd = FindWindow("notepad", vbNullString)
  36.    If hwnd = 0 Then
  37.        MsgBox "No se encontro el notepad", vbCritical, ""
  38.        Exit Sub
  39.    Else
  40.        Call MostrarVentana(hwnd, 5)
  41.    End If
  42. End Sub
  43.  
  44. Private Sub Command2_Click()
  45.    Dim hwnd As Long
  46.    hwnd = FindWindow("notepad", vbNullString)
  47.    If hwnd = 0 Then
  48.        MsgBox "No se encontro el notepad", vbCritical, ""
  49.        Exit Sub
  50.    Else
  51.        Call MostrarVentana(hwnd, 0)
  52.    End If
  53. End Sub
  54.  
  55. Private Sub Form_Load()
  56.    hModule = GetModuleHandle("user32")
  57.    DirProc = GetProcAddress(hModule, "ShowWindow")
  58.    DirMiFun = ObtenerMiDir(AddressOf MostrarVentana)
  59.    Distancia = DirProc - DirMiFun - Len(Distancia) - 1
  60.    'intenta cambiar los atributos de esa zona de memoria para sobreescribirlo
  61.    'si se sobreescribe sin cambiar los atributos la aplicacion se cerrara
  62.    If VirtualProtect(ByVal DirMiFun, 1 + Len(Distancia), PAGE_EXECUTE_READWRITE, ViejaProte) <> 0 Then
  63.        Codigo(1) = jmp
  64.        Call CopyMemory(Codigo(2), Distancia, Len(Distancia))
  65.        Call CopyMemory(ByVal DirMiFun, Codigo(1), 1 + Len(Distancia))
  66.        MsgBox "Listo", vbInformation, ""
  67.    Else
  68.        MsgBox "No se pudo cambiar los atributos de la region de memoria: " & DirMiFun & " (MostrarVentana)", vbCritical, ""
  69.    End If
  70.    Command1.Caption = "notepad visible"
  71.    Command2.Caption = "notepad oculto"
  72. End Sub
  73.  
  74. Private Function ObtenerMiDir(FunAddress As Long) As Long
  75.    ObtenerMiDir = FunAddress
  76. End Function
  77.  


module1.bas
Código
  1. Option Explicit
  2.  
  3.  
  4. Public Function MostrarVentana(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
  5.    'esto es nada mas para que tenga un sitio donde sobreescribir, por
  6.    'seguridad sin que vaya afectar a otras instrucciones
  7.    Dim algo As Boolean
  8.    algo = True
  9.    algo = False
  10. End Function
  11.  


edit:
para que funcione compilen el proyecto.
37  Programación / Programación Visual Basic / Re: Controlar programa externo en: 12 Julio 2011, 16:03 pm
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  Programación / Programación Visual Basic / Re: [DUDA] paso por valor o por referencia (byval/ byref) en: 12 Julio 2011, 15:45 pm
ya lo entendi al 100% gracias, y tienes razon el uso del "As Any" es una mala practica, a veces confunde.
39  Programación / Programación Visual Basic / Re: Controlar programa externo en: 12 Julio 2011, 01:38 am
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  Programación / Programación Visual Basic / Re: ayuda para Apagar la compu en VB en: 11 Julio 2011, 18:10 pm
Citar
El buscador no muerde ni mato a nadie
xD

otro link:
http://www.recursosvisualbasic.com.ar/htm/tutoriales/tutorial-api1.htm
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