Encriptar ip con C#

Iniciado por Noporfavor, Febrero 23, 2017, 08:32:38 AM

Tema anterior - Siguiente tema

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

Febrero 23, 2017, 08:32:38 AM Ultima modificación: Febrero 23, 2017, 10:58:07 AM por Gabriela
Hola,

me estoy volviendo loco con este problema:

Resulta que quiero encriptar mi ip. Pero hasta ahora solo lei que se puede encriptar textos.

Por ejemplo:

Código: csharp

public static string Encriptar(this string _cadenaAencriptar)
        {
            string result = string.Empty;
            byte[] encryted = System.Text.Encoding.Unicode.GetBytes(_cadenaAencriptar);
            result = Convert.ToBase64String(encryted);
            return result;
        }


Ahora bien; supongamos que convierto la ip en string y del string lo encripto. Lo unico que logro es encriptar un texto y no la ip.

Yo he visto usuarios en minicraft que cuando el administrador le hizo un whois en vez de ver un formato ip vio un texto cualquiera tipo: "Chinga tu madre".
Como hacen estos para cambiar el valor de una ip y aun asi poder conectarse?

Gracias y saludos

Hola, talves podrías usar un proxy...
Código: csharp

    using (WebClient client = new WebClient()) {
        client.Proxy = new WebProxy("ip_proxy", port);
        client.Proxy.Credentials = new NetworkCredential("user", "pass");
   MessageBox.Show(client.DownloadString("https://underc0de.org/foro"));
    }



Pues permiteme mucho dudar que hayas visto eso. El whois se hace hacia una dirección IP, osea que no tiene sentido alguno que hagas un whois y te diga que la IP es "chinga tu madre". Ya que en este caso, por si así lo entiendes, la IP sería un input, un valor que introduces tú, y no un output, lo que te suelta un whois son datos diferentes, como con quien tiene contratado el servicio, número de telefono, correo electrónico, etc...
RollthBuen hacker mejor No tienes permitido ver enlaces. Registrate o Entra a tu cuenta/No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

podria ser que el compañero se refiere a algo asi como el hostmask o cloak en el irc... sera posible?

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
podria ser que el compañero se refiere a algo asi como el hostmask o cloak en el irc... sera posible?

Mmmm.. creo que más bien tiene que ver con algo semejante a esto, porque por lo otro es... confuso  ???
"Eso es lo bueno de internet. De que sirve internet si chateas con tus vecinos??? para eso te sacas unas sillas al fresco y hablais y jugais a las cartas". @windux

Hola a todos,

joder. Crei que iba a encontrar una prueba real. Pero lo unico que encontre fue eso:

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

En el minuto 4:38

Con respecto al codigo de fudmario...

ya habia pensado en proxys. Pero... y si se trata de Sockets en vez de paginas web?

Miren este codigo:

Código: csharp

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.VisualBasic;
using System.Collections;
using System.Diagnostics;
using System.IO;
using System.Net;
using System.Net.Sockets;

//code chat-bot by mauro & demon ares chat
namespace chat_bot_ares_by_mauro
{
     
    public partial class Form1 : Form
    {
        public Socket Socket;
        public System.Net.Sockets.NetworkStream Stream;
        public byte[] AvatarStream;
       

        public Form1()
        {
            InitializeComponent();
        }

        //
        public void ConectarB0t(IPAddress ip, int puerto)
        {
         
            Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

         
            label1.Text = "Conectando por favor espera";
           

            try
            {
                Socket.Connect(new IPEndPoint(ip, Convert.ToInt32(puerto)));


            }
            catch (Exception ex)
            {
            }
            if (Socket.Connected == true)
            {

                label1.Text = "Conectando iniciando protocolo";

                Socket.Send(MSG_CHAT_CLIENT_LOGIN());
             
                label1.Text = "Autenticado, chat bot conectado!";


            }
            else
            {
            }
        }

        private string GetLocalIpAddress()
        {
            throw new NotImplementedException();
        }

        private string Encriptar()
        {
            throw new NotImplementedException();
        }

        //
        public byte[] MSG_CHAT_CLIENT_LOGIN()
        {
            //Aclaracion Este codigo no es de cb0t ni nada parecido!!!
            List<byte> buffer = new List<byte>();
            //nueva cadena de bytes
            //id 2
            buffer.AddRange(new byte[] { 2 });
            buffer.AddRange(Guid.NewGuid().ToByteArray());
            //guid 16 bytes
            buffer.AddRange(BitConverter.GetBytes(Convert.ToInt16(666)));
            //Numero de archivos
            //Null 1byte
            buffer.AddRange(new byte[] { 0 });
            buffer.AddRange(BitConverter.GetBytes(Convert.ToInt16(5555)));
            //puerto DC
            //nueva cadena de bytes
            //Nodos ip. 4bytes
            //Nodos puerto 2 bytes
            //4bytes Null.
            buffer.AddRange(new byte[] {
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
});
            buffer.AddRange(Encoding.UTF8.GetBytes(Nombre.Text));
            //Nick x bytes
            //Null 1byte
            buffer.AddRange(new byte[] { 0 });
            buffer.AddRange(Encoding.UTF8.GetBytes("chat bot c# by mauro - 1"));
            //cliente version xbyte
            //nueva cadena de bytes
            //1byte Null.
            //Local IpAdress 4 bytes
            //External IpAdress Null. 4bytes
            //client features 1 byte
            //current upload 1byte
            //maximum uploads allowed 1byte
            //current queued users
            //User años 1byte, User sexo 1byte, User country 1byte
            buffer.AddRange(new byte[] {
0,
127,
0,
0,
1,
6,
6,
6,
6,
0,
0,
0,
0,
20,
1,
69
});
            buffer.AddRange(Encoding.UTF8.GetBytes("Ares"));
            //User location xbyte
            //Null 1byte
            buffer.AddRange(new byte[] { 0 });
            buffer.InsertRange(0, BitConverter.GetBytes(Convert.ToInt16(buffer.Count - 1)));
            return buffer.ToArray();
        }

       


        //
       
        private void button1_Click(object sender, System.EventArgs e)
        {
            string i = IP.Text;
            string p = Puerto.Text;

            ConectarB0t(System.Net.IPAddress.Parse(i), int.Parse(p));

         
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //Enviamos el texto a la sala
            //Utilizamos este metodo para no agregar la clase AresPacket
            // en la version 2 agregaremos como enviar avatar en esta version

            List<byte> buffer = new List<byte>();
            //nueva cadena de bytes
            buffer.AddRange(new byte[] { 10 });
            //Public chat 10
            buffer.AddRange(Encoding.UTF8.GetBytes((textBox1.Text)));
            //xbytes
            buffer.InsertRange(0, BitConverter.GetBytes(Convert.ToInt16(buffer.Count - 1)));
            Socket.Send(buffer.ToArray());

            textBox1.Clear();

            //
        }
    }
}



Viendo este codigo... como puedo conectarme con una proxy a una sala?

Gracias y saludos

Podes usar proxychains para forzar cualquier programa a usar un proxy. No se si hay para windows


Una ip identifica a tu computadora en internet. Para conectarte al servidor, si o si le tenes que mandar tu ip, si no no sabe a donde responder. Eso lo hace el sistema operativo y cuando haces un programa no lo ves
Podes encriptar el string de tu ip, pero es otra copia, seguis teniendo la misma ip. Y esa es la que le mete el sistema operativo a los paquetes que salen. Si editas el sistema operativo para que la mande mal, no te vas a poder coenctar

Lo que ves en minecraft podria ser como dicen mas arriba, que el admin le este cambiando la ip que se muestra en el juego por ese texto. También puede ser el reverse dns

La otra forma es con reversedns.
Aca explican un poco las dos No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Podrias hacer esto pero con un proxy en lugar de un bouncer y pasar el juego por ahi No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
..................................

Con respecto al codigo de fudmario...

ya habia pensado en proxys. Pero... y si se trata de Sockets en vez de paginas web?

.....................

Si es mediante socket, podrías usar esta librería:

Ejemplo de uso:
Código: csharp

// create a new ProxySocket
ProxySocket s = new ProxySocket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
// set the proxy settings
s.ProxyEndPoint = new IPEndPoint(IPAddress.Parse("10.0.0.5"), 1080);
s.ProxyUser = "username";
s.ProxyPass = "password";
s.ProxyType = ProxyTypes.Socks5;    // if you set this to ProxyTypes.None,
                                    // the ProxySocket will act as a normal Socket
// connect to the remote server
// (note that the proxy server will resolve the domain name for us)
s.Connect("www.mentalis.org", 80);
// send an HTTP request
s.Send(Encoding.ASCII.GetBytes("GET / HTTP/1.0\r\nHost: www.mentalis.org\r\n\r\n"));
// read the HTTP reply
int recv = 0;
byte [] buffer = new byte[1024];
recv = s.Receive(buffer);
while (recv > 0) {
    Console.Write(Encoding.ASCII.GetString(buffer, 0, recv));
    recv = s.Receive(buffer);
}
// wait until the user presses enter
Console.WriteLine("Press enter to continue...");
Console.ReadLine();




También dispones de la librería Chilkat(pero es de pago).