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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Detector unidades Pendrive 5.0c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 4 5 6 Ir Abajo Respuesta Imprimir
Autor Tema: Detector unidades Pendrive 5.0c  (Leído 30,108 veces)
sirdarckcat
Aspirante a supervillano
Colaborador
***
Desconectado Desconectado

Mensajes: 7.029


No estoy loco, soy mentalmente divergente


Ver Perfil WWW
Re: Detector unidades Pendrive 0.9
« Respuesta #10 en: 1 Julio 2008, 13:52 pm »

No me entendiste..
se puede pasar tu algoritmo a batch.. no hablo de generar un vbs "on the fly".


En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Detector unidades Pendrive 0.9
« Respuesta #11 en: 1 Julio 2008, 14:05 pm »

No me entendiste..
se puede pasar tu algoritmo a batch.. no hablo de generar un vbs "on the fly".
  Entonces si no lo había entendido :xD, ahora ya entendí, retiro lo dicho anteriormente  :rolleyes:


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
sirdarckcat
Aspirante a supervillano
Colaborador
***
Desconectado Desconectado

Mensajes: 7.029


No estoy loco, soy mentalmente divergente


Ver Perfil WWW
Re: Detector unidades Pendrive 0.9
« Respuesta #12 en: 1 Julio 2008, 14:29 pm »

aunque dará falsos positivos de unidades creadas de red, y con subst..
En línea

carlitos.dll

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Re: Detector unidades Pendrive 0.9
« Respuesta #13 en: 1 Julio 2008, 18:04 pm »

Si pudieses escribir lo mismo Sirdarckcat, en menos líneas, igual sería bueno, así todos aprendemos. Leyendo código, aprendes a escribir código.

Es que el algoritmo que hice es largo, se me ocurrió, investigando el registro. Pero si hay alguna llamada al sistema que se pueda hacer, es decir la misma llamada que hace el vbs de novlucker, descubrirla, un rundll32 y algo, sería bueno.
Aunque el algoritmo, no es tan largo, de hecho leo el archivo una sola vez, si te fijas, hay un for que tiene un skip.

Lo otro, a principio del archivo, lo copio a otro con el comando type, para generar un archivo en codificación Windows 1252: Western European, porque el archivo que genera el comando reg.exe lo exporta en formato "Unicode, UTF-16 little endian", y el comando findstr no lee esa codificación. Nota la codificación la averigué con EditPad Lite, y lo de la codificación, se me ocurrió, por descarte.

Suena interesante eso del comando debug.
« Última modificación: 1 Julio 2008, 18:18 pm por carlitos.dll » En línea

sirdarckcat
Aspirante a supervillano
Colaborador
***
Desconectado Desconectado

Mensajes: 7.029


No estoy loco, soy mentalmente divergente


Ver Perfil WWW
Re: Detector unidades Pendrive 0.9
« Respuesta #14 en: 1 Julio 2008, 18:29 pm »

Desafortunadamente no tengo acceso a ninguna computadora con windows por el momento.. pero de lo que recuerdo sería algo así:
Para generar una letra según su valor ASCII en hexadecimal:
Código:
@echo off
set ASCII=41
(echo e 100 %ASCII% 0a & echo n letra.com & echo rcx & echo 2 & echo q)|debug > NUL
type letra.com | cmd /C "set /P letra="
echo letra

Para el for es un simple FOR que recorre desde el ASCII de A hasta el de Z.. (hay que hacerlo en hex.. pero eso es posible.. solo trabajoso).

Y ya es todo :P
En línea

carlitos.dll

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Re: Detector unidades Pendrive 0.9
« Respuesta #15 en: 2 Julio 2008, 05:36 am »

Encontré una forma mucho más corta de hacer esto, utilizando el comando diskpart
con la orden list volumes
La única desventaja es que no trabaja en cuenta limitada.

Si tienen windows scripting host habilitado, es mejor el código en vbs de novlucker, aunque eso si, si montas una carpeta como unidad, por ejemplo:

subst L: G:\carpeta_pendrive

y ejecutas el .vbs te muestra dos unidades:
G:
L:

En cambio, el código que hice muestra los volumenes reales, y funciona, en cuenta limitada.




« Última modificación: 2 Julio 2008, 09:07 am por carlitos.dll » En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Detector unidades Pendrive 0.9
« Respuesta #16 en: 2 Julio 2008, 13:43 pm »

carlitos.dll, en hora buena, pero... donde ha ido a parar el code para probarlo?  :P

Y antes que nada me quedó una duda.
Citar
La única desventaja es que no trabaja en cuenta limitada
Citar
En cambio, el código que hice muestra los volumenes reales, y funciona, en cuenta limitada.

Citar
aunque eso si, si montas una carpeta como unidad, por ejemplo:
subst L: G:\carpeta_pendrive
y ejecutas el .vbs te muestra dos unidades:
G:
L:

Esto no lo sabía, así que voy a revisar la manera de solucionarlo

Saludos
« Última modificación: 2 Julio 2008, 14:01 pm por Novlucker » 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
carlitos.dll

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Re: Detector unidades Pendrive 0.9
« Respuesta #17 en: 2 Julio 2008, 14:10 pm »

a lo que me refiero que no trabaja con cuenta limitada es el comando diskpart (si trabajase en todo tipo de cuentas, podría obtener un listado de alli y tratar la información, y el código quedaría mucho más pequeño que el actual), pero como no trabaja en todo evento, me evité el trabajo de escribir un nuevo código, pues el actual, trabaja bien en toda ocasión.

Lo del archivo, está en la página 1, por el medio, esa es la última versión, en el primer post estaba una versión más antigua, la que tenía el error de mostrar unidades cuando no existían y por eso la borré.

Lo del uso de subst para montar una carpeta del pendrive como unidad, es cierto que tu code actual, muestra las unidades virtuales, en cambio el que hice en batch muestra solo los volumenes reales.

Aunque es solo un detalle, pues ¿quién va a montar unidades virtuales de pendrive, cuando son medios transportables? en la práctica tu code es mucho más rápido y eficiente.


« Última modificación: 2 Julio 2008, 14:24 pm por carlitos.dll » En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Detector unidades Pendrive 0.9
« Respuesta #18 en: 2 Julio 2008, 15:47 pm »

Estuve haciendo pruebas, y efectivamente es como dices... es que las unidades montadas (desde pendrive) las marca como extraíbles  :-\

Citar
Aunque es solo un detalle, pues ¿quién va a montar unidades virtuales de pendrive, cuando son medios transportables? en la práctica tu code es mucho más rápido y eficiente.

Nunca se sabe, siempre aparece alguien  :-X.... por lo que en definitiva, tu code es 100% certero, en cambio el mío, si bien es más corto y rápido, deja un pequeño margen de error, pequeño, pero error al fin  :rolleyes:

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
carlitos.dll

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Re: Detector unidades Pendrive 0.9
« Respuesta #19 en: 2 Julio 2008, 15:58 pm »

Hay una forma de hacer lo que tú hiciste en vbs, en batch, sin mostrar las unidades virtuales, pero no funciona en cuenta limitada.

lo encontré hace poco en una página que descubrí sangoogleando:
Código:
dostips.com

Código:
@ECHO OFF
set "drlist="
for /f "tokens=*" %%A in ('fsutil fsinfo drives^|find /V ""') do (
    set "dr=%%A"
    call set "drlist=%%drlist%% %%dr:~-3%%"
)
for %%A in (%drlist%) do fsutil fsinfo drivetype %%A

Usa el comando fsutil, que no trabaja en cuenta limitada, sólo hay que filtrarle para que muestre las unidades removibles.


En todo caso, les postié el code, para saber qué opinan. (Los de habla inglesa tienen habilidad para estas cosas)
Código:
http://www.dostips.com/forum/viewtopic.php?t=284
En línea

Páginas: 1 [2] 3 4 5 6 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Como monitorizar unidades de dispositivos PENDRIVE?
.NET (C#, VB.NET, ASP)
Eleкtro 8 4,697 Último mensaje 9 Febrero 2013, 20:26 pm
por HdM
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines