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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Mensajes
Páginas: 1 ... 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 [194] 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 ... 287
1931  Seguridad Informática / Hacking / Re: recuperar correo gmail robado ayuda plz llevo un mes en: 8 Agosto 2019, 04:45 am
Habla con el soporte. Dile que tienes acceso a todos los dispositivos con los que entraste al correo. Que te robaron la contraseña y necesitas que te la restablezcan.

Sabes como te la robaron? Igual tienen acceso a tu pc o te desconfiguraron el router entre otras posibilidades.

Desconecta el router. Formatea e instala el sistema operativo de 0. Enciende el router y resetéalo de fábrica. Conéctate desde el pc al router y cambia la clave del wi-fi, pon una contraseña larga. Cambia también el usuario y contrasela de administración del router. Actualiza tu sistema operativo. Contacta con el soporte para que restablezca tu contraseña del correo. Pon una nueva y bien larga. Puedes utilizar por ejemplo el número de tu dni+tu comida favorita, el título de un libro que lleve tiempo en casa y su número de páginas + la marca de la lavadora xD(usa otros datos menos comunes pero que recuerdes) para que no se te olvide. Nunca se la des a nadie y no utilices los links que te vengan en los correos para iniciar sesión en tu cuenta o recuperar contraseñas. No utilices la misma contraseña ni muy parecidas en el mismo sitio.
1932  Seguridad Informática / Hacking / Re: Experto en WhatsApp en: 8 Agosto 2019, 04:23 am
Se puede falsear toda la info que te envien y los números que te salen. Al igual que imágenes, etc.

1933  Programación / Desarrollo Web / ASCII a Base64 (encoder - javascript) en: 8 Agosto 2019, 03:58 am
Decoder https://foro.elhacker.net/desarrollo_web/base64_a_ascii_decoder-t498429.0.html
Cambiarle las etiquetas <js> y </js> por las correspondientes para añadir el javascript al html. Lo puse así para que el Cloudfare no me detecte los scripts y no me rediriga en bucle a captchas al publicar el código en el foro.

Podeis probarlo offline con un copia y pega, substituyendo las etiquetas y guardándolo con extensión html o htm con el bloc de notas o cualquier otro editor de texto dándole a "guardar como". Por ejemplo: cifradobase64.html

Podeis añadirlo a vuestra web o usarlo como querais y para lo que querais.

Características.
-La implementación es super sencilla de entender. Así quien no sepa como funciona exactamente el cifrado base64, buscándolo en wikipedia (o en el propio foro de criptografía se lo expliqué a un usuario) y mirando el código pueda entenderlo. A parte es fácilmente portable a cualquier otro lenguaje.
-Filtra todos los espacios y carácteres no contemplados en la tabla común del cifrado base64 del texto original. Se le añaden fácilmente si se desea.
-Facil cambiar la base de 64 a otra base.
-Solo cifra, no descifra. Le añadí el igual al texto cifrado (en caso de necesitarlo) para poder descifrarlo con cualquier herramienta online o implementar vosotros el decoder. Puede que lo haga yo y lo suba también cuando me aburra.


Código
  1. &#65279;<html>
  2. <head><title>Encoder Base64</title></head>
  3. <body>
  4. <js>
  5. var CadenaEnTexto;
  6. var CadenaEnTextoTamanho;
  7. var CadenaEnASCII = "";
  8. var CadenaDeBits6en6 = "";
  9. var CadenaDeBits6en6Tamanho;
  10. var RestoDeDividirEntre6 = 0;
  11. var ContadorNumDeCerosAnhadidos = 0;
  12. var mantenerseEnBucle = true;
  13. var TempBits6 = "";
  14. var x = 0;
  15. var z = 0;
  16. var CifradoFinal = "";
  17.  
  18.  
  19. CadenaEnTexto = prompt("Pon el texto");
  20.  
  21. CadenaEnTextoTamanho = CadenaEnTexto.length;
  22.  
  23. for (var i = 0; i < CadenaEnTextoTamanho; ++i)
  24. {
  25.   if (CadenaEnTexto[i] == 'A')
  26.   {
  27.   CadenaEnASCII += "01000001";
  28.   }
  29.  
  30. if (CadenaEnTexto[i] == 'B')
  31.   {
  32.   CadenaEnASCII += "01000010";
  33.   }
  34.  
  35. if (CadenaEnTexto[i] == 'C')
  36.   {
  37.   CadenaEnASCII += "01000011";
  38.   }
  39.  
  40. if (CadenaEnTexto[i] == 'D')
  41.   {
  42.   CadenaEnASCII += "01000100";
  43.   }
  44.  
  45. if (CadenaEnTexto[i] == 'E')
  46.   {
  47.   CadenaEnASCII += "01000101";
  48.   }
  49.  
  50. if (CadenaEnTexto[i] == 'F')
  51.   {
  52.   CadenaEnASCII += "01000110";
  53.   }
  54.  
  55. if (CadenaEnTexto[i] == 'G')
  56.   {
  57.   CadenaEnASCII += "01000111";
  58.   }
  59.  
  60. if (CadenaEnTexto[i] == 'H')
  61.   {
  62.   CadenaEnASCII += "01001000";
  63.   }
  64.  
  65. if (CadenaEnTexto[i] == 'I')
  66.   {
  67.   CadenaEnASCII += "01001001";
  68.   }
  69.  
  70. if (CadenaEnTexto[i] == 'J')
  71.   {
  72.   CadenaEnASCII += "01001010";
  73.   }
  74.  
  75. if (CadenaEnTexto[i] == 'K')
  76.   {
  77.   CadenaEnASCII += "01001011";
  78.   }
  79.  
  80. if (CadenaEnTexto[i] == 'L')
  81.   {
  82.   CadenaEnASCII += "01001100";
  83.   }
  84.  
  85. if (CadenaEnTexto[i] == 'M')
  86.   {
  87.   CadenaEnASCII += "01001101";
  88.   }
  89.  
  90. if (CadenaEnTexto[i] == 'N')
  91.   {
  92.   CadenaEnASCII += "01001110";
  93.   }
  94.  
  95. if (CadenaEnTexto[i] == 'O')
  96.   {
  97.   CadenaEnASCII += "01001111";
  98.   }
  99.  
  100. if (CadenaEnTexto[i] == 'P')
  101.   {
  102.   CadenaEnASCII += "01010000";
  103.   }
  104.  
  105. if (CadenaEnTexto[i] == 'Q')
  106.   {
  107.   CadenaEnASCII += "01010001";
  108.   }
  109.  
  110. if (CadenaEnTexto[i] == 'R')
  111.   {
  112.   CadenaEnASCII += "01010010";
  113.   }
  114.  
  115. if (CadenaEnTexto[i] == 'S')
  116.   {
  117.   CadenaEnASCII += "01010011";
  118.   }
  119.  
  120. if (CadenaEnTexto[i] == 'T')
  121.   {
  122.   CadenaEnASCII += "01010100";
  123.   }
  124.  
  125. if (CadenaEnTexto[i] == 'U')
  126.   {
  127.   CadenaEnASCII += "01010101";
  128.   }
  129.  
  130. if (CadenaEnTexto[i] == 'V')
  131.   {
  132.   CadenaEnASCII += "01010110";
  133.   }
  134.  
  135. if (CadenaEnTexto[i] == 'W')
  136.   {
  137.   CadenaEnASCII += "01010111";
  138.   }
  139.  
  140. if (CadenaEnTexto[i] == 'X')
  141.   {
  142.   CadenaEnASCII += "01011000";
  143.   }
  144.  
  145. if (CadenaEnTexto[i] == 'Y')
  146.   {
  147.   CadenaEnASCII += "01011001";
  148.   }
  149.  
  150. if (CadenaEnTexto[i] == 'Z')
  151.   {
  152.   CadenaEnASCII += "01011010";
  153.   }
  154.  
  155. if (CadenaEnTexto[i] == 'a')
  156.   {
  157.   CadenaEnASCII += "01100001" ;
  158.   }
  159.  
  160. if (CadenaEnTexto[i] == 'b')
  161.   {
  162.   CadenaEnASCII += "01100010";
  163.   }
  164.  
  165. if (CadenaEnTexto[i] == 'c')
  166.   {
  167.   CadenaEnASCII += "01100011";
  168.   }
  169.  
  170. if (CadenaEnTexto[i] == 'd')
  171.   {
  172.   CadenaEnASCII += "01100100";
  173.   }
  174.  
  175. if (CadenaEnTexto[i] == 'e')
  176.   {
  177.   CadenaEnASCII += "01100101";
  178.   }
  179.  
  180. if (CadenaEnTexto[i] == 'f')
  181.   {
  182.   CadenaEnASCII += "01100110";
  183.   }
  184.  
  185. if (CadenaEnTexto[i] == 'g')
  186.   {
  187.   CadenaEnASCII += "01100111";
  188.   }
  189.  
  190. if (CadenaEnTexto[i] == 'h')
  191.   {
  192.   CadenaEnASCII += "01101000";
  193.   }
  194.  
  195. if (CadenaEnTexto[i] == 'i')
  196.   {
  197.   CadenaEnASCII += "01101001";
  198.   }
  199.  
  200.  
  201. if (CadenaEnTexto[i] == 'j')
  202.   {
  203.   CadenaEnASCII += "01101010";
  204.   }
  205.  
  206. if (CadenaEnTexto[i] == 'k')
  207.   {
  208.   CadenaEnASCII += "01101011";
  209.   }
  210.  
  211. if (CadenaEnTexto[i] == 'l')
  212.   {
  213.   CadenaEnASCII += "01101100";
  214.   }
  215.  
  216. if (CadenaEnTexto[i] == 'm')
  217.   {
  218.   CadenaEnASCII += "01101101";
  219.   }
  220.  
  221. if (CadenaEnTexto[i] == 'n')
  222.   {
  223.   CadenaEnASCII += "01101110";
  224.   }
  225.  
  226. if (CadenaEnTexto[i] == 'o')
  227.   {
  228.   CadenaEnASCII += "01101111";
  229.   }
  230.  
  231. if (CadenaEnTexto[i] == 'p')
  232.   {
  233.   CadenaEnASCII += "01110000";
  234.   }
  235.  
  236. if (CadenaEnTexto[i] == 'q')
  237.   {
  238.   CadenaEnASCII += "01110001";
  239.   }
  240.  
  241.  
  242. if (CadenaEnTexto[i] == 'r')
  243.   {
  244.   CadenaEnASCII += "01110010";
  245.   }
  246.  
  247. if (CadenaEnTexto[i] == 's')
  248.   {
  249.   CadenaEnASCII += "01110011";
  250.   }
  251.  
  252. if (CadenaEnTexto[i] == 't')
  253.   {
  254.   CadenaEnASCII += "01110100";
  255.   }
  256.  
  257. if (CadenaEnTexto[i] == 'u')
  258.   {
  259.   CadenaEnASCII += "01110101";
  260.   }
  261.  
  262. if (CadenaEnTexto[i] == 'v')
  263.   {
  264.   CadenaEnASCII += "01110110";
  265.   }
  266.  
  267. if (CadenaEnTexto[i] == 'w')
  268.   {
  269.   CadenaEnASCII += "01110111";
  270.   }
  271.  
  272. if (CadenaEnTexto[i] == 'x')
  273.   {
  274.   CadenaEnASCII += "01111000";
  275.   }
  276.  
  277. if (CadenaEnTexto[i] == 'y')
  278.   {
  279.   CadenaEnASCII += "01111001";
  280.   }
  281.  
  282. if (CadenaEnTexto[i] == 'z')
  283.   {
  284.   CadenaEnASCII += "01111010";
  285.   }
  286.  
  287. if (CadenaEnTexto[i] == '0')
  288.   {
  289.   CadenaEnASCII += "00110000";
  290.   }
  291.  
  292. if (CadenaEnTexto[i] == '1')
  293.   {
  294.   CadenaEnASCII += "00110001";
  295.   }
  296.  
  297. if (CadenaEnTexto[i] == '2')
  298.   {
  299.   CadenaEnASCII += "00110010";
  300.   }
  301.  
  302.  
  303. if (CadenaEnTexto[i] == '3')
  304.   {
  305.   CadenaEnASCII += "00110011";
  306.   }
  307.  
  308. if (CadenaEnTexto[i] == '4')
  309.   {
  310.   CadenaEnASCII += "00110100";
  311.   }
  312.  
  313. if (CadenaEnTexto[i] == '5')
  314.   {
  315.   CadenaEnASCII += "00110101";
  316.   }
  317.  
  318. if (CadenaEnTexto[i] == '6')
  319.   {
  320.   CadenaEnASCII += "00110110";
  321.   }
  322.  
  323. if (CadenaEnTexto[i] == '7')
  324.   {
  325.   CadenaEnASCII += "00110111";
  326.   }
  327.  
  328. if (CadenaEnTexto[i] == '8')
  329.   {
  330.   CadenaEnASCII += "00111000";
  331.   }
  332.  
  333. if (CadenaEnTexto[i] == '9')
  334.   {
  335.   CadenaEnASCII += "00111001";
  336.   }
  337.  
  338. if (CadenaEnTexto[i] == '+')
  339.   {
  340.   CadenaEnASCII += "00101011";
  341.   }
  342.  
  343. if (CadenaEnTexto[i] == '/')
  344.   {
  345.   CadenaEnASCII += "00101111";
  346.   }
  347.  
  348. }
  349.  
  350. CadenaDeBits6en6 += CadenaEnASCII;
  351. CadenaDeBits6en6Tamanho = CadenaDeBits6en6.length;
  352.  
  353. RestoDeDividirEntre6 = CadenaDeBits6en6Tamanho % 6;
  354.  
  355. switch (RestoDeDividirEntre6)
  356. {
  357.   case 2:
  358.   {
  359.   CadenaDeBits6en6 += "0000";
  360.   ContadorNumDeCerosAnhadidos = 4;
  361.   CadenaDeBits6en6Tamanho += 4;
  362.   } break;
  363.  
  364.   case 4:
  365.   {
  366.   CadenaDeBits6en6 += "00";
  367.   ContadorNumDeCerosAnhadidos = 2;
  368.   CadenaDeBits6en6Tamanho += 2;
  369.   } break;
  370.  
  371.   default:
  372.   {
  373.  
  374.   } break;
  375. }
  376.  
  377.  
  378. do
  379. {
  380.  
  381. TempBits6 += CadenaDeBits6en6[z];
  382.  
  383. x++;
  384. z++;
  385.  
  386.  
  387.   if (x == 6 )
  388.   {
  389.  
  390.  
  391. if ( TempBits6 == "000000")
  392.       {
  393.       CifradoFinal += "A";
  394.       }
  395.  
  396. if ( TempBits6 == "000001")
  397.       {
  398.       CifradoFinal += "B";
  399.       }
  400.  
  401. if ( TempBits6 == "000010")
  402.       {
  403.       CifradoFinal += "C";
  404.       }
  405.  
  406. if ( TempBits6 == "000011")
  407.       {
  408.       CifradoFinal += "D";
  409.       }
  410.  
  411. if ( TempBits6 == "000100")
  412.       {
  413.       CifradoFinal += "E";
  414.       }
  415.  
  416. if ( TempBits6 == "000101")
  417.       {
  418.       CifradoFinal += "F";
  419.       }
  420.  
  421. if ( TempBits6 == "000110")
  422.       {
  423.       CifradoFinal += "G";
  424.       }
  425.  
  426. if ( TempBits6 == "000111")
  427.       {
  428.       CifradoFinal += "H";
  429.       }
  430.  
  431. if ( TempBits6 == "001000")
  432.       {
  433.       CifradoFinal += "I";
  434.       }
  435.  
  436. if ( TempBits6 == "001001")
  437.       {
  438.       CifradoFinal += "J";
  439.       }
  440.  
  441. if ( TempBits6 == "001010")
  442.       {
  443.       CifradoFinal += "K";
  444.       }
  445.  
  446. if ( TempBits6 == "001011")
  447.       {
  448.       CifradoFinal += "L";
  449.       }
  450.  
  451. if ( TempBits6 == "001100")
  452.       {
  453.       CifradoFinal += "M";
  454.       }
  455.  
  456. if ( TempBits6 == "001101")
  457.       {
  458.       CifradoFinal += "N";
  459.       }
  460.  
  461. if ( TempBits6 == "001110")
  462.       {
  463.       CifradoFinal += "O";
  464.       }
  465.  
  466. if ( TempBits6 == "001111")
  467.       {
  468.       CifradoFinal += "P";
  469.       }
  470.  
  471. if ( TempBits6 == "010000")
  472.       {
  473.       CifradoFinal += "Q";
  474.       }
  475.  
  476. if ( TempBits6 == "010001")
  477.       {
  478.       CifradoFinal += "R";
  479.       }
  480.  
  481. if ( TempBits6 == "010010")
  482.       {
  483.       CifradoFinal += "S";
  484.       }
  485.  
  486. if ( TempBits6 == "010011")
  487.       {
  488.       CifradoFinal += "T";
  489.       }
  490.  
  491. if ( TempBits6 == "010100")
  492.       {
  493.       CifradoFinal += "U";
  494.       }
  495.  
  496. if ( TempBits6 == "010101")
  497.       {
  498.       CifradoFinal += "V";
  499.       }
  500.  
  501. if ( TempBits6 == "010110")
  502.       {
  503.       CifradoFinal += "W";
  504.       }
  505.  
  506. if ( TempBits6 == "010111")
  507.       {
  508.       CifradoFinal += "X";
  509.       }
  510.  
  511. if ( TempBits6 == "011000")
  512.       {
  513.       CifradoFinal += "Y";
  514.       }
  515.  
  516. if ( TempBits6 == "011001")
  517.       {
  518.       CifradoFinal += "Z";
  519.       }
  520.  
  521. if ( TempBits6 == "011010")
  522.       {
  523.       CifradoFinal += "a";
  524.       }
  525.  
  526. if ( TempBits6 == "011011")
  527.       {
  528.       CifradoFinal += "b";
  529.       }
  530.  
  531. if ( TempBits6 == "011100")
  532.       {
  533.       CifradoFinal += "c";
  534.       }
  535.  
  536. if ( TempBits6 == "011101")
  537.       {
  538.       CifradoFinal += "d";
  539.       }
  540.  
  541. if ( TempBits6 == "011110")
  542.       {
  543.       CifradoFinal += "e";
  544.       }
  545.  
  546. if ( TempBits6 == "011111")
  547.       {
  548.       CifradoFinal += "f";
  549.       }
  550.  
  551. if ( TempBits6 == "100000")
  552.       {
  553.       CifradoFinal += "g";
  554.       }
  555.  
  556. if ( TempBits6 == "100001")
  557.       {
  558.       CifradoFinal += "h";
  559.       }
  560.  
  561. if ( TempBits6 == "100010")
  562.       {
  563.       CifradoFinal += "i";
  564.       }
  565.  
  566. if ( TempBits6 == "100011")
  567.       {
  568.       CifradoFinal += "j";
  569.       }
  570.  
  571. if ( TempBits6 == "100100")
  572.       {
  573.       CifradoFinal += "k";
  574.       }
  575.  
  576. if ( TempBits6 == "100101")
  577.       {
  578.       CifradoFinal += "l";
  579.       }
  580.  
  581. if ( TempBits6 == "100110")
  582.       {
  583.       CifradoFinal += "m";
  584.       }
  585.  
  586. if ( TempBits6 == "100111")
  587.       {
  588.       CifradoFinal += "n";
  589.       }
  590.  
  591. if ( TempBits6 == "101000")
  592.       {
  593.       CifradoFinal += "o";
  594.       }
  595.  
  596. if ( TempBits6 == "101001")
  597.       {
  598.       CifradoFinal += "p";
  599.       }
  600.  
  601. if ( TempBits6 == "101010")
  602.       {
  603.       CifradoFinal += "q";
  604.       }
  605.  
  606. if ( TempBits6 == "101011")
  607.       {
  608.       CifradoFinal += "r";
  609.       }
  610.  
  611. if ( TempBits6 == "101100")
  612.       {
  613.       CifradoFinal += "s";
  614.       }
  615.  
  616. if ( TempBits6 == "101101")
  617.       {
  618.       CifradoFinal += "t";
  619.       }
  620.  
  621. if ( TempBits6 == "101110")
  622.       {
  623.       CifradoFinal += "u";
  624.       }
  625.  
  626. if ( TempBits6 == "101111")
  627.       {
  628.       CifradoFinal += "v";
  629.       }
  630.  
  631. if ( TempBits6 == "110000")
  632.       {
  633.       CifradoFinal += "w";
  634.       }
  635.  
  636. if ( TempBits6 == "110001")
  637.       {
  638.       CifradoFinal += "x";
  639.       }
  640.  
  641. if ( TempBits6 == "110010")
  642.       {
  643.       CifradoFinal += "y";
  644.       }
  645.  
  646. if ( TempBits6 == "110011")
  647.       {
  648.       CifradoFinal += "z";
  649.       }
  650.  
  651. if ( TempBits6 == "110100")
  652.       {
  653.       CifradoFinal += "0";
  654.       }
  655.  
  656. if ( TempBits6 == "110101")
  657.       {
  658.       CifradoFinal += "1";
  659.       }
  660.  
  661. if ( TempBits6 == "110110")
  662.       {
  663.       CifradoFinal += "2";
  664.       }
  665.  
  666. if ( TempBits6 == "110111")
  667.       {
  668.       CifradoFinal += "3";
  669.       }
  670.  
  671. if ( TempBits6 == "111000")
  672.       {
  673.       CifradoFinal += "4";
  674.       }
  675.  
  676. if ( TempBits6 == "111001")
  677.       {
  678.       CifradoFinal += "5";
  679.       }
  680.  
  681. if ( TempBits6 == "111010")
  682.       {
  683.       CifradoFinal += "6";
  684.       }
  685.  
  686. if ( TempBits6 == "111011")
  687.       {
  688.       CifradoFinal += "7";
  689.       }
  690.  
  691. if ( TempBits6 == "111100")
  692.       {
  693.       CifradoFinal += "8";
  694.       }
  695.  
  696. if ( TempBits6 == "111101")
  697.       {
  698.       CifradoFinal += "9";
  699.       }
  700.  
  701. if ( TempBits6 == "111110")
  702.       {
  703.       CifradoFinal += "+";
  704.       }
  705.  
  706. if ( TempBits6 == "111111")
  707.       {
  708.       CifradoFinal += "/";
  709.       }
  710.  
  711.  
  712.   x = 0;
  713.   TempBits6 = "";
  714.   }
  715.  
  716.   if ( z == CadenaDeBits6en6Tamanho )
  717.   {
  718.   mantenerseEnBucle = false;
  719.   }
  720.  
  721. } while ( mantenerseEnBucle == true )
  722.  
  723.  
  724. switch (ContadorNumDeCerosAnhadidos)
  725. {
  726.   case 2:
  727.   {
  728.   CifradoFinal += "=";
  729.   } break;
  730.  
  731.   case 4:
  732.   {
  733.    CifradoFinal += "==";
  734.   } break;
  735. }
  736.  
  737. document.write(CifradoFinal);
  738. alert (CifradoFinal);
  739. </js>
  740. </body>
  741. </html>
  742.  

Comentarios del código:
Los 2 switchs es parte necesaria del cifrado base64. Básicamente lo que hago es usar el operador módulo (%) para obtener el resto de dividir el tamaño del texto que se quiere cifrar entre 6 (los bits, ceros y unos, se agrupan de 6 en 6 en el cifrado base64) Como puede ser que al agrupar de 6 en 6 te queden bits sueltos, es necesario añadirle el símbolo = por cada 2bits. Con un ejemplo se ve mejor:
Si tengo los bits 1 0 0 0 1 0 1 1 y los quiero agrupar de 6 en 6. Tendré dos grupos. 100010 y 11. Lógicamente me faltan bits en el segundo grupo para tener 6 bits en ambos grupos. Entonces le añado ceros hasta tener 6 bits: 11 -> 110000
Y los simbolos igual entonces para que?
Para identificar si al número se le añadieron ceros o el número ya era así, ya que si no usamos los iguales, no podrías diferenciar cuando el texto a cifrar fue 1 0 0 0 1 0 1 1 de cuando el texo a cifrar fue 1 0 0 0 1 0 1 1 0 0 0 0.
Al no poder diferenciar tendríamos un serio problema al descifrar el cifrado y por eso se añade un igual por cada grupo de 2 bits añadidos.

Y por qué por cada 2 bits 1 igual y no por cada bit un igual? Porque solo existen 2 posibilidades. Que falten 2 bits para llegar a tener los 6 bits, o que falten 4 bits para llegar a tener los 6 bits. No tendría sentido usar 2 iguales y 4 iguales cuando podemos representar lo mismo con 1 igual y 2 iguales.

Si te parece complejo en realidad es una tontería, leete la entrada sobre el cifrado en wikipedia y lo acabarás entendiendo. Yo aprendí a implementar el cifrado usando como único recurso la wikipedia y un cifrador online psra ver si lo estaba haciendo bien.
Cuando pone case 2 en el switch del resto significa que sobraron 2 bits, por eso hay que añadirle 4 bits más para llegar a los 6.

El código dentro del bucle do while lo único que hace es añadir bits a una variable y en cuanto tiene 6 bits guarda en otra variable ese número binario pasado a caracter usando la tabla comun de base64. 000000 = A, 000001 = B, etc.
Tras obtener la cadena, vuelve a tomar los 6 siguientes bits repitiendo este proceso hasta que no queden bits que tomar.

Pueden usarse arrays para la comparación y breaks en los if para mejorar el rendimiento y reducir drásticamente las líneas del código. Pero así es más visual y fácil de entender para newbies. Lo mismo con reducir el uso de variables, etc.

Si no entendeis algo comentarlo.
1934  Comunicaciones / Redes / Re: Significado de la terminología de redes en Windows 10 en: 7 Agosto 2019, 23:20 pm
Todo lo referente a Microsoft es blanco o negro. Soporte incluido. Vuelve a preguntarle un par de veces más a ver si te atiende alguien con cerebro. O te encuentras ***** cracks que te resuelven todo al milisegundo o retards a los que les preguntas acerca de uno de sus productos y te responde con que el producto no es ni fue nunca de microsoft. Nunca los escucharás decirte que no saben lo que preguntas ni como buscarlo.

Microsoft tiene un montón de cursos gratuitos básicos de programación(entre otros) y muy de vez en cuando sacan alguno al que te puedes inscribir gratuitamente y te dan un certificado. Algunos está muy bien planteados y otros son acumulacion de información inútil para alguien interesado en un curso de programación básica. También tienen alguna app para android con cursos y esas cosas. No suelen ser tampoco muy allá, pero todo lo que puedas poner en un currículum con el nombre Microsoft en grande, aunque sea un certificado que acredite que participaste, siempre influye algo para trabar para alguien que no tiene mucha idea jajaja
1935  Foros Generales / Foro Libre / Re: ¿QUE OPINAIS DE ESTO? en: 7 Agosto 2019, 22:08 pm
Opino que está en el top de mis ataques favoritos y que la gestión de Asus sobre este tipo de problemas no está al nivel de la calidad de sus productos con respecto al cliente. Tienen constancia del ataque casi desde el año pasado, y hay que esperar meses para que las medidas lleguen de alguna forma a los clientes. Esto tipo de empresas se gastan millones en publicidad pero después deciden ensuciar su imagen por no dejar de generar unos pocos millones. Pero como se suele decir, la publicidad buena o mala siempre es buena.
1936  Foros Generales / Dudas Generales / Re: ¿Que opinais de los Hackers que se anuncian en milanuncios? SON FIABLES? en: 7 Agosto 2019, 21:51 pm
Es una estafa. Se dedicará a hacer photoshop cutres, te manda imagen del documento "modificado" y en realidad no tiene nada, solo una imagen editada. Si me pasas una foto tuya con tus datos por ejemplo, me saco una foto con mi dni en la mano, pillo tus datos y los voy escribiendo con el paint pixel por pixel en el dni teniendo como referencia la fuente que se utiliza para este tipo de documentos. Te aseguro que no te das cuenta.
Lo hacia tiempo atrás en redes sociales para trollear a amigos xD.

Nadie te va a hackear nada a menos que sea un muy buen amigo. Para cometer el delito de hackear a alguien cometen el de estafarte que total ambos son delitos y se ahorran trabajo. Desiste de esas búsquedas.
1937  Comunicaciones / Redes / Re: Las VPN pueden Espiarte en: 7 Agosto 2019, 08:10 am
Es como si alguien te llevara en la cajuela del carro y te dejara en algún lado para que nadie sepa que saliste de la casa. Esa persona sabe que saliste de la casa.
Mindblowing  :o
En busca de anonimato siempre quedará acceder a ordenadores en cibercafés y bibliotecas disfrazado de árabe en el desierto :¬¬ Obviamente es mi modus operandi para ver tobillos en secreto y robarle habas a mi abuelo en el Truco Online. Cuando se acerca alguien hago Alt+Tab a páginas de C4, citas del Coran para pasar desapercibido. (Es humor)
1938  Foros Generales / Dudas Generales / Re: duda metasploit para atacar mi pc a 30km de distancia en: 7 Agosto 2019, 07:41 am
Wow! que cantidad de cosas tiras, si es posible, aunque usualmente la probabilidad es minima y en muchos casos en esa minima posibilidad requiere trabajo especializado, por otro lado hablas mas de metodos contra servidores publicos que de pc

Puedes proveer alguna fuente de informacion que muestre la primera afimacion como valida? (wifi a 30km donde el router sea un equipo casero) porque el problema a esa distancia ya ni si quiera es la potencia, es el ruido
Define probabilidad mínima. Define trabajo especializado. Jajaja.

Acerca de las antenas esta entrada está muy guay e interesante:
http://www.elladodelmal.com/2014/09/como-construir-antenas-wifi-de-gran.html?m=1

El asunto no es conocer la ip privada sino encontrar la forma de traspasar la NAT del router.

El secreto no es en sí como vulnerar la seguridad de una maquina para conectarse a 30 kilometros sino como lograr que la victima se conecte contigo en contra de su voluntad.

Es por eso que siempre que se hacen ataques fuera de la LAN por lo general siempre se utilizan métodos de ingeniería social. Por ejemplo al inducir a la maquina victima a ingresar a una conexión tipo p2p para evitar en enmascaramiento de IP, haciendo pishing, o haciendo que ejecute un malware con puerta trasera bien encodeado.

De lo contrario veo muy dificil que el firewall o el antivirus no bloquee la conexión.
Sí, ejemGOOGLE, es muy, ejemROUTER, difícil, ejemVULN, encontrar la, ejemHTTP, manera de ,ejemWAN vulnerar un router.

De todas formas hay muy pocos router vulnerables, y los que raramente son vulnerables suelen tener solo 1 o 2 bugs sin importancia https://www.digitaltrends.com/computing/83-percent-routers-vulnerable/?amp que requieren de grandes conocimientos técnicos. A parte los exploits no son públicos https://cxsecurity.com/exploit/ y a parte en caso de hacerse públicos los parchean inmediatamente antes de que absolutamente nadie se aproveche de la vulnerabilidad https://arstechnica.com/information-technology/2018/11/a-100000-router-botnet-is-feeding-on-a-5-year-old-upnp-bug-in-broadcom-chips/?amp=1 y menos mal que no hay documentación ni software público que facilite la tarea la tarea https://pro-hackers.com/exploit-a-router-using-routersploit/

Capacidades técnicas mínimas requeridas para explotar routers masivamente:
-Lectura nivel niño de 6 años.
-Descargar un programa.
-Seguir un manual de instrucciones aunque sea por suerte.
1939  Foros Generales / Dudas Generales / Re: duda metasploit para atacar mi pc a 30km de distancia en: 7 Agosto 2019, 02:35 am
Si puedes hackear con tan solo la IP pública y sucede de forma frecuente, métete en el log del firewall del router y verás la burrada de scanneres corriendo en busqueda de vulnerabilidades, servicios y equipos vulnerables que tu firewall bloquea.

 Cómo hacerlo? Todo pasa por bugs en el router, la info que puedas obtener con la IP como bases de datos y logs de servidores que estés monitorizando, de tu propiedad o a los que ganes acceso y en los que detectes la IP pública del tatget, configuraciones horribles, acceso a uno de los servidores que utilicen la IP, equipos y dispositivos vulnerables conectados a la red, etc.

La ip local no suele servir mucho sin tener acceso a la red en la que se encuentran. Un caso concreto en la que sería una info útil es si consigues acceso a un dispositivo que utiliza un protocolo que no requiera de authentificación para modificar la configuraciòn del router, sabes que el tarjet local es un servidor que está encendido y corriendo y decidieses abrir los puertos del router a traves del protocolo hacia esa ip local para poder acceder remotamente. Obviamente es un caso extremadamente concreto e improvable, pero es un buen ejemplo para saber que toda la info que puedas recabar del objetivo podría llegar a ser útil en algún momento. Si vas sumando info poco a poco, vas aumentando las probabilidades de conseguir acceso al objetivo.

Por cierto a 30 kilómetros de distancia se puede acceder mediante una antena wi-fi. Y los ataques a router mediante red local son muchísimo más sencillos, sobretodo de usuarios normales con configuraciones y tecnologías por defecto.

Algo que debes tener en cuenta es que si atacas tu propia red, la IP pública seguramente sea dinámica y puede que tu ISP te la cambie y acabes atacando a alguien pensando que es tu red y te metas en problemas. Usa ddns o haz un script que te haga ping cada minuto para saber cual es la IP pública del equipo remoto en todo momento.

Normalmente los ataques a usuarios que hacen uso muy básico del PC se hacen mediante redes wi-fi, webs, ingenieria social, descargas de archivos infectados, cambio de dns, phishing, thrashing, device drop, infección del navegador, etc. Son ataques más sencillos y frecuentes que usar la IP publica para hacer chorrocientos scans.
1940  Comunicaciones / Redes / Re: Las VPN pueden Espiarte en: 7 Agosto 2019, 01:29 am
A menos que tengas un satellite estás jodido xD

Y ni así, porque hay un monton de empresas detrás de mucho hardware y software.

Siempre puedes montar tu propio Proxy con tu propio cifrado exageradamente seguro y hacerlo de acceso público y publicitarlo para esconder tu tráfico en el medio xDDD O usar el mundo físico para que alguien que no te pueda identificar realice las actividades que le encomiendes.

La mejor manera de pasar desapercibido es siendo uno más no? xD

La mayoría de proxys te infectan, trafican con tus datos, etc. Si los hay que no y lo pueden asegurar al 100% no me los creeré.
Páginas: 1 ... 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 [194] 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 ... 287
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines