|
Mostrar Mensajes
|
Páginas: 1 [2]
|
11
|
Programación / Programación Visual Basic / Traducir de C++ a VB6
|
en: 19 Abril 2012, 01:46 am
|
Hola, necesito ver si alguien sabe o conoce algun code parecido a este pero en VB6 ya que esta hecho en C++/C. Su función es modificar/cambiar/redireccionar la ip del juego por la de localhost ( 127.0.0.1 ) #include <windows.h> #include <iostream> using namespace std; void EnableDebugPriv(); //Nos aumentamos los privilegios, para evitar problemas con permisos... (Ring 3) void main() { BYTE newvalue[] = {0x31, 0x00, 0x32, 0x00, 0x37, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; //Este es el valor en hexadecimal, de la cadena: 1 2 7 . 0 . 0 . 1 (rellenamos con 0 los numeros del IP antiguo sobrantes) HWND hwnd = FindWindow(0, "Solitario"); //Buscamos la ventana de nuestro juego/proceso (Yo hice la prueba con Solitario) DWORD pid;//Declaramos la variable PID para almacenar el ID de nuestro juego/proceso if(!hwnd) //Si no encontramos la ventana (el handle es nulo) { cout << "Error: No se pudo encontrar la ventana!" << endl; system("pause"); exit(0); } else { GetWindowThreadProcessId(hwnd, &pid); //Obtenemos el Id del proceso (PID) en base al handle que nos devuelve FindWindow HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid); //Abrimos el proceso con acceso total (lectura, escritura) if(!hProcess) //Si no encontramos el juego/proceso (...) { cout << "Error: No se pudo abrir el handle" << endl; system("pause"); exit(0); } else //En caso contrario { if (WriteProcessMemory(hProcess, //Juego/Proceso a modificar (LPVOID)0x0100700C, //Direccion de memoria a modificar (Que en tu caso, si no es dinamica deberia ser: 0x0028B244) &newvalue, //Nuevos bytes a cambiar (en tu caso el nuevo IP) sizeof(newvalue), //Tamano de los bytes a modificar NULL)) //Este parametro lo podemos dejar nulo cout << "Memoria editada con exito!" << endl; //Exito! else cout << "Fallo al editar la memoria!" << endl; //Memoria no existente o protegida } CloseHandle(hProcess); //Cerramos el handle abierto anteriormente } system("pause"); } void EnableDebugPriv() { HANDLE hToken; LUID sedebugnameValue; TOKEN_PRIVILEGES tkp; OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken); LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &sedebugnameValue); tkp.PrivilegeCount = 1; tkp.Privileges[0].Luid = sedebugnameValue; tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken, false, &tkp, sizeof tkp, NULL, NULL); CloseHandle(hToken); }
|
|
|
13
|
Programación / Programación Visual Basic / Re: Enviar paquetes a un proceso
|
en: 14 Abril 2012, 02:59 am
|
Dunkan te molestaria explicarme una cosa por msn? Lei tus mensajes y estas en la misma que yo :p Ya encontre el offset, lo puse WriteLocalhost OFFSET, "VENTANA", "1294808515516,8305" Pero no logro conectar departe del winsock Private Sub Cliente_ConnectionRequest(Index As Integer, ByVal requestID As Long) On Error Resume Next Cliente(0).Close For a = 1 To 2 If Cliente(a).State = 0 Then Server(a).Close Server(a).RemoteHost = "127.0.0.1" Server(a).RemotePort = 7666 Server(a).Connect Cliente(a).Accept requestID
Form load : Cliente(0).Close Cliente(0).LocalPort = 7666 Cliente(0).Listen End Sub
Me dice que el puerto esta en uso, haciendo netstat tiene algo que ver? Osea El local de 7666 me figura como 9148 si lo hago asi me sigue tirando Address in use y me remarca Cliente(0).listen
|
|
|
14
|
Programación / Programación Visual Basic / Re: Enviar paquetes a un proceso
|
en: 13 Abril 2012, 22:52 pm
|
ya si no tenes tanta experiencia en vb o te acabas de iniciar tampoco te penses que laburar con dll y apis es facil, se requiere de logica bla y blabla suerte.
Estudio hace mucho tiempo este lenguaje, no me especifique nunca en este area, sino que el estudio era general. Y respondiendo a blackzerox he buscado bastante en google pero o no funcionaban o no servian para realizar lo que yo queria. Alguien me explica a como conseguir el pointer/offset del programa/proceso/ventana de un archivo? Ese que empieza con &H........... creo que se saca con el engine buscando la ip del proceso. Pero no logro entender como funciona.
|
|
|
16
|
Programación / Programación Visual Basic / Enviar paquetes a un proceso
|
en: 12 Abril 2012, 00:17 am
|
Hola, mi consulta es la siguiente, hace tiempo estoy intentando hacer un programa en vb6 que envié paquetes modificados a un servidor así como funciona el Rpe Filter, Wpe Pro y demás programas.(Seleccionas un proceso y escuchas todos los datos que se comunican sv/cliente y tiene su respectiva propiedad Send y rcmv ) He leído todos los post y ninguno me resulto, por lo tanto me gustaría saber como hacer esto. Lei algo de VBPCAP.DLL (Dll Packet Capture ) alguien entiende de esto? Porque no tengo la menor pálida idea. O sino como sacar el offset(pointer,address) de un proceso/ventana o lo que fuese estuve mirando en el cheat engine buscando la IP y luego copiaba el valor que me daba pero no me resulta.
|
|
|
|
|
|
|