buenas, queria saber como puedo redireccionar la ip de un proceso..
yo lo redirecciono con rpe filter ejemplo la ip 190.234.543.2:10300 la redirecciono a 127.0.0.0.1:10300 queria saber si se puede hacer por codigos en vb6.
HOLA!!!
Si, podes, Archivos de hosts.
GRACIAS POR LEER!!!
Cita de: 79137913 en 18 Marzo 2014, 17:28 PM
HOLA!!!
Si, podes, Archivos de hosts.
GRACIAS POR LEER!!!
Estoy buscando algo que sea por codigo en visual basic, leyendo un proceso..
pense que se podria hacer por memoria..
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long
Declare Function EnumWindows Lib "user32" (ByVal wndenmprc As Long, ByVal lParam As Long) As Long
Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Declare Function GetClassName Lib "user32.dll" Alias "GetClassNameA" (ByVal hWnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Const ProAcceall As Long = &H1F0FFF
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hWnd As Long, lpdwProcessId As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseox As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Private Declare Function WriteString Lib "kernel32" Alias "WriteProcessMemory" (ByVal hProcess As Long, ByVal lpBaseox As Any, ByVal lpBuffer As Any, ByVal nSize As Long, ByVal lpNumberOfBytesWritten As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Dim NombreVentana As String, TexoRm As String, TexoOriginal As String, Direccion As Long 'variables para utilzar con la memoria
Public Sub Started(Nom As String, t As String, d As String, p As Long) 'funcion que inicia la secuenia
NombreVentana = Nom 'nombre de la ventana a buscar o parte de ella
TexoRm = t 'texto a introducir
TexoOriginal = d 'texto original
Direccion = p 'direccionn de memoria
Call EnumWindows(AddressOf EnumCallback, 0) 'almacena los nombres obtenidos de ventanas ejecucion
End Sub
Private Function EnumCallback(ByVal A_hwnd As Long, ByVal param As Long) As Long
Dim Size_buffer As Long, buffer As String * 256
Dim str As String
Size_buffer = GetWindowText(A_hwnd, buffer, Len(buffer))
If InStr(1, Left$(buffer, Size_buffer), NombreVentana) > 0 Then
str = ReadMem(A_hwnd, Direccion, LenB(TexoOriginal), TexoRm)
Exit Function
End If
EnumCallback = 1
End Function
Private Function ReadMem(hWnd As Long, Ox As Long, Bytes As Long, Optional Rempla As String) As String
On Error Resume Next
Dim Id As Long, sHandle As Long, bytValue As Long, i As Long, Text As String
GetWindowThreadProcessId hWnd, Id
sHandle = OpenProcess(ProAcceall, False, Id)
If (sHandle = 0) Then
Exit Function
End If
If Ox = 0 Then Exit Function
For i = 1 To Bytes Step 2
ReadProcessMemory sHandle, Ox + i - 1, bytValue, 1, 0&
ReadMem = ReadMem & Chr$(bytValue)
Next
If LenB(Rempla) <> 0 Then
WriteString sHandle, Ox, StrPtr(Rempla), LenB(Rempla), 0&
End If
CloseHandle sHandle
End Function
usando esto pero no tengo la minima ideá de como sacar el offset de la ip con cheat engine, si alguien podria tirarme una mano..
lo más probable es que la ip no esté en el programa en formato humano (127.0.0.1) sino en formato numerico (que por ejemplo para el caso de 127.0.0.1 creo que es 2130706433)
HOLA!!!
Osea, queres editar el valor en memoria de la ip con la que se conecta un exe...
Si, es posible, pero automatizarlo es muy dificil, un humano puede encontrar la direccion de memoria en la que se encuentra un ip (puede estar cifrada lo que te dificultaria mas las cosas pero siempre se "podria llegar a encontrar") pero una pc, es muy dificil que tenga la IA suficiente para disernir que es ip y que no...
Por ejemplo suponete que armas un programa que cambie todos los strings que quepan en este patron: "000.000.000.000" Si el programa en algun sitio dice " conectando a... " diria 127.0.0.1 lo cual te delataria, aparte de poder romper algoritmos internos del programa o comprobaciones de validez que realice para ver si es el ip correcto o no. Imagina que tiene 2 strings el primero : "1.2.3.4" y el segundo "4.3.2.1" luego los comprueba con StrRev. tu codigo cambiaria ambos por 127.0.0.1 y la comprobacion no seria correcta.
El metodo mas prolijo siempre es Archivo de Hosts por que el programa siempre cree que se conecta con el IP que el quiere.
GRACIAS POR LEER!!!
Cita de: 79137913 en 19 Marzo 2014, 12:33 PM
HOLA!!!
Osea, queres editar el valor en memoria de la ip con la que se conecta un exe...
Si, es posible, pero automatizarlo es muy dificil, un humano puede encontrar la direccion de memoria en la que se encuentra un ip (puede estar cifrada lo que te dificultaria mas las cosas pero siempre se "podria llegar a encontrar") pero una pc, es muy dificil que tenga la IA suficiente para disernir que es ip y que no...
Por ejemplo suponete que armas un programa que cambie todos los strings que quepan en este patron: "000.000.000.000" Si el programa en algun sitio dice " conectando a... " diria 127.0.0.1 lo cual te delataria, aparte de poder romper algoritmos internos del programa o comprobaciones de validez que realice para ver si es el ip correcto o no. Imagina que tiene 2 strings el primero : "1.2.3.4" y el segundo "4.3.2.1" luego los comprueba con StrRev. tu codigo cambiaria ambos por 127.0.0.1 y la comprobacion no seria correcta.
El metodo mas prolijo siempre es Archivo de Hosts por que el programa siempre cree que se conecta con el IP que el quiere.
GRACIAS POR LEER!!!
Por host no me sirve porque es un proxy que lee paquetes..
osea la ip del juego es 193.49.123.4:1033
el proxy conecta a esa ip y el juego tendría que estar en 127.0.0.1:1033 para que conecte el proxy.
si lo hago por archivo de hosts me redirreciona el proxy a 127.0.0.1:1033 y no me sirve.
por eso.
si alguien podria explicarme como sacar el offset de una ip por cheat engine o lo que sea para editar la memoria de la ip.
HOLA!!!
Hahah...
Eso es juego de niños!
En una pc instalas un Proxy y en tu pc redireccionas la conexión a 127.0.0.1
Osea
Archivo de host en tu pc:
193.49.123.4 -> 127.0.0.1
Diagrama:
Juego -> conecta con tu programa -> tu programa manda los paquetes al proxy en la otra maquina -> La otra maquina los manda al servidor.
Diras... "pero no tengo 2 pcs"
Diré... "Usa Maquinas virtuales"
GRACIAS POR LEER!!!