Enero 2009
DFS
DFS, acrónimo para Depth-First Search, en español Búsqueda en Profundidad, es un algoritmo usado para procesar grafos, una búsqueda tal como lo describe el nombre. La idea es que se toma como prioridad en la búsqueda la profundidad del nodo. Para demostrarlo, el siguiente grafo presenta como contenido de los nodos, el índice en el cual es procesado.
C#: Clase para conversion de sistemas numericos
Buenas..
Un pequeño code de una clase para convertir sistemas numéricos, esta hecho lo mas a mano posible, es decir todo a pulmón.
los metodos publicos son estos, reciben y retornan cadenas
binarioToDecimal
decimalToBinario
octalToDecimal
decimalToOctal
hexadecimalToDecimal
decimalTohexadecimal
Leer Mas
C#: Convertir string a entero a pulmon
Gracias a la camaleona por tirarme el gancho con lo de las equivalencias ascii, bien sencillito el code es la clase simplemente para usarlo crean otra clase, instancian el objeto y ya pueden usarlo, mas que nada es una simple practica porque no hay nada mas eficiente que lo del propio lenguaje
/*
* Hecho por Leonardo B
* Made in Venezuela
* Kalith.9 <at> gmail <dot> com
* http://kernelerror.net
*/
using System;
class stringAentero
{
private static int retorEquiAscii(string num)
{
switch (num)
{
case "0":
return 48;
case "1":
return 49;
case "2":
return 50;
case "3":
return 51;
case "4":
return 52;
case "5":
return 53;
case "6":
return 54;
case "7":
return 55;
case "8":
return 56;
case "9":
return 57;
default:
return 0;
}
}
public int stringToInt(string num)
{
int res = 0,
pos = num.Length;
for (int i = 0; i < num.Length; ++i)
res += (retorEquiAscii(num.Substring(i, 1))-48) * Convert.ToInt32(Math.Pow(10, (double)--pos));
return res;
}
}
C#: MD5Tool
Sencillito una tool md5, para encontrar la clave que fuese antes colisionada..
/*
* 11/01/08
* 2:44 am
* Cardenales 5 - Caracas 4
* A bored night
* Leonardo B (a.k.a Kalith)
* Universidad Centroocidental Lisandro Alvarado
* http://kernelerror.net
*/
using System;
using System.IO;
using System.Text;
using System.Security.Cryptography;
class MD5
{
private static string path;
private static string hash;
private static string resultado;
private static string[] listaPalabras;
private static bool cr = false;
private void comparar()
{
for (int i = 0; i < listaPalabras.Length; ++i)
{
if (hash == generarMd5(listaPalabras[i]))
{
resultado = listaPalabras[i];
cr = true;
break;
}
}
if (!cr)
{
resultado = "";
}
}
private void transfertexto()
{
if (File.Exists(path))
{
listaPalabras = File.ReadAllLines(path);
comparar();
}
else
returnMSG1();
}
private string retornarResultado()
{
return resultado;
}
private void returnMSG1()
{
Console.WriteLine("The file does not exist");
}
private string generarMd5(string palabra)
{
StringBuilder agr = new StringBuilder();
byte[] bs = Encoding.UTF8.GetBytes(palabra);
MD5CryptoServiceProvider Md5 = new MD5CryptoServiceProvider();
foreach (byte i in Md5.ComputeHash(bs))
{
agr.Append(i.ToString("x2").ToLower());
}
return agr.ToString();
}
public void usageMode()
{
Console.WriteLine("Usage mode:\nApp hash wordlist.txt");
Console.WriteLine("Example: Md5.exe e99008846853ff3b725c27315e469fbc words.txt");
}
public void returnMSG2()
{
Console.WriteLine("waiting please\n");
}
public void MostrarResultados()
{
if (resultado == "")
{
Console.WriteLine("hash not found");
}
else
{
Console.WriteLine("hash: {0}\nkey: {1}", generarMd5(resultado), resultado);
}
}
public void presentacion()
{
Console.WriteLine("Kernel Error's Labs presents:");
Console.WriteLine("MD5Cracker");
Console.WriteLine("author: Kalith");
Console.WriteLine("Kalith <at> gmail <dot> com\n\n");
}
public void llenado(string Enhash, string Enpath)
{
hash = Enhash;
path = Enpath;
transfertexto();
}
}
class ejecucion
{
static void Main(string[] args)
{
MD5 objMD5 = new MD5();
if (args.Length == 2)
{
objMD5.presentacion();
objMD5.llenado(args[0], args[1]);
objMD5.returnMSG2();
objMD5.MostrarResultados();
}
else
objMD5.usageMode();
}
}
Introduccion a Metasploit Framework
He hecho una introduccion basica al uso de Metasploit Framework, para que se hagan una idea de como usar este gran area de trabajo, basada en Exploits, Payloads, etc..
espero que aprendan de el.
C#: Generar md5
Buenas
Primero tenemos que tener ciertas inclusiones, tanto la que provee el algoritmo en .NET y para hacer las operaciones con texto
using System; using System.Security.Cryptography; using System.Text;
la clase quedaría basicamente así:
static string generarMd5(string palabra)
{
StringBuilder agr = new StringBuilder();
byte[] bs = Encoding.UTF8.GetBytes(palabra);
MD5CryptoServiceProvider Md5 = new MD5CryptoServiceProvider();
foreach (byte i in Md5.ComputeHash(bs))
{
agr.Append(i.ToString("x2").ToLower());
}
return agr.ToString();
}
Introducción a PHP
Introduccion a PHP
PHP toma un poco de su sintaxis de otros lenguajes como C, shell, Perl,e incluso Java. Por lo que se puede decir que es una mescla de las mejores características de otros lenguajes brindando facilidad y funcionalidad. Lo que explicare en este primer post es:
- Como PHP se inserta en HTML
- Como escribir comentarios
- Referencia indirecta a Variables
- Variables de Gestión
Manejo de bits fuera de gcc
Bien, las siguientes funciones que trabajan con bits pertenecen solo al compilador gcc:
- __builtin_ctz
- __builtin_clz
- __builtin_popcount
Por lo tanto, si se requiere el uso en otros compiladores puede no encontrarse soporte, en mi caso, por ejemplo, que uso Visual C++, de tal modo que realice la implementación de tales funciones en C++, adjunto le añado una pequeña descripción para aquel que no los conozca:
Leer Mas
C#: Manejo de archivos de texto (I)
Buenas
Veamos un poco como manejar los ficheros en la plataforma .NET específicamente orientados a c#, en esta entrega solo nos enfocaremos a la clase File, luego utilizaremos otras clases útiles.
Hagamos las inclusiones necesarias:
using System.IO;
We are back (again x2)

Pues nada acá Kernel Error de vuelta (again), algunas caras nuevas, otras no tanto pero ya saben gente, intentando hacer lo mejor posible para su agrado y compartir nuestras vivencias en este mundo de ceros y unos con ustedes
att B@cho, Kalith Llyn y HackeZ
Saludos muy especiales a Casper y Frana, co-ex-fundadores de Kernel Error

