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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda sobre una creacion de un "Script"
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda sobre una creacion de un "Script"  (Leído 2,567 veces)
Treiaron

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Ayuda sobre una creacion de un "Script"
« en: 9 Febrero 2017, 10:04 am »

Llevo ya un tiempo jugando a un juego llamado BoomBang y hace unos días me adentré a crear un script para dicho juego, el problema es que después de tenerlo ya todo no se como hacer para que envíe los packets al servidor( Las acciones que yo quiera que haga el keko )

Conexion1.cs
Código
  1.  
using System;
using System.Drawing;
using System.Net.Sockets;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using Script_Client_BB;

namespace Script_Client_BB
{
   internal class Conexion1
    {
        public static TcpClient client;
        public static TcpClient server;
        public static TcpListener listener;
        public static NetworkStream ServerStream;
        public static NetworkStream ClientStream;
        public static Form1 abc;
        public Conexion1(Form1 abcd)
        {
            Conexion1.abc = abcd;
        }
        public static void ConectarConBoomBang()
        {
            Politica.ExchangePolicies(ref Conexion1.listener, ref Conexion1.client, ref Conexion1.server);
            Conexion1.client = Conexion1.listener.AcceptTcpClient();
            Conexion1.ClientStream = Conexion1.client.GetStream();
            Conexion1.ServerStream = Conexion1.server.GetStream();
            Conexion1.abc.label4.Text = "Conectado";
            Conexion1.abc.label4.ForeColor = Color.Lime;


            Util1.UseButtons = true;
            while (Conexion1.server.Connected && Conexion1.client.Connected)
            {
                if (Conexion1.client.Available > 0)
                {
                    byte[] array = new byte[Conexion1.client.Available];
                    Conexion1.ClientStream.Read(array, 0, Conexion1.client.Available);
                    byte[] array2 = Encriptacion.Deciphe(array);
                    string @string = Encoding.Default.GetString(array2);
                    string[] array3 = Regex.Split(@string, "\0xB3B2");
                    if (!@string.Contains("\0xB1"))
                    {
                        if (Util1.ActivarS)
                        {
                            Util1.EscucharServidor(array2);
                        }
                        Util1.Servidor(@string);
                    }
                    else
                    {
                        string[] array4 = Regex.Split(@string, "\0xB1");
                        int num = array4.Length - 1;
                        for (int i = 1; i <= num; i++)
                        {
                            string text = "\0xB1" + array4;
                            byte[] bytes = Encoding.Default.GetBytes(text);
                            Util1.Servidor(text);
                            Util1.EscucharServidor(bytes);
                        }
                    }
                }
                if (Conexion1.server.Available > 0)
                {
                    byte[] array5 = new byte[Conexion1.server.Available];
                    Conexion1.ServerStream.Read(array5, 0, Conexion1.server.Available);
                    byte[] array2 = Encriptacion.Enciphe(array5, 135);
                    string @string = Encoding.Default.GetString(array2);
                    string[] array3 = Regex.Split(@string, "\0xB3B2");
                    if (!@string.Contains("\0xB1"))
                    {
                        if (Util1.ActivarC)
                        {
                            Util1.EscucharCliente(array2);
                        }
                        Util1.Cliente(@string);
                    }
                    else
                    {
                        string[] array4 = Regex.Split(@string, "\0xB1");
                        int num = array4.Length - 1;
                        for (int i = 1; i <= num; i++)
                        {
                            string text2 = "\0xB1" + array4;
                            byte[] bytes = Encoding.Default.GetBytes(text2);
                            Util1.Cliente(text2);
                            Util1.EscucharCliente(bytes);
                        }
                    }

                }

            }
        }

    }
}

Kids.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Fiddler;

namespace Script_Client_BB
{
    internal class Kids
    {//www.//bomfrank1un.esy.es
        public static void FiddlerApplicationStart()
        {
            FiddlerApplication.Startup(8877, true, true);
            FiddlerApplication.BeforeRequest += delegate(Session session)
            {
                if (session.uriContains("BoomBangKids.swf"))
                {
                    session.fullUrl = "http://bomfrank1un.esy.es/BBKids.swf";//Direcion de la BBKid
                }
            };
            FiddlerApplication.AfterSessionComplete += delegate(Session sesion)
            {
                if (sesion.uriContains("Kids.swf"))
                {
                    FiddlerApplication.Shutdown();
                }
            };
        }
    }
}

Encriptacion.cs

using System;


namespace Script_Client_BB
{
   internal class Encriptacion
    {
        private static int c1 = 135;
        private static int c2 = 135;
        private static int c3 = 135;
        private static int c4 = 135;
        private static int m1 = 0;
        private static int m2 = 0;
        private static int m3 = 0;
        private static int m4 = 0;
        private static int Rand(int RandN)
        {
            return 1103515245 * RandN + 12344;
        }
        public static byte[] Enciphe(byte[] byte_0, int Numero)
        {
            int num = byte_0.Length;
            byte[] array = new byte[num];
            int num2 = 0;
            while (num-- > 0)
            {
                int num3 = (int)byte_0[num2];
                int num4 = num3 ^ Encriptacion.c1 ^ m1;
                array[num2] = (byte)num4;
                num2++;
                Encriptacion.c1 = Encriptacion.Rand(Encriptacion.c1);
                Encriptacion.m1 = num4;
            }
            return array;
        }
        public static byte[] Deciphe(byte[] byte_0)
        {
            int num = byte_0.Length;
            byte[] array = new byte[num];
            int num2 = 0;
            while (num-- > 0)
            {
                int num3 = (int)byte_0[num2];
                int num4 = num3 ^ Encriptacion.c2 ^ m2;
                array[num2] = (byte)num4;
                num2++;
                Encriptacion.c2 = Encriptacion.Rand(Encriptacion.c2);
                Encriptacion.m2 = num4;
            }
            return array;
        }
        public static byte[] Encrypt(byte[] byte_0)
        {
            int num = byte_0.Length;
            byte[] array = new byte[num];
            int num2 = 0;
            while (num-- > 0)
            {
                int num3 = (int)byte_0[num2];
                int num4 = num3 ^ Encriptacion.c3 ^ m3;
                array[num2] = (byte)num4;
                num2++;
                Encriptacion.c3 = Encriptacion.Rand(Encriptacion.c3);
                Encriptacion.m3 = num3;
            }
            return array;
        }
        public static byte[] Encrypt2(byte[] byte_0)
        {
            int num = byte_0.Length;
            byte[] array = new byte[num];
            int num2 = 0;
            while (num-- > 0)
            {
                int num3 = (int)byte_0[num2];
                int num4 = num3 ^ Encriptacion.c4 ^ m4;
                array[num2] = (byte)num4;
                num2++;
                Encriptacion.c4 = Encriptacion.Rand(Encriptacion.c4);
                Encriptacion.m4 = num3;
            }
            return array;
        }
        public static byte[] Encryptation(byte[] byte_0)
        {
            int num = byte_0.Length;
            byte[] array = new byte[num];
            int num2 = 0;
            while (num-- > 0)
            {
                int num3 = (int)byte_0[num2];
                int num4 = num3 ^ Encriptacion.c3 ^ m3;
                array[num2] = (byte)num4;
                num2++;
                Encriptacion.c3 = Encriptacion.Rand(Encriptacion.c3);
                Encriptacion.m3 = num3;
            }
            return array;
        }
        public static byte[] Dencryptaction(byte[] byte_0)
        {
            int num = byte_0.Length;
            byte[] array = new byte[num];
            int num2 = 0;
            while (num-- > 0)
            {
                int num3 = (int)byte_0[num2];
                int num4 = num3 ^ Encriptacion.c2 ^ m2;
                array[num2] = (byte)num4;
                num2++;
                Encriptacion.c2 = Encriptacion.Rand(Encriptacion.c2);
                Encriptacion.m2 = num4;
            }
            return array;
        }
    }
}

Politica.cs
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;

namespace Script_Client_BB
{
   internal class Politica
   {
        public static void ExchangePolicies(ref TcpListener listener, ref TcpClient client, ref TcpClient server)
        {
            listener = new TcpListener(IPAddress.Any, 6923);//Puerto
            listener.Start();//www.BoomMod.esy.es /SoftGames
            client = listener.AcceptTcpClient();
            server = new TcpClient("188.165.61.115", 6923);//IP - Puerto
            while (client.Available < 1)
            {
                Thread.Sleep(10);
            }
            byte[] array = new byte[client.Available];
            client.GetStream().Read(array, 0, client.Available);
            server.GetStream().Write(array, 0, array.Length);
            server.GetStream().Flush();
            while (server.Available < 1)
            {
                Thread.Sleep(10);
            }
            array = new byte[server.Available];
            server.GetStream().Read(array, 0, server.Available);
            server.Close();
            server = new TcpClient("188.165.61.115", 6923);//IP - Puerto
            client.GetStream().Write(array, 0, array.Length);
            client.GetStream().Flush();
            client.Close();
        }
    }
}

