Cita de: Hans el Topo en 7 Septiembre 2007, 13:23 PM
estoy preguntando procedimientos y demás a implementar para tener una seguridad anticrakeo y validaciones/expiración de licencias...
Armadillo
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: Hans el Topo en 7 Septiembre 2007, 13:23 PM
estoy preguntando procedimientos y demás a implementar para tener una seguridad anticrakeo y validaciones/expiración de licencias...
Cita de: KiZaR en 5 Septiembre 2007, 19:23 PM
en asm hacer un downloader ocupa solo 650bytes
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
public static int contador = 0;
public static bool IsNumeric(object Expression)
{
bool isNum;
double retNum;
isNum = Double.TryParse(Convert.ToString(Expression), System.Globalization.NumberStyles.Any,System.Globalization.NumberFormatInfo.InvariantInfo, out retNum );
return isNum;
}
public static string Decompresor(string comprimido)
{
string decompres = "";
string num = "";
string caracter;
int diferencia = 1;
string sub;
string suba;
bool semaforo = false;
for (int e = 0; e < comprimido.Length; e++)
{
if (IsNumeric(comprimido.Substring(e, 1)) == true)
{
for (int j = 1; j < comprimido.Length; j++)
{
if (semaforo == true)
{
diferencia--;
if (diferencia != 0)
{
semaforo = false;
break;
}
}
string b;
bool a;
b = comprimido.Substring(e + j, 1);
a = IsNumeric(b);
if (a == false)
{
sub = comprimido.Substring(e);
num = "";
num = sub.Substring(0, j);
caracter = sub.Substring(j, 1);
diferencia = num.Length;
for (int m = 0; m < Convert.ToInt32(num); m++)
{
decompres = decompres + caracter;
}
semaforo = true;
break;
}
}
}
suba = comprimido.Substring(e, 1);
if (IsNumeric(suba) == false)
{
decompres = decompres + suba;
}
}
return decompres;
}
public static string Compresor(string texto)
{
string res = "";
for (int i=0;i<texto.Length-1;i++)
{
char a,b;
a = Convert.ToChar(texto.Substring(i,1));
b = Convert.ToChar(texto.Substring(i+1,1));
if (a == b)
{
contador++;
}
else
{
if (contador != 0)
{
res = res + Convert.ToString(contador);
contador = 0;
}
res = res + a;
}
}
res = res + texto.Substring(texto.Length - 1, 1);
if (contador != 0)
{
res = res.Substring(0, res.Length - 1);
res = res + Convert.ToString(contador);
res = res + texto.Substring(texto.Length - 1, 1);
}
return res;
}
static void Main(string[] args)
{
string palabra;
string resultado;
string result;
palabra = "heeeeeeeeeeeennnnnnnnnnnnddddddddrrrrrrriiiiixxxxxxxxxx";
resultado = Compresor(palabra);
result = Decompresor(resultado);
Console.WriteLine("La palabra original es: {0} \nLa palabra comprimida es: {1}\nLa palabra descomprimida es: {2}\n\n",palabra, resultado,result);
Console.WriteLine("Tamaño inicial: {0}\nTamaño Final: {1}", palabra.Length, resultado.Length);
Console.Read();
}
}
}