Por esas cosas que ocurren de vez en cuando, me he topado con FreeMem, un sencillo “desfragmentador de memoria RAM” escrito en Visual Basic Script (VBS).

La idea se me pasó por la cabeza en 2008, cuando con el auge de Windows XP y Vista, seguía habiendo multitud de usuarios que alababan los méritos de este tipo de herramientas, a pesar que no hace falta ser demasiado avispado como para detectar el fraude.

Quizás en núcleos de Windows 95, 98 o ME, el simple procedimiento de reservar un bloque grande de memoria, para forzar al sistema operativo a paginar en disco el contenido de la memoria, y luego liberar ese bloque, para que se recuperara el contenido de disco, daba ciertas ventajas en cuanto a fragmentación y más memoria libre.

Me sorprendía como proliferaron este tipo de herramientas, muchas de ellas de pago, y algunas caras, así que tras una conversación con un amigo, me propuse desarrollar lo mismo, pero de una forma tan inteligible, que quedara patente su obviedad.

El resultado es un VBS de apenas 6 Kb., que si bien “desfragmenta la memoria” con apenas 5 lineas de código, tiene algunas funcionalidades interesantes, como el parseo de la los parámetros, la ejecución de ProcessIdleTasks, el uso intensivo de WMI (Windows Management Instrumentation), y la ofuscación con screnc.

En resumen, un programa con una finalidad inútil, pero con una implementación que puede ser interesante.

Puedes descargar la versión ofuscada VBE (4 Kb. en formato ZIP), o bien los originales completos VBS y el difícil de encontrar Microsoft Script Encoder (44 Kb. en formato ZIP).