elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Orientacion sobre bots
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: Orientacion sobre bots  (Leído 10,179 veces)
NikNitro!


Desconectado Desconectado

Mensajes: 1.309


Galletaaa!!!


Ver Perfil WWW
Re: Orientacion sobre bots
« Respuesta #10 en: 8 Junio 2014, 00:27 am »

Otra opción es ir leyendo las direcciones de memoria. Ahora mismo estoy yo embarcado en crear una ia para otro juego online de esa manera :p.

La pega... Cada vez que se actualiza puede que tengas que buscar de nuevo las direcciones de memoria :s

Salud;)


En línea

kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: Orientacion sobre bots
« Respuesta #11 en: 8 Junio 2014, 00:33 am »

Otra opción es ir leyendo las direcciones de memoria. Ahora mismo estoy yo embarcado en crear una ia para otro juego online de esa manera :p.

La pega... Cada vez que se actualiza puede que tengas que buscar de nuevo las direcciones de memoria :s

Salud;)

Buen método, así hice mis primeros bots en Tibia. Leer o escribir en memoria es lo mejor para repsentar datos del juego en tiempo real, o modificar valores de éste (apariencia, diseño, mapa) pero no haces nada así si es online. Cada vez que cambiaban la versión tenías que actualizar las addresses eso era lo peor joder xD

Pero s_azazel lo que quiere es llamar a X función de un juego repetidas veces. Si es un juego online pues meterle una buena esnifada y buscar paquetes que guarden relación con lo que busca, o bien, depurar.

Saludos!


En línea

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

Visita mi perfil en ResearchGate

s_azazel

Desconectado Desconectado

Mensajes: 98



Ver Perfil
Re: Orientacion sobre bots
« Respuesta #12 en: 8 Junio 2014, 13:25 pm »

me recomendais algun sniffer bueno y sencillo??? XDDD

tambien me interesaria ver los paquetes que recibo

a ver si puedo automatizar todo :D
En línea

kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: Orientacion sobre bots
« Respuesta #13 en: 8 Junio 2014, 19:49 pm »

Buenas s_azazel,

para sniffar juegos recomiedo WPE Pro, pues puedes examinar que paquetes están siendo enviados en todo momento. No sólo eso, además puedes modificar los paquetes y reproducirlos enviándolos al servidor. Luego ya tienes los filtros que sirven para crear rutinas de envio de paquetes etc Lo utilicé un tiempo para juegos como WoW o Tibia con buenos resultados.

Aquí te dejo un tutorial de un maestro del lado oscuro (XDD) -> http://foro.elhacker.net/ingenieria_inversa/tutorial_wpe_pro_captura_modifica_y_envia_paquetes_tcp_cheats_juegos-t405121.0.html

Saludos!!
En línea

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

Visita mi perfil en ResearchGate

s_azazel

Desconectado Desconectado

Mensajes: 98



Ver Perfil
Re: Orientacion sobre bots
« Respuesta #14 en: 10 Junio 2014, 11:42 am »

Ufff me salen los paquetes cifrados y si intento reenviarlos no recivo respuesta del server

La verdad es curioso que un juego tan tonto este tan protegido jajaja el wow no tenia los paquetes flitrados????

El juego es el hay day no se si lo conoceis para android (es un pike pesonal con mi chica) jaja

Algun consejo para intentar descifrar los paquetes o lo dejariais por imposible???
En línea

kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: Orientacion sobre bots
« Respuesta #15 en: 10 Junio 2014, 15:43 pm »

Me acuerdo que en Tibia iban cifrados pero gracias al gran colectivo de mentes pensantes consiguieron tres cosas:

1ª. Debuggear el ejecutable del juego y ver como se construían los paquetes.
2ª. Extraer la clave pública utilizada en el cifrado de los paquetes.
3ª Enviar el paquete cifrado de vuelta al servidor.

En tu juego los paquetes van cifrados. Si aplicaron criptografia asimétrica entonces usan una clave pública. Si la consigues entonces podras cifrar paquetes y enviarlos de vuelta al server, pero te faltaría el proceso de construcción de paquetes.

Si el juego está en Java podrías tirarle una buena decompilación o buscar por foros dedicados al cracking de juegos, a ver si tienes suerte. En Tibia hay mucha gente que se dedica a investigar y gracias a ellos pude armar un bot muy completo a nivel de memoria.

Saludos y espero ganes la apuesta con tu chica! :D
En línea

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

Visita mi perfil en ResearchGate

s_azazel

Desconectado Desconectado

Mensajes: 98



Ver Perfil
Re: Orientacion sobre bots
« Respuesta #16 en: 13 Junio 2014, 08:36 am »

Llevo varios dias comiendome la cabeza para ver como puedo descompilar el .apk de la aplicacion
tanto apktools como apkmanager me tirar error y solo decompilan parte

Sabeis porque puede ser???

Os dejo el .apk de la aplicacion por si os animais a echarme una mano

Gracias!!!!

https://www.dropbox.com/s/kzin7tb7ycv2bzb/com.supercell.hayday.apk
En línea

NikNitro!


Desconectado Desconectado

Mensajes: 1.309


Galletaaa!!!


Ver Perfil WWW
Re: Orientacion sobre bots
« Respuesta #17 en: 13 Junio 2014, 11:55 am »

http://androidzone.org/2012/10/decompila-apks-y-obten-el-codigo-fuente-con-apk-to-java/
Creo que eso puede funcionar. De todos modos... ¿No se puede importar el apk a un proyecto en java y/o android?

Salud ;)
En línea

s_azazel

Desconectado Desconectado

Mensajes: 98



Ver Perfil
Re: Orientacion sobre bots
« Respuesta #18 en: 13 Junio 2014, 14:57 pm »

Muchas gracias!!! asi si :D:D ahora tendre que mirar un poco de que va esto del java jaja se me escapa un poco de todas formas no parece mucho mas complicado que .net

Estoy en el curro y le he podido echar un ojo muy rapido solo pero qu encontrado algo que parece muy interesante :D:D:D

Citar
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3)

package com.mobileapptracker;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Cipher;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;

public class Encryption
{

    public Encryption(String s, String s1)
    {
        a = new IvParameterSpec(s1.getBytes());
        b = new SecretKeySpec(s.getBytes(), "AES");
        c = Cipher.getInstance("AES/CBC/NoPadding");
_L1:
        return;
        NoSuchAlgorithmException nosuchalgorithmexception;
        nosuchalgorithmexception;
        nosuchalgorithmexception.printStackTrace();
          goto _L1
        NoSuchPaddingException nosuchpaddingexception;
        nosuchpaddingexception;
        nosuchpaddingexception.printStackTrace();
          goto _L1
    }

    private static String a(String s)
    {
        int i = 16 - s.length() % 16;
        for(int j = 0; j < i; j++)
            s = (new StringBuilder()).append(s).append(' ').toString();

        return s;
    }

    public static String bytesToHex(byte abyte0[])
    {
        String s;
        if(abyte0 == null)
        {
            s = null;
        } else
        {
            int i = abyte0.length;
            s = "";
            int j = 0;
            while(j < i)
            {
                if((0xff & abyte0[j]) < 16)
                    s = (new StringBuilder()).append(s).append("0").append(Integer.toHexString(0xff & abyte0[j])).toString();
                else
                    s = (new StringBuilder()).append(s).append(Integer.toHexString(0xff & abyte0[j])).toString();
                j++;
            }
        }
        return s;
    }

    public static byte[] hexToBytes(String s)
    {
        byte abyte0[];
        abyte0 = null;
        break MISSING_BLOCK_LABEL_2;
        if(s != null && s.length() >= 2)
        {
            int i = s.length() / 2;
            abyte0 = new byte;
            int j = 0;
            while(j < i)
            {
                abyte0[j] = (byte)Integer.parseInt(s.substring(j * 2, 2 + j * 2), 16);
                j++;
            }
        }
        return abyte0;
    }

    public static String md5(String s)
    {
        if(s != null) goto _L2; else goto _L1
_L1:
        String s1 = "";
_L4:
        return s1;
_L2:
        String s2;
        MessageDigest messagedigest = MessageDigest.getInstance("MD5");
        messagedigest.update(s.getBytes());
        s2 = bytesToHex(messagedigest.digest());
        s1 = s2;
        continue; /* Loop/switch isn't completed */
        NoSuchAlgorithmException nosuchalgorithmexception;
        nosuchalgorithmexception;
        nosuchalgorithmexception.printStackTrace();
        s1 = "";
        if(true) goto _L4; else goto _L3
_L3:
    }

    public static String sha1(String s)
    {
        if(s != null) goto _L2; else goto _L1
_L1:
        String s1 = "";
_L4:
        return s1;
_L2:
        String s2;
        MessageDigest messagedigest = MessageDigest.getInstance("SHA-1");
        messagedigest.update(s.getBytes());
        s2 = bytesToHex(messagedigest.digest());
        s1 = s2;
        continue; /* Loop/switch isn't completed */
        NoSuchAlgorithmException nosuchalgorithmexception;
        nosuchalgorithmexception;
        nosuchalgorithmexception.printStackTrace();
        s1 = "";
        if(true) goto _L4; else goto _L3
_L3:
    }

    public static String sha256(String s)
    {
        if(s != null) goto _L2; else goto _L1
_L1:
        String s1 = "";
_L4:
        return s1;
_L2:
        String s2;
        MessageDigest messagedigest = MessageDigest.getInstance("SHA-256");
        messagedigest.update(s.getBytes());
        s2 = bytesToHex(messagedigest.digest());
        s1 = s2;
        continue; /* Loop/switch isn't completed */
        NoSuchAlgorithmException nosuchalgorithmexception;
        nosuchalgorithmexception;
        nosuchalgorithmexception.printStackTrace();
        s1 = "";
        if(true) goto _L4; else goto _L3
_L3:
    }

    public byte[] decrypt(String s)
    {
        if(s == null || s.length() == 0)
            throw new Exception("Empty string");
        byte abyte0[];
        try
        {
            c.init(2, b, a);
            abyte0 = c.doFinal(hexToBytes(s));
        }
        catch(Exception exception)
        {
            throw new Exception((new StringBuilder("[decrypt] ")).append(exception.getMessage()).toString());
        }
        return abyte0;
    }

    public byte[] encrypt(String s)
    {
        if(s == null || s.length() == 0)
            throw new Exception("Empty string");
        byte abyte0[];
        try
        {
            c.init(1, b, a);
            abyte0 = c.doFinal(a(s).getBytes());
        }
        catch(Exception exception)
        {
            throw new Exception((new StringBuilder("[encrypt] ")).append(exception.getMessage()).toString());
        }
        return abyte0;
    }

    private IvParameterSpec a;
    private SecretKeySpec b;
    private Cipher c;
}


:D:D:D
En línea

kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: Re: Orientacion sobre bots
« Respuesta #19 en: 15 Junio 2014, 16:41 pm »

¿Y no podrias modificar el fuente a tu antojo para implementar cierto seguimiento de pila para ver el orden de llamadas? Tambien se me ocurre implementar un sistema de logs que haga dump de la data antes de cifrar.

La pega es que deberías de recompilar el apk con las nuevas modificaciones.

Saludos!
En línea

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

Visita mi perfil en ResearchGate

Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Un poco de orientación sobre Debian? « 1 2 3 »
GNU/Linux
Saberuneko 27 15,645 Último mensaje 9 Julio 2010, 01:26 am
por xexio
sobre los bots
Foro Libre
crazykenny 4 2,450 Último mensaje 31 Enero 2012, 12:02 pm
por Kase
Orientación Importante sobre Hacking en Mysql
Nivel Web
universoenigmatico 0 2,564 Último mensaje 15 Marzo 2012, 00:02 am
por universoenigmatico
Necesito orientación sobre sentencia EXPLAIN
Bases de Datos
Hadess_inf 1 2,170 Último mensaje 18 Abril 2012, 01:47 am
por Shell Root
[Resuelto] Orientación sobre que IDE utilizar y donde hospedar mi sitio web « 1 2 »
Desarrollo Web
Eleкtro 10 10,268 Último mensaje 1 Enero 2017, 11:06 am
por Kapunk
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines