elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [BATCH] Información no documentada de expansión ~a
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [BATCH] Información no documentada de expansión ~a  (Leído 6,157 veces)
0x0309

Desconectado Desconectado

Mensajes: 215


Ver Perfil
[BATCH] Información no documentada de expansión ~a
« en: 18 Marzo 2009, 01:14 am »

Hasta hace poco los únicos atributos que conocía de los archivos en windows familia nt, eran:
sólo lectura
oculto
archivo
sistema

y son los únicos que podemos establecer con attrib.exe

Jugando con el comando for, la documentación de Microsoft dice: que si tenemos una variable de comando for, por ejemplo la variable I y hacemos:

%%~aI (dentro de un archivo por lotes (modo script))
%~aI (modo interactivo)

se expanden los atributos del archivo.

Yo pensé que sólo existían 4 atributos, pero me entró curiosidad de porqué la expansión que realiza el comando for, siempre son 9 guiones.
-rahs----

Como attrib.exe sólo permite establer 4 atributos, tuve que buscar maneras de establecer otros atributos (código c, compact, fsutil, etc.).

Finalmente conseguí todo el listado las letras que aparecen en la expansión de atributos del comando for:

Esto es lo no documentado:
Código:
Attributo			Expansión
FILE_ATTRIBUTE_DIRECTORY d--------
FILE_ATTRIBUTE_READONLY -r-------
FILE_ATTRIBUTE_ARCHIVE --a------
FILE_ATTRIBUTE_HIDDEN ---h-----
FILE_ATTRIBUTE_SYSTEM ----s----
FILE_ATTRIBUTE_COMPRESSED -----c---
FILE_ATTRIBUTE_OFFLINE ------o--
FILE_ATTRIBUTE_TEMPORARY -------t-
FILE_ATTRIBUTE_REPARSE_POINT --------l

Otros atributos que que no son reconocidos o expandidos por el comando for:
FILE_ATTRIBUTE_NORMAL
FILE_ATTRIBUTE_ENCRYPTED
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
FILE_ATTRIBUTE_SPARSE_FILE

También conocí otros iconos o color de texto que identifican un atributo de archivo:

Oculto y Cifrado


Oculto y Comprimido.


Offline.





« Última modificación: 21 Marzo 2009, 18:21 pm por 0x0309 » En línea

Darioxhcx


Desconectado Desconectado

Mensajes: 2.294


Ver Perfil
Re: [BATCH] Información no documentada de expansión ~a
« Respuesta #1 en: 18 Marzo 2009, 01:18 am »

buenisimo man
nunca habia leido algo parecido
no te cansas de sacarle jugo a la cmd :P ??

saludos


En línea

.;.


Desconectado Desconectado

Mensajes: 354


Ver Perfil
Re: [BATCH] Información no documentada de expansión ~a
« Respuesta #2 en: 19 Marzo 2009, 16:06 pm »

Muy buena información, yo pensaba como tú.

Tendré que probar los demás.

¿Una cosa podemos aplicar los atributos de offline por ejemplo?

Con ATTRIB, o hemos de declarar la variable y poner la expansión?
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [BATCH] Información no documentada de expansión ~a
« Respuesta #3 en: 19 Marzo 2009, 16:14 pm »

Lo he probado con ATTRIB y no se puede así directamente  :-\

Conocía practicamente todos los demás atributos, y la manera de obtenerlos/asignarlos en otros lenguajes, pero FILE_ATTRIBUTE_OFFLINE y FILE_ATTRIBUTE_REPARSE_POINT es la priemera vez que los veo  :o, muy bueno  ;)

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Sk9ITk5Z


Desconectado Desconectado

Mensajes: 2.306



Ver Perfil WWW
Re: [BATCH] Información no documentada de expansión ~a
« Respuesta #4 en: 19 Marzo 2009, 17:31 pm »

Ni idea que existieran mas atributos.... gracias por la info...
En línea

Este es un pueblo de corazón extraviado, no quiere conocer mis caminos por eso no entraran en mi descanso.
0x0309

Desconectado Desconectado

Mensajes: 215


Ver Perfil
Re: [BATCH] Información no documentada de expansión ~a
« Respuesta #5 en: 19 Marzo 2009, 20:57 pm »

Me alegra que la información sirva.

Pasos para crear un archivo file.txt que for expanda a:
-rahscot-

Compilar el siguiente archivo en c y ejecutar en una carpeta dentro de un sistema de archivos ntfs.

Código
  1. #include <windows.h>
  2. #include <stdio.h>
  3.  
  4. int main() {
  5.  
  6.    /* Fuente: http://www.codersource.net/win32_file_sample.html */
  7.    HANDLE hFile;
  8.    DWORD wmWritten;
  9.    char strData[] = "Test";
  10.  
  11.    hFile = CreateFile(
  12.            "file.txt"
  13.            ,GENERIC_READ|GENERIC_WRITE
  14.            ,FILE_SHARE_READ
  15.            ,NULL
  16.            ,OPEN_ALWAYS
  17.            , /*ATRIBUTOS */
  18.              FILE_ATTRIBUTE_READONLY
  19.              | FILE_ATTRIBUTE_ARCHIVE
  20.              | FILE_ATTRIBUTE_HIDDEN
  21.              | FILE_ATTRIBUTE_SYSTEM
  22.                /* Atributos Compreess no puede establecerse aqui */
  23.              | FILE_ATTRIBUTE_OFFLINE
  24.              | FILE_ATTRIBUTE_TEMPORARY
  25.  
  26.            ,NULL);
  27.    WriteFile(hFile,strData,(DWORD)(sizeof(strData)),&wmWritten,NULL);
  28.    CloseHandle(hFile);
  29.  
  30.  
  31.    /* Perdon por los system, pero aún no he estudiado programacion win32 */
  32.  
  33.    /* ATRIBUTO COMPRESS */
  34.    system(">nul compact.exe /c file.txt");
  35.  
  36.    /* EXPANDIR ATRIBUTOS CON CMD */
  37.    system("@echo off & for %F in (file.txt) do echo.%~aF");
  38.  
  39.    getchar();
  40.  
  41. }
  42.  
  43.  

Es interesante que cuando for expande:
Código:
-rahscot-

attrib muestra:
attrib file.txt
Código:
A  SHR     C:\carpeta\file.txt

(hay dos espacios entre la primera A)

Para ver la d y la l :
Crear en C:\
el directorio o carpeta: creparse

Inicio-Ejecutar: compmgmt.msc

Ir a Administración de discos:
Clic derecho sobre propiedades de C:
Cambiar la letra y rutas de acceso a la unidad.
Agregar: Montar en la siguiente carpeta NTFS vacía:
Examinar: Expandir C: y seleccionar creparse.
Aceptar
Aceptar.
Luego en cmd:

for %F in (C:\creparse) do echo.%~aF

Código:
d-------l

la carpeta creparse tiene ahora el icono de un disco duro, y al entrar en ella se ve el contenido de C:
En línea

Pablo Videla


Desconectado Desconectado

Mensajes: 2.274



Ver Perfil WWW
Re: [BATCH] Información no documentada de expansión ~a
« Respuesta #6 en: 19 Marzo 2009, 21:05 pm »

Es impresionante las cosas que ignoramos ...  :rolleyes:
En línea

.;.


Desconectado Desconectado

Mensajes: 354


Ver Perfil
Re: [BATCH] Información no documentada de expansión ~a
« Respuesta #7 en: 20 Marzo 2009, 10:43 am »

Código:
    hFile = CreateFile(
            "file.txt"
            ,GENERIC_READ|GENERIC_WRITE
            ,FILE_SHARE_READ
            ,NULL
            ,OPEN_ALWAYS
¿?Pero que es eso tan largo?
¿No se hace así más corto?
Código:
FILE *origen

origen=fopen("origen.txt","r");

Solo son mejoras para el code, voy a probar si funciona.

Saludos!
« Última modificación: 20 Marzo 2009, 16:50 pm por Leo Gutierrez. » En línea

.;.


Desconectado Desconectado

Mensajes: 354


Ver Perfil
Re: [BATCH] Información no documentada de expansión ~a
« Respuesta #8 en: 20 Marzo 2009, 10:49 am »

Probado y si que funciona, pero entrando desde attrib solo ves A SHR         

Y esos espacios supongo que serán donde irían los demás atributos.

Por cierto para que copias un array,¿en el texto?
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: [BATCH] Información no documentada de expansión ~a
« Respuesta #9 en: 20 Marzo 2009, 16:50 pm »

 
¿?Pero que es eso tan largo?
¿No se hace así más corto?

FILE *origen

origen=fopen("origen.txt","r");

Solo son mejoras para el code, voy a probar si funciona.

Saludos!

Creo que es necesario usar el API.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
separar información que el usuario ha introducido [batch]
Scripting
.:UND3R:. 5 5,012 Último mensaje 10 Mayo 2011, 04:00 am
por aNT366
Batch script --> Informacion SETLOCAL & ENDLOCAL
Scripting
juanjo86 3 2,835 Último mensaje 14 Octubre 2013, 09:54 am
por juanjo86
Una función no documentada de Word deja expuestos a un ataque a los usuarios....
Noticias
wolfbcn 0 2,179 Último mensaje 19 Septiembre 2017, 14:23 pm
por wolfbcn
API no documentada de Office 365 permite vigilar a usuarios
Noticias
wolfbcn 0 1,668 Último mensaje 9 Julio 2018, 21:36 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines