¿Tienen cosquillas las Focas? En la publicidad sí

Hace poco se publicó la revisión 2.5.1 de la Foca de Chema (dicho así suena raro eh? :P). He estado trasteando un poco con ella… y como ya hay mucha gente haciendo eso, se me ocurrió que quizá podría buscarle las cosquillas

Últimamente está de moda suplantar los servidores de actualización automática de los productos. Desgraciadamente la Foca no cuenta con autoactualización (o al menos no he visto la opción por ninguna parte), pero sí hay publicidad. ¿Qué tiene que ver? Fácil, si vosotros tuvierais una aplicación que muestra publicidad… ¿no la obtendríais de Internet?

Si echamos un vistacillo a su código, encontraremos la clase AdvertisementLoader particularmente interesante.

1
2
3
4
5
6
7
8
9
10
11
12
public class AdvertisementLoader
{
    // Fields
    private int lastItemShowed;
    private PictureBox pb;
    private int refreshTime;
    private string strCurrentLink;
    private const string strXMLPubli = "http://www.informatica64.com/foca/LogPubli/";
    private Timer t;
    private ToolTip tt;
    private Thread worker;
    private XmlDocument xDoc;

strXMLPubli ya nos da bastantes pistas, pero para estar seguros, examinemos el método responsable de cargar la publicidad:

1
2
3
4
5
6
public void Load()
{
    this.worker = new Thread(new ParameterizedThreadStart(this.LoadPubli));
    this.worker.IsBackground = true;
    this.worker.Start("http://www.informatica64.com/foca/LogPubli/");
}

Podríamos examinar el método que parsea el XML, pero dado que la licencia de la FOCA no nos permite realizar cambios en el código (jo :( ) no nos serviría de mucho. El archivo XML, que podeis ver si vais a esa URL desde el navegador, veréis que es público y sólo contiene información de los anuncios. En otras palabras, no se comprueba la autenticidad del fichero. (DIN DIN DIN!)

¿Has cazado ya la idea? Voy a usar el método cutre y rápido, hago que la ip de informática64 se redirija a un ordenador donde tenga un servidor web con el archivo /foca/LogPubli/ y pongo en él lo que me dé la gana.

En mi caso el método cutre es modificar el archivo %WINDIR%\System32\drivers\etc\hosts y añadir una línea de esta guisa:

XXX.XXX.XXX.XXX www.informatica64.com

Donde las X conrresponden con la ip de la máquina que suplantará a la de Informática 64 y que tendrá el xml que nosostros queramos. En mi caso he usado el siguiente:

1
2
3
4
5
6
7
8
<?xml version="1.0"?>
<advertising refresh="30">
<es>
<image>http://www.informatica64.com/foca/foca_publi.png</image>
<alt>Las focas no autentifican su publicidad.</alt>
<link>http://www.carballude.es/blog/</link>
</es>
</advertising>

¿El resultado? Pasamos de una Foca normal:

A una Foca tuneada:

Es una tontería, y dado que el público de la Foca está versado en informática, el riesgo es prácticamente inexistente… pero no deja de ser simpático poder hacer que la Foca anuncie el blog de Enrique Dans ;)

About the Author

Me llamo Pablo Carballude González, soy graduado en computación y con master en HCI y Seguridad Informática. Actualmente trabajo para Microsoft como Developer Evangelist. Soy de esas personas que no saben si los textos autobiográficos deben ser en primera o tercera persona. Lo intenté en segunda, pero no le entendí nada :P