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


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 ... 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 [23] 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 ... 47
221  Programación / Java / Re: Traducir este código de C# a Java en: 22 Abril 2020, 22:19 pm
Hola rub'n,

y qué hay del método Zip.Decompress? Lo dejo como tú me lo compartiste? En caso de ser así ya me larga error en esta línea:

Código:
try(final ByteArrayInputStream bis = new ByteArrayInputStream(data);
El error es: Missing ')'.

Cómo podría solucionarlo?


Muchísimas gracias por tu ayuda y saludos
222  Programación / Java / Re: Traducir este código de C# a Java en: 22 Abril 2020, 21:36 pm
Hola rub'n,

muchas gracias por preguntar. Lo que en realidad quiero hacer es descifrar Hashlinks con Java (traduciendo un código de C# con el cual ya se puede hacer eso).

Y en este link empieza la historia: https://github.com/AresChat/cb0t/blob/37b45f81a1b61355423475f1f9cb519de74e7b52/cb0t/Misc/Hashlink.cs

Empieza, en especial en este código (en el comentario te muestro hasta donde traduci):
Código:
public static DecryptedHashlink DecodeHashlink(String hashlink)
        {
            DecryptedHashlink room = new DecryptedHashlink();

            try
            {
                if (hashlink.ToUpper().StartsWith("CHATROOM:")) // not encrypted
                {
                    hashlink = hashlink.Substring(9);
                    int split = hashlink.IndexOf(":");
                    room.IP = IPAddress.Parse(hashlink.Substring(0, split));
                    hashlink = hashlink.Substring(split + 1);
                    split = hashlink.IndexOf("|");
                    room.Port = ushort.Parse(hashlink.Substring(0, split));
                    room.Name = hashlink.Substring(split + 1);
                    return room;
                }
                else // encrypted
                {
                    byte[] buf = Convert.FromBase64String(hashlink);
                    buf = d67(buf, 28435); //hasta ahí pude traducir sin problemas
                    buf = Zip.Decompress(buf);

                    HashlinkReader reader = new HashlinkReader(buf);
                    reader.SkipBytes(32);
                    room.IP = reader;
                    room.Port = reader;
                    reader.SkipBytes(4);
                    room.Name = reader;

                    return room;
                }
            }
            catch // badly formed hashlink
            {
                return null;
            }
        }

Y ahí está el método Zip.Decompress(): https://github.com/AresChat/cb0t/blob/37b45f81a1b61355423475f1f9cb519de74e7b52/cb0t/Misc/Zip.cs

El método Zip.Decompress() es el del que trata este post.


Muchísimas gracias y muchos saludos
223  Programación / Java / Re: Traducir este código de C# a Java en: 22 Abril 2020, 19:02 pm
Hola rub'n,

¡¡wow!!

El único detalle que se me olvidó comentar fue que la clase InflaterInputStream que mostré en el pequeño código se refiere a esta clase: https://github.com/icsharpcode/SharpZipLib/blob/master/src/ICSharpCode.SharpZipLib/Zip/Compression/Streams/InflaterInputStream.cs

Como no necesito todo el contenido, no quería traducir todo. Pero solamente pude traducir cómo pasar parámetros de un constructor a otro. Nada más :( :

Código:
public class InflaterInputStream {
public InflaterInputStream(Stream baseInputStream)
{
this(baseInputStream, new Inflater(), 4096);
}

/// <summary>
/// Create an InflaterInputStream with the specified decompressor
/// and a default buffer size of 4KB.
/// </summary>
/// <param name = "baseInputStream">
/// The source of input data
/// </param>
/// <param name = "inf">
/// The decompressor used to decompress data read from baseInputStream
/// </param>


/// <summary>
/// Create an InflaterInputStream with the specified decompressor
/// and the specified buffer size.
/// </summary>
/// <param name = "baseInputStream">
/// The InputStream to read bytes from
/// </param>
/// <param name = "inflater">
/// The decompressor to use
/// </param>
/// <param name = "bufferSize">
/// Size of the buffer to use
/// </param>
public InflaterInputStream(Stream baseInputStream, Inflater inflater, int bufferSize)
{
if (baseInputStream == null)
{
throw new ArgumentNullException(nameof(baseInputStream));
}

if (inflater == null)
{
throw new ArgumentNullException(nameof(inflater));
}

if (bufferSize <= 0)
{
throw new ArgumentOutOfRangeException(nameof(bufferSize));
}

this.baseInputStream = baseInputStream;
this.inf = inflater;

inputBuffer = new InflaterInputBuffer(baseInputStream, bufferSize);
}
}

En especial no se cómo crear un objeto de Stream como en el código.

Se tendría que modificar el código que tú compartiste si se tiene en cuenta que InflaterInputStream no es lo que quizás tú pensaste que era?

Aunque quizás no se tenga que cambiar tu código --> https://icsharpcode.github.io/SharpZipLib/help/api/ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream.html
En ese link sale el autor original de Java...


Muchísimas gracias y muchos saludos
224  Programación / Java / Traducir este código de C# a Java en: 22 Abril 2020, 14:51 pm
Hola a todos,

¿alguien me puede ayudar, por favor, a traducir este pequeño código de C# a Java?

Código:
public static byte[] Decompress(byte[] data)
        {
            try
            {
                byte[] r = null;

                using (MemoryStream ms = new MemoryStream(data))
                using (Stream s = new InflaterInputStream(ms))
                {
                    List<byte> list = new List<byte>();
                    int count = 0;
                    byte[] b = new byte[8192];

                    while ((count = s.Read(b, 0, 8192)) > 0)
                        list.AddRange(b.Take(count));

                    r = list.ToArray();
                    list.Clear();
                    list = null;
                }

                return r;
            }
            catch { }

            return new byte[] { };
        }
En especial, no se cómo programar estás dos líneas con Java:
Código:
using (MemoryStream ms = new MemoryStream(data))
using (Stream s = new InflaterInputStream(ms))
Ya que en Java reemplazo el using por el try. Pero no funciona si lo hago dos veces en este caso.


Gracias y saludos
225  Foros Generales / Dudas Generales / Re: Problema con virtualbox portable en: 15 Abril 2020, 13:07 pm
Hola Krackenginner,

imagen ISO? ¡Sabes que hay imágenes especiales de VirtualBox!

Ya sea .ova o vmdk...


Saludos
226  Foros Generales / Dudas Generales / Re: Número virtual para Whatsapp en: 7 Abril 2020, 16:50 pm
Hola Shell Root,

al ingresar con mi cuenta de Google dice que ingrese el codigo de area. Mi codigo de area tiene 4 digitos pero solo me deja poner hasta 3 digitos.

No importa que codigo de area ingreso?


Gracias y saludos
227  Foros Generales / Dudas Generales / Re: Número virtual para Whatsapp en: 7 Abril 2020, 13:59 pm
¿Crees que no busque? De lo contrario no hubiera preguntado aquí...


Saludos
228  Foros Generales / Dudas Generales / Número virtual para Whatsapp en: 7 Abril 2020, 11:34 am
Hola a todos,

¿dónde puedo conseguir un número virtual para Whatsapp gratis?


Gracias y saludos
229  Programación / Desarrollo Web / javascript - Generador Sudoku en: 3 Enero 2020, 19:39 pm
Hola a todos,

aquí hay otra vez un javascript del usuario “Totalmente automático” (muchas gracias!). Se trata de un generador Sudoku, en el cual ustedes mismos podrán elegir el grado de dificultad.

En breve la explicación del juego para todos quienes todavía no lo conocen.

El objetivo del Sodoku es ubicar los números del 1 al 9 tanto verticalmente como también horizontalmente como también dentro de los bloques 3x3 correspondientes de tal manera que en cada fila, en cada columna y en cada bloque esos números respectivamente figuren solo una vez.

Si se ha logrado esto, el Sodoku esta solucionado.

Pues bien, que se diviertan desvanandose los sesos en el Sodoku :)

Código:
Código:
<!DOCTYPE html>
<html>
<head>
  <title>Ejemplo de javascript</title>
  <meta charset="UTF-8">
</head>
<body>
<!-- Presentado por javascripts-gratis.de -->
<script type='text/javascript'>
<!--
// (c) Copyright by Totalmente automatico 2007
///////
var estadoSudoku = 1; // Ingresar aqui si el sudoku debe imprimirse completamente (3) o solamente condicionado (1)
///////


// Sry, ni idea de donde tengo el segmento hasta ***... :-|
// --> Google tiene la culpa...
 function arrayShuffle(){
  var tmp, borde;
  for(var i =0; i < this.length; i++)
  {
    borde = Math.floor(Math.random() * this.length);
    tmp = this[i];
    this[i] = this[borde];
    this[borde] =tmp;
  }
}
Array.prototype.shuffle = arrayShuffle;
// ********


function sudoku_reset() {
for (var i = 1; i <= 81; i++) {
document.getElementById('celdaSudoku'+i).value = "";
}
}

function generar_sudoku ()
   {
   var campos = new Array();
sudoku_reset();
   
    var cola = new Array(1,2,3,4,5,6,7,8,9);
    cola.shuffle();
     for (var i = 1; i <= 81; i++)
     {
       campos[i-1] = cola[(i-1)%9];
       if (i %9 == 0) { var camino1 = cola[0]; var camino2 = cola[1]; var camino3 = cola[2]; cola.shift(); cola.shift(); cola.shift(); cola[6] = camino1; cola[7] = camino2; cola[8] = camino3; }
       if (i %27 == 0) { var camino = cola[0]; cola.shift(); cola[8] = camino; }
     }

     for (var cantidad = 0; cantidad < 400; cantidad++)   // 400 colas sustituidas!
     {
       if (Math.random() >= 0.333)
       {
       var betr_cola_1 = parseInt(Math.random() * 9);
       if (betr_cola_1 == 0) {   if (Math.random() > 0.5) { betr_cola_2 = 1; } else { betr_cola_2 = 2; }   }
       if (betr_cola_1 == 1) {   if (Math.random() > 0.5) { betr_cola_2 = 0; } else { betr_cola_2 = 2; }   }
       if (betr_cola_1 == 2) {   if (Math.random() > 0.5) { betr_cola_2 = 1; } else { betr_cola_2 = 0; }   }
       if (betr_cola_1 == 3) {   if (Math.random() > 0.5) { betr_cola_2 = 4; } else { betr_cola_2 = 5; }   }
       if (betr_cola_1 == 4) {   if (Math.random() > 0.5) { betr_cola_2 = 3; } else { betr_cola_2 = 5; }   }
       if (betr_cola_1 == 5) {   if (Math.random() > 0.5) { betr_cola_2 = 4; } else { betr_cola_2 = 3; }   }
       if (betr_cola_1 == 6) {   if (Math.random() > 0.5) { betr_cola_2 = 7; } else { betr_cola_2 = 8; }   }
       if (betr_cola_1 == 7) {   if (Math.random() > 0.5) { betr_cola_2 = 6; } else { betr_cola_2 = 8; }   }
       if (betr_cola_1 == 8) {   if (Math.random() > 0.5) { betr_cola_2 = 7; } else { betr_cola_2 = 6; }   }
       var entre = new Array();

         for (var i = 0; i <= 8; i++) { entre[i] = campos[betr_cola_1 * 9 + i]; }
         for (var i = 0; i <= 8; i++) { campos[betr_cola_1 * 9 + i] = campos[betr_cola_2 * 9 + i]; }
         for (var i = 0; i <= 8; i++) { campos[betr_cola_2 * 9 + i] = entre[i]; }
       }

       else if (Math.random() >= 0.666)
       {
       var betr_columna_1 = parseInt(Math.random() * 9);
       if (betr_columna_1 == 0) {   if (Math.random() > 0.5) { betr_columna_2 = 1; } else { betr_columna_2 = 2; }   }
       if (betr_columna_1 == 1) {   if (Math.random() > 0.5) { betr_columna_2 = 0; } else { betr_columna_2 = 2; }   }
       if (betr_columna_1 == 2) {   if (Math.random() > 0.5) { betr_columna_2 = 1; } else { betr_columna_2 = 0; }   }
       if (betr_columna_1 == 3) {   if (Math.random() > 0.5) { betr_columna_2 = 4; } else { betr_columna_2 = 5; }   }
       if (betr_columna_1 == 4) {   if (Math.random() > 0.5) { betr_columna_2 = 3; } else { betr_columna_2 = 5; }   }
       if (betr_columna_1 == 5) {   if (Math.random() > 0.5) { betr_columna_2 = 4; } else { betr_columna_2 = 3; }   }
       if (betr_columna_1 == 6) {   if (Math.random() > 0.5) { betr_columna_2 = 7; } else { betr_columna_2 = 8; }   }
       if (betr_columna_1 == 7) {   if (Math.random() > 0.5) { betr_columna_2 = 6; } else { betr_columna_2 = 8; }   }
       if (betr_columna_1 == 8) {   if (Math.random() > 0.5) { betr_columna_2 = 7; } else { betr_columna_2 = 6; }   }
       var entre = new Array();

         for (var i = 0; i <= 8; i++) { entre[i] = campos[betr_columna_1 + i * 9]; }
         for (var i = 0; i <= 8; i++) { campos[betr_columna_1 + i * 9] = campos[betr_columna_2 + i * 9]; }
         for (var i = 0; i <= 8; i++) { campos[betr_columna_2 + i * 9] = entre[i]; }
       }

       else
       {
       var betr_cola_bloque_1 = parseInt(Math.random() * 3);
       if (betr_cola_bloque_1 == 0) {   if (Math.random() > 0.5) { betr_cola_bloque_2 = 1; } else { betr_cola_bloque_2 = 2; }   }
       if (betr_cola_bloque_1 == 1) {   if (Math.random() > 0.5) { betr_cola_bloque_2 = 0; } else { betr_cola_bloque_2 = 2; }   }
       if (betr_cola_bloque_1 == 2) {   if (Math.random() > 0.5) { betr_cola_bloque_2 = 0; } else { betr_cola_bloque_2 = 1; }   }
       var entre = new Array();

         for (var i = 0; i <= 26; i++) { entre[i] = campos[betr_cola_bloque_1 * 27 + i]; }
         for (var i = 0; i <= 26; i++) { campos[betr_cola_bloque_1 * 27 + i] = campos[betr_cola_bloque_2 * 27 + i]; }
         for (var i = 0; i <= 26; i++) { campos[betr_cola_bloque_2 * 27 + i] = entre[i]; }
       }
     }

     if (document.getElementById('difiSudoku0').checked == true) { number = 36; }
     if (document.getElementById('difiSudoku1').checked == true) { number = 30; }
     if (document.getElementById('difiSudoku2').checked == true) { number = 26; }
     if (document.getElementById('difiSudoku3').checked == true) { number = 22; }
     var cuales = new Array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81);
     cuales.shuffle();
     estado = document.getElementById('estadoSudoku').value;
   for (var i = 0; i < number*estado; i++)
   {
for (var k = 1; k <= 81; k++) {
if (cuales[0] == k) document.getElementById('celdaSudoku'+k).value = campos[k-1];
}
  cuales.shift();
   }
   for (var i = 1; i <= 81; i++) {
document.getElementById('celdaSudoku'+i+'_hid').value = campos[i-1];
   }
}

function resolver ()
{
for (var i = 1; i <= 81; i++) {
document.getElementById('celdaSudoku'+i).value = document.getElementById('celdaSudoku'+i+'_hid').value;
}
}

function sudokuInit() {
document.write('<input type="hidden" name="estadoSudoku" id="estadoSudoku" value="1" />');
document.write('<h3 style="display: inline;">Tu propio Sudoku</h3>');
document.write('<br />');
document.write('<fieldset>');
document.write('<legend>Generador Sudoku</legend>');
document.write('<br />');
document.getElementById('estadoSudoku').value = 1;

document.write("<style type='text/css'>");
document.write(".input { border: 1px solid #000000; width: 25px; height: 25px; text-align: center; font-family: Arial; font-weight: bold; }");
document.write("fieldset { width: 50%; padding: 10px; float: center; margin-left: auto; margin-right: auto; }");
document.write("</style>");
for (var j = 1; j <= 1; j++)
{
for (var i = 1; i <= 81; i++)
{
document.write("<input type='text' name='celdaSudoku"+i+"' id='celdaSudoku"+i+"' maxlength='1' style='overflow: hidden' class='input'> ");
if (i %3 == 0){ document.write("    "); }
if ( (i %9 == 0) && (i != 81) ){ document.write("<br />"); }
if (i %27 == 0) { document.write("<br />"); }
}
}
for (var i = 1; i <= 81; i++)
{
document.write("<input type='hidden' name='celdaSudoku"+i+"_hid' id='celdaSudoku"+i+"_hid' />");
}

document.write('<input type="radio" name="difi" id="difiSudoku0" checked="checked" /> <b>*</b>   ');
document.write('<input type="radio" name="difi" id="difiSudoku1" /> <b>**</b>   ');
document.write('<input type="radio" name="difi" id="difiSudoku2" /> <b>***</b>   ');
document.write('<input type="radio" name="difi" id="difiSudoku3" /> <b>****</b>');
document.write('<br /><br />');
document.write('<button onclick="generar_sudoku();">Generar</button>');
document.write('   ');
document.write('<button onclick="sudoku_reset();">Desechar</button>');
document.write('   ');
document.write('<button onclick="resolver();">Resolver</button>');
document.write('</fieldset>');
}
//-->
</script>
<script type="text/javascript">sudokuInit();</script>
<!-- Presentado por javascripts-gratis.de -->
</body>
</html>

Página web:
https://drive.google.com/open?id=1LKzs8_a1B0JiVA76r3RjjUT24Nqd3RBr

Autor: Totalmente automático

Saludos
230  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Web Application Firewall (WAF) Blocked en: 5 Noviembre 2019, 18:24 pm
Hola string Manolo,

es que yo solo quiero modificar el titulo y el código javascript que ya se puede ver en mi post...

No es que quiera poner un nuevo código...

:( :( :( :( :(


Gracias y saludos
Páginas: 1 ... 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 [23] 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 ... 47
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines