Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo realizar asistencia en el juego? ¿Qué herramientas se necesitan?

¿Cómo realizar asistencia en el juego? ¿Qué herramientas se necesitan?

1 Principios de las herramientas auxiliares del juego

Existen muchos tipos de herramientas auxiliares, como simular teclados y ratones, modificar paquetes de datos y modificar la memoria local, pero parece que no hay ninguna modificación en la memoria del servidor, ¡jaja! De hecho, hay una manera de modificar el servidor, ¡pero la tecnología es demasiado avanzada para que la gente común pueda comenzar! (Por ejemplo, puedes modificar los datos del servidor invitando al GM a una discoteca, dándole regalos, recolectando dinero, etc., jaja)

Modificar el juego no es más que modificar los datos en la memoria local , o interceptar funciones API, etc. Aquí presentaré todos los métodos que se me ocurren. Espero que todos puedan crear buenas herramientas auxiliares para que los fabricantes de juegos puedan mejorar mejor su tecnología.

Vi un artículo sobre el análisis teórico de Pokémon. Estaba bien escrito, y probablemente era así.

A continuación, explicaré los problemas técnicos con el fin de atraer el jade. 2. Parte de análisis técnico.

1Simula la respuesta del teclado o ratón.

Normalmente usamos

UINT para enviar entrada (

entrada UINT, //recuento de eventos de entrada

entrada LPINPUT, // input Matriz de eventos

int cbSize //Tamaño de la estructura

);Función API

El primer parámetro describe la dimensión de la matriz del segundo parámetro. Dos parámetros contienen eventos de respuesta y usted mismo puede completarlos. Finalmente, el tamaño de esta estructura es muy simple, y es la forma más sencilla de simular un teclado y un mouse, jaja.

Nota: Esta función también tiene una función alternativa:

VOID keybd_event(

BYTE bVk, //código de clave virtual

palabra Sección bScan, //Escanear código

DWORD dwFlags,

ULONG_PTR dwExtraInfo //Otro estado de clave

y

VOID mouse); Event(

DWORD dwFlags, //Opciones de movimiento y clic

DWORD dx, //Posición horizontal o cambio

DWORD dy, //Posición vertical o cambio

DWORD dwData, //movimiento de la rueda

ULONG_PTR dwExtraInfo //información definida por la aplicación

);

Ambos La función es muy simple. Creo que eso es lo que usan los asistentes clave. Jaja, el teclado simulado en la parte superior y el mouse simulado en la parte inferior.

Esta es sólo la parte de simulación. Para conectarnos a un juego, necesitamos encontrar la ventana del juego o la tecla de acceso directo que contiene. Al igual que la clave de activación del asistente de claves, podemos usar la función GetWindow para enumerar ventanas, y también podemos usar la función FindWindow para buscar ventanas de fórmulas (tenga en cuenta que también hay una Findwindow). FindWindow puede encontrar las ventanas secundarias de una ventana. Como botones y otras cosas. Cuando el juego cambia de escena, podemos usar FindWindowEx para determinar algunas características de la ventana actual y determinar si todavía está en esta escena. Hay muchos métodos, como dejar que GetWindowInfo determine algo. Por ejemplo, si no se puede encontrar un botón, significa que se ha cambiado la escena del juego, etc. Algunos juegos no tienen controles, por lo que este método es limitado si deseas coordinar la transformación de la imagen. Esto requiere que utilicemos otros métodos.

En cuanto a las teclas de acceso directo, necesitamos utilizar una biblioteca de enlaces dinámicos, que utiliza tecnología de enlace. Esto también es muy sencillo, puede que todo el mundo lo sepa. De hecho, es un objeto de enlace global y luego se puede utilizar SetWindowHook. Todas las funciones de devolución de llamada están listas para usar y hay muchos ejemplos en Internet, y este tipo de implementación es muy común en herramientas auxiliares. Si alguien todavía no entiende, mire msdn para encontrar SetWindowHook.

Esta biblioteca de enlaces dinámicos es muy útil. No lo subestimes. Puede abarcar todos los espacios de proceso, lo que significa que se puede cargar en todos los juegos.

¡Siempre que lo uses correctamente, te resultará muy útil!

Esto requiere que revises los conocimientos básicos de programación win32 Jaja, ¡lee el libro! 2 Interceptar mensajes

En algunos juegos, el mecanismo de respuesta es simple, basado en mensajes o algo con un temporizador. En este momento, se pueden lograr algunas funciones interesantes interceptando mensajes.

También utilizamos tecnología de enlace para interceptar mensajes, incluidos mensajes del teclado, mensajes del mouse, mensajes del sistema, registros, etc. Otros nos sirven de poco. Solo necesitamos funciones de devolución de llamada para interceptar mensajes. Esto no me permite escribir un ejemplo. De hecho, esto es lo mismo que el anterior, escrito usando SetWindowHook. Es fácil de ver.