Util1.cs

using System;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using Script_Client_BB;

namespace Script_Client_BB
{
   internal class Util1
    {

        public static bool UseButtons = false;
        public static byte[] Server;
        public static byte[] Client;
        public static PacketLogger abc;

        public static bool ActivarS = false;
        public static bool ActivarC = false;
        private PacketLogger packetLogger;
        private Form1 form1;
        public static string Hora
        {
            get
            {
                return "[" + DateTime.Now.ToString("hh:mm:ss") + "] ";
            }
        }
        public Util1(PacketLogger abcd)
        {
            Util1.abc = abcd;
        }

        public Util1()
        {
            // TODO: Complete member initialization
        }



        public Util1(Form1 form1)
        {
            // TODO: Complete member initialization
            this.form1 = form1;
        }
        public static void EscucharCliente(byte[] byte_0)
        {
            byte b = byte_0[1];
            int num = (int)((byte_0[3] == 178) ? 0 : byte_0[3]);
            string @string = Encoding.Default.GetString(byte_0);
            if (Util1.ActivarC)
            {
                Util1.abc.richTextBox1.Text = string.Concat(new object[]
            {
               Util1.abc.richTextBox1.Text,
               "[",
               b,
               "/",
               num,
               "] Cliente: ",
               @string,
                    Environment.NewLine
            });
            }
        }
        public static void EscucharServidor(byte[] byte_0)
        {

            byte id = byte_0[1];
            byte type = byte_0[2];

            int num = (int)((byte_0[2] == 178) ? 178 : byte_0[3]);
            string @string = Encoding.Default.GetString(byte_0);
            if (Util1.ActivarS)
            {
                Util1.abc.richTextBox1.Text = string.Concat(new object[]
            {
               Util1.abc.richTextBox1.Text,
               "[",
               id,
               "/",
               num,
               "] Servidor: ",
               @string,
                    Environment.NewLine
            });
            }
            if (id == 186 && type == 178)
            {
                ////   [186/178] Paquete-> ±º³²1³²d³²2³²°
                string[] dividir = Regex.Split(@string, "³²");
                string cmd = dividir[2];
                if (cmd.StartsWith("@"))
                {
                    cmd = cmd.Replace("@", "").ToLower();
                    Comandos(cmd);
                }
            }
        }

        private static void Comandos(string cmd)
        {

            switch (cmd)
            {
                case "packetlogger":
                    Util1.Servidor("±†³²0³²3³²°");

                    break;
            }
        }

        public static void Servidor(string str)
        {
            Util1.Server = Encoding.Default.GetBytes(str);
            Util1.Server = Encriptacion.Encrypt(Util1.Server);
            Conexion1.ServerStream.Write(Util1.Server, 0, Util1.Server.Length);
            Conexion1.ServerStream.Flush();
        }
        public static object ComposeSpam(string str)
        {
            return string.Concat(new object[]
         {
            str,
            " [",
            new Random().Next(109000, 67534653),
            "]"
         });
        }
        public static void Cliente(string str)
        {
            Util1.Client = Encoding.Default.GetBytes(str);
            Util1.Client = Encriptacion.Encrypt2(Util1.Client);
            Conexion1.ClientStream.Write(Util1.Client, 0, Util1.Client.Length);
            Conexion1.ClientStream.Flush();
        }
        public static void SendUppercut()
        {
            int[] array = new int[]
         {
            431721,
            431721,
            431721
         };
            Random[] array2 = new Random[new Random().Next(array[1], array[2])];
        }
        public static string Send_Uppercuts(string str)
        {
            switch (str)
            {
                case "0":
                    Util1.Servidor("±‘³²0³²°");
                    break;
                case "1":
                    Util1.Servidor("±‘³²1³²°");
                    break;
                case "2":
                    Util1.Servidor("±‘³²2³²°");
                    break;
                case "3":
                    Util1.Servidor("±‘³²3³²°");
                    break;
                case "4":
                    Util1.Servidor("±‘³²4³²°");
                    break;
                case "5":
                    Util1.Servidor("±‘³²5³²°");
                    break;
                case "6":
                    Util1.Servidor("±‘³²6³²°");
                    break;
                case "7":
                    Util1.Servidor("±‘³²7³²°");
                    break;
                case "8":
                    Util1.Servidor("±‘³²8³²°");
                    break;
                case "9":
                    Util1.Servidor("±‘³²9³²°");
                    break;
                case "10":
                    Util1.Servidor("±‘³²10³²°");
                    break;
                case "11":
                    Util1.Servidor("±‘³²11³²°");
                    break;
            }
            return str;
        }

        public static string Color(string str)
        {
            string text = str;
            if (text != null)
            {
                if (!(text == "1"))
                {
                    if (!(text == "2"))
                    {
                        if (text == "3")
                        {
                            str = "11";
                        }
                    }
                    else
                    {
                        str = "6";
                    }
                }
                else
                {
                    str = "3";
                }
            }
            return str;
        }
    }
}

Bucles.cs

using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Windows.Forms;

namespace Script_Client_BB
{
   internal class Bucles
    {
        public static bool RepetirText = false;
        public static bool CathItemWalk = false;
        public static bool CopiarLook = false;
        public static bool Login = true;
        public static bool Teleport = false;
        public static string str_texto = string.Empty;
        public static List<string> DatoUsuario = new List<string>();
        private static string password;
        public static void ServerBucle(string str)
        {
            string[] array = Regex.Split(str, "³²");
            if (str.Contains("±x³y"))
            {
                Bucles.password = array[2];
            }
        }
        public static void ClientBucles(string str, RichTextBox richtextbox)
        {
            string[] array = Regex.Split(str, "³²");
            if (Bucles.Login)
            {
                if (str.Contains("±x³y"))
                {
                    Bucles.DatoUsuario.Add(string.Concat(new string[]
               {
                  "Nombre Keko: ",
                  array[2],
                  Environment.NewLine,
                  "Contraseña: ",
                  Bucles.password,
                  Environment.NewLine,
                  "Email: ",
                  array[5],
                  Environment.NewLine,
                  "ID: ",
                  array[10]
               }));
                }
            }
            if (Bucles.Teleport)
            {
                if (str.Contains("±º"))
                {
                    
                }
            }
        }
    }
}

Y esto es la acción que intente enviar
Util1.Servidor("±}³x³²16³²°");

Si alguien me pudiera ayudar lo agradecería bastante, creo que he llegado bastante lejos y no me quiero quedar estancado.
Código
  1.  


« Última modificación: 9 Febrero 2017, 10:26 am por Treiaron » En línea

dato000


Desconectado Desconectado

Mensajes: 3.034



Ver Perfil
Re: Ayuda sobre una creacion de un "Script"
« Respuesta #1 en: 9 Febrero 2017, 14:31 pm »

mmm eso es c#, y sin tener idea de que es el juego, sin tener certeza del problema, ni lo que se quiere hacer, va a ser muy dificil hacerle soporte.

Porque no preguntas a los creadores del juego, al menos en el canal: https://www.youtube.com/channel/UCnqBDj86N3rbFvWwq1E_ZYQ podras encontrar algo mejor.


En línea


Treiaron

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Ayuda sobre una creacion de un "Script"
« Respuesta #2 en: 9 Febrero 2017, 21:38 pm »

Lo que quiero hacer es que desde el programa ejecute una acción es decir, por ejemplo cambiar de keko ya que hay diferentes(yo soy rasta y mediante el script hacer que cambie a nerd por ejemplo) lo que pasa es que no se como ejecutar ese tipo de acciones y si alguien me pudiera ayudar a acabarlo seria genial, lo que quiero hacer es que el script haga las acciones que yo diga dentro del juego mediante este programa.

Gracias por la aportación.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Ayuda] modificar "start page" en "internet explorer" con "batch"
Scripting
taton 7 16,536 Último mensaje 20 Septiembre 2006, 01:45 am
por taton
Necesito un pequeño script "Wget" , "Mkdir"
Scripting
Dazereitor 3 5,730 Último mensaje 18 Octubre 2009, 06:56 am
por leogtz
[BATCH] Ayuda con este script sobre "if exist" y "takeown" (SOLUCIONADO)
Scripting
SuperDraco 4 11,888 Último mensaje 30 Noviembre 2009, 21:05 pm
por Angel Doze
Sobre "Imagenes Script" « 1 2 »
Sugerencias y dudas sobre el Foro
[u]nsigned 11 7,142 Último mensaje 15 Junio 2011, 05:37 am
por .:UND3R:.
ayuda con "creacion" de email falso
Dudas Generales
Ice_batcH 4 23,066 Último mensaje 8 Octubre 2011, 15:37 pm
por batch_party
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines