Título: Traducir de C++ a VB6 Publicado por: Rigoberta II 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 ) Código: #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); } Título: Re: Traducir de C++ a VB6 Publicado por: raul338 en 19 Abril 2012, 01:56 am Identifica las funciones de windows y solo las conviertes a API con sus respectivos tipos y punteros en las llamadas. Algo tedioso pero simple
FindWindows, OpenProcess y Tokens, encontrás usos y declaraciones para vb6 en google fácilmente, solo convertí las llamadas Título: Re: Traducir de C++ a VB6 Publicado por: Rigoberta II en 13 Mayo 2012, 01:11 am No entiendo como hacer eso..
Necesito redireccionar el ip por el que yo quiero especie de proxy Ip antigua : la del juego y IP nueva : 127.0.0.1 asi tiene que quedar alguien me ayuda plix? En lo posible tiene que ser en visual basic 6 Título: Re: Traducir de C++ a VB6 Publicado por: rembolso en 13 Mayo 2012, 02:17 am mira te e echo un ejemplo muy rapido. no lo e probado, seguro tiene errores pero es lo q buscas, estoy apurado por irme de joda. cuando llegue te lo mejoro .
Código
Título: Re: Traducir de C++ a VB6 Publicado por: Rigoberta II en 13 Mayo 2012, 04:57 am Dale dale xd gracias, fijate si podes escribirme como funciona cada parte
|