Orientacion sobre bots

Iniciado por s_azazel, 7 Junio 2014, 15:07 PM

0 Miembros y 1 Visitante están viendo este tema.

s_azazel

Buenos dias!!! he hecho varios bots para aplicaciones a base de identificar imagenes en la pantalla y clcks y me gustaria aprender a profundizar un poco mas

Hay alguna forma de saber que orden se le envia a la aplicacion al hacer click en algun sitio de la aplicacion y enviar ese mensaje directamente o algo asi???

Agradeceria si me podeis orientar algo mas sobre esto o pasarme algun sitio con informacion de interes

Gracias!!!

kub0x

Buenas s_azazel,

¿Exactamente que quieres? ¿Capturar la instrucción que ejecuta un programa cuando el usario hace click en el mismo? Explicanos que es lo que deseas.

Un saludo!
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


s_azazel

si, es exactamente eso.¿ es posible??? y luego hacer ejecutar esa instruccion mediante codigo????

engel lex

Si, se puede hacer un hook o injeccion de dll, ahi las instrucciones van directo al codigo, no hablamos de "hacer click" sino dar instruccion de "caminar a"
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

s_azazel

la verdad es que parece mas complicado porque es un juego corriendo bajo bluestaks (emulador de android) y supongo que estara programada en java


La cosa es tb es saber cuales son las instrucciones que entiende el juego como la de "caminar a" no?

kub0x

Básicamente si quieres inyectar código en un proceso ajeno tendrías que cargar una DLL mediante SetWindowHookEx o CreateRemoteThread.

Posteriormente tendrías que implementar API Hooking para redireccionar las llamadas de X función hacia tu subrutina, para luego devolver la llamada a la función original.

Un ejemplo:

Sin API Hooking: Usuario pulsa tecla 'W' -> se llama a la funcion original -> el personaje se mueve hacia delante.
Con API Hooking: Usuario pulsa tecla 'W' -> se llama a tu función -> se llama a la funcion original -> el personaje se mueve hacia delante.

Ojo, no siempre querras llamar a la función original, eso depende del escenario por el que te estés moviendo.

Todo lo que he trabajado en este campo ha sido en Windows bajo C++. Es imposible que cargues una DLL administrada (.NET) en un proceso nativo, para ello el proceso nativo tendria que correr el entorno de ejecución de .NET (CLR).

Saludos!
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


s_azazel

y alguna forma de saber la instruccion que se ejecuta al hacer click en algun sitio???

kub0x

Si el juego no es online imagino que no hara uso de socket por lo que todo se reparte en memoria.

Yo lo que haría sería calcular la dirección de memoria de la función para después ejecutar un hilo remoto en el proceso del juego que mueva el personaje.

El problema es el calculo de la dirección de memoria, toca depurar. No me muevo por Android así que no sé como será ahí :P

Saludos!
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


s_azazel

el juego si que es online :D voy a ver si consigo ver el server y los paquetes que envia :D

algun consejo???

samuelhm

yo tengo hecho un bot a base de recoger capturas de pantallas y diferenciar pixels e imagenes, es mas facil que todo eso de injectar dll's y tal.