En cuanto a qué hacer después de la interceptación, eso es asunto suyo, como procesar algunos de nuestros juicios de datos en cada mensaje del temporizador, o simular un temporizador en un temporizador, luego algunos datos se procesarán dos veces. jaja, las consecuencias no son necesariamente algo bueno, jaja, pero si pones el cálculo de datos en el juego del cliente, puedes cambiar los datos, jaja, ¡pruébalo! Hay muchos usos, puedes pensar en ellos tú mismo, ¡jaja! 3. Intercepción de paquetes de socket

Esta dificultad técnica es mucho mayor que antes, así que prepárate.

En primer lugar, necesitamos reemplazar winSock.dll o winsock32.dll. La función de reemplazo que escribimos debe ser consistente con la función original, es decir, qué tipo de función genera su función. saldrá. La función, los parámetros y el orden de los parámetros deben ser los mismos, y luego podemos llamar a la función real en winSock32.dll en nuestra función.

Primero, podemos reemplazar la ruta desde la biblioteca dinámica al sistema.

En segundo lugar, cuando se inicia nuestra aplicación, podemos cargar la biblioteca dinámica original y usar esta función LoadLibary.

Luego, la entrada de la función Ding Wei utiliza la función GetProcAddress para obtener la dirección de entrada de cada función de socket real.

Cuando el juego está en progreso, llamará a nuestra biblioteca dinámica y luego saltará de nuestra biblioteca dinámica a la dirección de función de la biblioteca dinámica real, para que podamos procesar nuestros propios datos allí. todos sean datos. jeje!

Además de la emoción, también tenemos que analizar los paquetes de datos interceptados para poder responder correctamente. ¡No penséis que el trabajo se acaba así, jaja! Aún es temprano. Después del análisis, tenemos que simular el mecanismo de respuesta para comunicarnos con el servidor. Si no tenemos cuidado, nos bloquearán. ¡Jaja, me bloquearán mucho!

El análisis de datos es una fuente de carga de trabajo y el método de cifrado puede cambiar cada vez que se actualiza el juego, por lo que aquellos de nosotros que escribimos herramientas auxiliares somos todos fugitivos y no sabemos cuándo lo estaremos. entretenido, jaja! (Diga que no gano dinero, soy libre)

Descarga el código fuente del socket 4 API de interceptación

Si la tecnología anterior se puede usar de manera flexible, no necesitaremos interceptar la función API. De hecho, esta tecnología es una tecnología complementaria. Por ejemplo, usaríamos esta técnica si necesitáramos interceptar una función fuera del socket. De hecho, también podemos usarlo para interceptar funciones directamente en el socket, lo cual es más directo.

Actualmente, existen muchos tutoriales sobre cómo interceptar API, por lo que no los enumeraré todos. Mi método preferido es interceptar según el segmento de entrada. Este método se puede utilizar en cualquier sistema operativo, como 98/2000, etc. Algunos métodos no son multiplataforma, por lo que no recomiendo usarlos. Puede consultar el contenido que comienza en la página 545 de "Programación básica de Windows" para aprender esta tecnología. Si es un sistema 98, puedes aprenderlo en el último capítulo de "El misterio del sistema de ventanas".

Pues hay muchísimas maneras. Depende de cómo los uses. No hablaré aquí de otras habilidades específicas, de lo contrario alguien me matará, ¡jaja! Ten en cuenta que cada juego modifica de manera diferente. Si todo el procesamiento de datos de un juego está en el lado del servidor, entonces no necesitas escribir herramientas auxiliares Jaja, como máximo, puedes escribir una herramienta auxiliar para caminar automáticamente, ¡jaja!

A la hora de analizar datos, todo el mundo debe tener cuidado de no intentar conectarse fácilmente al servidor, porque es muy peligroso, ¡así que no lo hagas! Una vez que tenga una gran cantidad de resultados de análisis de datos, tendrá más confianza. Inténtalo de nuevo y comprueba si tienes suerte. Es muy probable que tenga éxito, ¡jaja!

Tomemos un ejemplo de VB.

Intenta agregar algunas casillas de verificación tú mismo.

La legendaria herramienta auxiliar legendaria

La función es hacer magia como una bomba de rastreo.

El principio es mover el ratón rápidamente para que la etiqueta con el nombre siga en la pantalla. De hecho, basta con cambiar la posición del ratón.

Función de declaración privada GetAsyncKeyState Lib "usuario 32" (ByVal vKey As Long) es un número entero

Función de declaración privada SetCursorPos Lib "usuario32" (ByVal x es Long, ByVal y es Long ) La función privada MyHotKey(vKeyCode) es un valor booleano

MyHotKey = GetAsyncKeyState(código vkey)<0

Finalizar función

Subtemporizador privado 1_Timer( )

Anota I como un número entero

Para i = 0 a 7

Si MyHotKey(112 + i) y Check1(0). Entonces valor = 1

Si es la opción 1. Entonces valor = True

SetCursorPos 0, 599

Terminará si...

Si la opción 2. Entonces value = true

SetCursorPos 0,767

Terminará si...

Terminará si...

Siguiente I

Conector final