martes, 11 de diciembre de 2007

No hay tiempo

Siento, para los que sigan el blog (si es que hay alguien que lo siga), la demora en añadir nuevas entradas, pero es que actualmente entre el trabajo y unaa web de un grupo de musica que ando haciendo no me deja mucho tiempo. En cuanto pueda volvere a escribir, lo prometo.

jueves, 8 de noviembre de 2007

Terra XML a IRC y viceversa

Bueno hay mucha gente que no sabe como comenzar esta parte para programar su BNC, mucha gente lo que hace es un tratamiento de cadenas mirando caracter a caracter, como publicar eso seria copiarme muestro aqui como hacerlo con expresiones regulares con c#. Es un fragmento de código del bouncer que ando programando, tan solo me falta el apartado de sockets y quizás una GUI.


using System;
using System.Net.Sockets;
using System.IO;
using System.Text.RegularExpressions;

public class bouncer {
private static string paquete2 = "PRIVMSG #Alternativos :xD";
private static string paquete = "<irc src=\"chat12.terra.es\" cmd=\"PONG\" a0=\"chat12.terra.es\" rest=\"LAG2196474780\" />";

public static void Main(string[] args){
Console.WriteLine("################");
Console.WriteLine("# De XML a IRC #");
Console.WriteLine("################");
Console.WriteLine("Paquete XML: "+paquete);
Console.WriteLine("Paquete IRC: "+ToIrc(paquete)+"\n");
Console.WriteLine("################");
Console.WriteLine("# De IRC a XML #");
Console.WriteLine("################");
Console.WriteLine("Paquete IRC: "+paquete2);
Console.WriteLine("Paquete XML: "+ToXml(paquete2));
Console.ReadLine();
}

public static string ToXml(string DataIRC){
string DataXML = "";
DataIRC = DataIRC.Replace("\n","");
DataIRC = DataIRC.Replace("%","%3E");
DataIRC = DataIRC.Replace(" ","%20");
DataIRC = DataIRC.Replace("#","%23");
DataIRC = DataIRC.Replace(":","%3A");
DataIRC = DataIRC.Replace(".","%2E");
DataXML = "<raw>"+DataIRC+"</raw>";
return DataXML;
}

public static String Create_Nick(){
Random r = new Random();
string num1 = Convert.ToString(r.Next(9));
string num2 = Convert.ToString(r.Next(9));
string num3 = Convert.ToString(r.Next(9));
string frag1 = "{CiRc[";
string frag2 = "]BnC}";
string nick = frag1+num1+num2+num3+frag2;
return nick;
}

public static string ToIrc(string DataXML){
string packirc = "";
//probar array de expresiones regulares.
Regex r1 = new Regex("src=\\s*[\"']([^\\s]*)[\"']\\s*");
Regex r2 = new Regex("cmd=\\s*[\"']([^\\s]*)[\"']\\s*");
Regex r3 = new Regex("a\\d=\\s*[\"']([^\\s]*)[\"']\\s*");
Regex r4 = new Regex("rest=\\s*[\"']([^\\s]*)[\"']\\s*");
try{
Match m = r1.Match(DataXML);
string src = restrip(m.Value);
m = r2.Match(DataXML);
string cmd = restrip(m.Value);
m = r4.Match(DataXML);
string rest = restrip(m.Value);
MatchCollection mc = r3.Matches(DataXML);
string[] aes = new string[mc.Count];
int ctr = 0;
foreach(Match n in mc){
aes[ctr] = restrip(n.Value);
ctr++;
}
packirc += ":"+src+" "+cmd;
for(int i=0;i<aes.Length;i++){
packirc += " "+aes[i];
}
packirc += " :"+rest;
}catch(Exception e){
//eliminar captura de excepciones tras pruebas.
Console.WriteLine(e.ToString());
}
return packirc;
}

//eliminar tomando directamente el valor con la expresion regular.
public static string restrip(string data){
char[] r = {'"'};
string frag = data.Split(r)[1];
return frag;
}
}


Se que queda un poco mal ponerlo sin depurar, pero es que ando estudiando ensamblador asi que tengo este asunto un poco parado, tan solo queria que la gente tubiese una minima guia. Prometo que cuando tenga tiempo lo termino.

FuckTerra

Gracias a los insistentes y a los incrédulos he decidido publicar este programilla llamado FuckTerra, programado en Python y "compilado" con py2exe. Publicare dos versiones, la vieja (Windows) y la nueva (Linux), ¿y cual es la diferencia si python es multiplataforma? Pues supongo que por la version de python que utilicé en cada momento, para Linux tube que declarar las cosas en orden, por ejemplo las funciones antes de ser llamadas,y tambien tube que hacer unas pequeñas modificaciones en el formulario ya que tkinter varia un poco de windows a linux en lo que a tamaños se refire (tambien el aspecto, queda mucho mas bonito en linux), ademas la version windows es mucho mas pesada ya que el py2exe basicamente lo que hace es meterte el interprete.¿No se puede...? Si la version Linux tambien se puede ejecutar en Win con el interprete, pero doy por hecho que hay gente que no sabrá hacer eso. Consiste en una reunion de ataques típicos de IRC pero adaptados a Terra, donde las versiones de mirc viejas (Ej:Poder Script sobre mirc 6.03) abundan, y donde los usuarios que entran por web no tienen ni una sola protección. Terra es un lugar isneguro, ya lo demostré tambien con un exploit en cyruxnet con el que poder sacar ips de los usuarios recien glineados.



Contenido
-Menu de ayuda
-Ataque normal
-Ataque via sock4
-Ataque via sock5
-Testeador de socks
* Online(Si/No)
* Gline(Si/No)
-Varios ataques
* DCC Overflow (DoS)
* Ping masivo (Dos)
* Version masivo (DoS)
-Marcador de estado

Podria ser mas completo pero seria inecesario.

Por cierto sera una version de prueba de varios dias, como comprendereis no os dejare con esto por ahi xD.

Descargas:
Compilado
Script

lunes, 5 de noviembre de 2007

Parcheador Terrirc - Nick en uso

Bueno como ya se sabe de hace tiempo fue descubierto un bug en los Terrircs(addons para coenctar a Terra atraves de IRC), con el cual se podía cambiarte el nick a uno aleatorio con tan solo poner la frase "Nick en uso.". Aqui os pongo un parcheador que he programado que parchea todos los terrircs contenidos en la carpeta addons de los scripts.



Link Descarga: Parcheador

Generador de nombew Drow

Un gran problema que tienen los roleros, sobre todos los principiantes, es poner el nombre al personaje, es la característica que menos usas, pero la mas dificil de elegir. Pues cuando se trata de personajes como Drows es todabía mas dificil, asi que aqui les dejo un regalito hecho en c# para todo aquel que tenga este problema con los Drows, un generador de nombres.



Link descarga: Generador de nombres Drow

Terra Proxy Checker

Buscando un bot espía que programe en python encontre mi proyecto final de un curso de diseño web donde en la seccion descargas tenía algunos addos que hice, como el resto son los típicos de usalos para pruebas con fines educativos y cosas asi, que luego la gente solo usa para dar por culo, coglare este. Basicamente lo que hace es recoger proxys de un txt mira si estan online y si estan glineados o no en Terra. Si no os gusta espero que al menos os sea util.


Captura Terra Proxy Checker

Link descarga: Terra Proxy Checker

IRC Terra

Como ya mucha gente sabe terra capo su entrada por irc hace tiempo, y se requiere algun tipo de bouncer para conectar.

Estos bouncers basicamente lo que hacen es escuchar conexiones de forma local y este conecta a chfl.terra.es:6969 enviandole las peticiones del cliente encapsuladas en XML y transformando el XML enviado por el server en IRC. ¿Porque esta encapsulado en XML el servidor IRC de terra? Pues la explicación que conozco es para que funcione su chatflash con el servidor.

Todo lo que envía el cliente ha de ir entre las etiquetas "<raw>" y "</raw>", y lo que recive del servidor es algo asi "<irc cmd="loquesea" rest="loquesea" a0="loquesea" />", supongo que me dejo cosas pero vale como ejemplo, el bouncer recogera los valores de cada propiedad de la etiqueta irc y los ordenara enviandolo como IRC al cliente.



Aqui os dejo un link de descarga del bouncer que mas me gusta:Terr@Bnc

Hola a todos

Bueno me llamo Juan Carlos tengo 22 años, vivo en Madrid, me encanta programar, asi que he decidido crear un blog donde vaya publicando las cosas que voy haciendo y quizas compartiendo los conocimientos que tenga, por infimos que sean, espero que les guste, o al menos les entretenga. Un saludo.

Cambio de blog.

Hola a todos de nuevo, debido a dificultades tecnicas he decidido pasarme a blogspot, espero estar aqui mas agusto, si no es hoy terminare mañana de pasar los articulos del otro blog a este. Bueno manos a la obra.