Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eleкtro

#9781
Scripting / Re: ¿Se puede sacar el md5 en batch?
24 Diciembre 2012, 08:31 AM
¿Te refieres a generar un MD5?, ¿o te refieres a descifrar un MD5?

De todas formas séa cual séa olvídate de criptología y ese tipo de cosas usando Batch :xD

Puedes usar la utilidad commandline externa "md5.exe" para generar el hash desde la consola, obviamente si usases ruby  o python o... no necesitarías utilidades externas.
ahora, si hablamos de desencriptarlo, infórmate sobre las carecterísticas de un hash MD5 y lo imposible que es (aunque no imposible del todo según dicen algunos crackers , pero yo hasta día de hoy solo he visto ejemplos online (y de pago) :-/...).

Saludos!
#9782
Cita de: dato000 en 24 Diciembre 2012, 05:57 AM
son pesimos, usa una versión profesional completa, las demás son basura

+1

Y lo mejor es crearse tu propio Lite, así sabes lo que se ha eliminado del sistema bajo tus necesidades, y lo que te puede ocasionar problemas.
#9783
Te diría la forma más sencilla de hacerlo en 2 simples líneas usando Batch, bueno, usando el comando nativo de Windows "FTYPE" + ASSOC, y podrías usar "process.start" para hacerlo, pero creo que se me echarían encima xD y no quiero usar malas costumbres.

Primero tienes que registrar la extensión en el registro (Cuando digo registrar simplemente me refiero a crear la subclave en la rama HKEY_CLASSES_ROOT)
Y por último tienes que associar la extensión al programa que desees.

Por último déjame decirte que existen conversores de C# a VB.NET, y este es el code que te ha ofrecido $Edu$ convertido:

Código (vbnet) [Seleccionar]
Imports Microsoft.Win32
Imports System.Runtime.InteropServices

Public Class FileAssociation
' Associate file extension with progID, description, icon and application
Public Shared Sub Associate(extension As String, progID As String, description As String, icon As String, application As String)
Registry.ClassesRoot.CreateSubKey(extension).SetValue("", progID)
If progID IsNot Nothing AndAlso progID.Length > 0 Then
Using key As RegistryKey = Registry.ClassesRoot.CreateSubKey(progID)
If description IsNot Nothing Then
key.SetValue("", description)
End If
If icon IsNot Nothing Then
key.CreateSubKey("DefaultIcon").SetValue("", ToShortPathName(icon))
End If
If application IsNot Nothing Then
key.CreateSubKey("Shell\Open\Command").SetValue("", ToShortPathName(application) + " ""%1""")
End If
End Using
End If
End Sub



' Return true if extension already associated in registry
Public Shared Function IsAssociated(extension As String) As Boolean
Return (Registry.ClassesRoot.OpenSubKey(extension, False) IsNot Nothing)
End Function



<DllImport("Kernel32.dll")> _
Private Shared Function GetShortPathName(lpszLongPath As String, <Out> lpszShortPath As StringBuilder, cchBuffer As UInteger) As UInteger
End Function



' Return short path format of a file name
Private Shared Function ToShortPathName(longName As String) As String
Dim s As New StringBuilder(1000)
Dim iSize As UInteger = CType(s.Capacity, UInteger)
Dim iRet As UInteger = GetShortPathName(longName, s, iSize)
Return s.ToString()
End Function


End Class






EDITO:

He probado el code y no me ha funcionado en Windows7, escribe datos corruptos para el valor "icono" y "program", por ejemplo al usarlo así:
Código (vbnet) [Seleccionar]
Associate(".Happy", "Notepad", "Happy Textfile", "notepad.exe,0", "notepad.exe")

En lugar de escribir "Notepad.exe", esto es lo que escribe en el registro: P+^ "%1"

Creo que el error sucede sólamente si tienes los nombres cortos desactivados en el sistema (como en mi caso),
la forma de arreglarlo es eliminando ToShortPathName en el código, y eliminar la función ToShortPathName que al no ser llamada ya no nos sirve para nada,
me parece una tontería que lo hayan puesto,
y ya con eso anda bien en mi caso :).

PD: Gracias por el code $Edu$


#9784
Sí, me sacaste del apuro $Edu$, bueno en realidad ví una solución muy parecida en Google después de postear la pregunta xD, lo que hice fue añadir un tag personalizado cuando modifico la imagen del control:

Código (vbnet) [Seleccionar]
...
      Button1.Image = My.Resources.Cancel_button
      Button1.Tag = "Cancel"
...

      If Button1.Tag = "Cancel" Then
           Want_to_cancel_thread = True
           While Not Thread_is_completed = True
               Application.DoEvents()
           End While
...



Gracias.
#9785
Scripting / Re: Simulador de SO [Batch]
24 Diciembre 2012, 07:41 AM
El tema queda abierto de nuevo a petición personal,
Esto no quiera decir que vuelva a ser cerrado si empiezan a desvirtuar el tema hacia la recuperación de datos, estamos en scripting, respeten el tema.

Un saludo!
#9786
@lucaslopezld123

Tienes que entender como funciona Windows,
El error no lo puedes suprimir desde Batch, porque no es un error, ni tampoco tiene que ver con Batch,
Es un aviso de Windows cuando intentas acceder a un dispositivo que no se encuentra disponible.

Para evitar el aviso de Windows, lo que debes hacer es filtrar (es decir, NO intentar procesar) las unidades de disquetera y las de CD/DVD-ROM.

Puedes usar este ejemplo para tus intenciones haciendo unas pequeña modificaciones en el código > [BATCH] copiar y ocultar virus en unidades extraibles

Find /I "extra"
por:
Find /I "ROM"

Eso te servirá para las unidades ópticas, pero el equipo reconoce la disquetera como una unidad "extraíble", osea, se reconoce como si fuera un usb o un disco duro extraíble, así que lo único que puedes hacer es eliminar la letra "A:\" del FOR, o deshabilitar temporálmente el dispositivo "A:\" en el equipo.

Saludos.
#9787
Código (dos) [Seleccionar]
@Echo OFF

REM By Elektro H@cker

:: Obtenemos las letras de unidades conectadas
For /F "tokens=* delims=Unidades:\ " %%@ in ('fsutil fsinfo drives') Do (
Call Set "Drives=%%@"
Call Set "Drives=%%DRIVES::=%%"
Call Set "Drives=%%DRIVES:\=%%"
Call :isUSB?
REM Listar
Call Echo [Unidades] %%USBs:~1%% | MORE
)

:: FIN
Echo Se han procesado todas las unidades. | MORE
Pause&Exit

REM Comprueba si la unidad es un dispositivo USB
:isUSB?
For %%X in (%DRIVES%) Do (fsutil fsinfo drivetype %%X:\ | Find /I "extra" >NUL && (Call Set "USBs=%%USBs%% %%X"))
Goto:EOF


> Buscar y Listar archivos con cierta extensión en una computadora




También te puede servir este script:



> [BATCH] [APORTE] USB MON (Roba USB)

Saludos
#9788
Scripting / Re: [BATCH]Problema con IF LSS
24 Diciembre 2012, 06:58 AM
Te voy a mostrar la diferencia.

Limite Batch:
Código (dos) [Seleccionar]
if -999999999 LSS 10 (
Echo Es menor que 10
)

* 9 dígitos




Límite VBS:
Código (vb) [Seleccionar]
if -99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 < 10 then
Wscript.Echo "Menor que 10"
End If

* 308 dígitos




Límite Ruby:
Código (ruby) [Seleccionar]
If -999...(Así hasta más de UN MILLÓN DE DIGITOS) < 10
    print "Es menor de 10"
end

PD: Ruby no tiene límite alguno porque convierte los enteros.




Límite python:
* Lo mismo que Ruby.

Saludos.
#9789
Scripting / Re: [BATCH] Virus raro. ¿Funcionaria?
24 Diciembre 2012, 06:28 AM
Dejando a un lado que Batch no es el camino para ese tipo de cosas,
Sigues haciendo codes sin tener intención de probarlos en una máquina virtual, y así no vas a aprender jamás.




-El código que se supone que bloquea teclado+ratón:
Lo único que hacen es eliminar el el archivo del driver del teclado y del mouse, realmente no bloquean nada.
El code solo afecta a WinXP, ya que en Windows 7 esos archivos no existen en esas rutas.
El executable "rund1132" no existe, es "Rundll32", y la función "disable" de esa dll no existe ni en WindowsXP ni en Windows 7, por lo tanto no te va a funcionar, encontraste información demasiado antigua.

- El código que se supone que elimina el administrador de tareas:
simplemente agregas una entrada en la política de grupo para denegar permisos al taskmanager, la cual se puede restaurar modificando el valor de nuevo a "0"

- El código que se supone que elimina el firewall:
simplemente intentas DETENER un servicio (Para eso sirve "net stop"), servicio el cual nisiquiera existe, pusiste el nombre de los dos servicios juntos separados con una barra diagonal /,
además deteniendo un servicio no sirve de nada si el servicio está en modo automático se volverá a ejecutar cuando el SO lo necesite, debes detenerlo y despues cambiarlo a modo desactivado para que no se siga ejecutando.
EDITO: Aunque corrigieras el nombre, tampoco iba a funcionar si yo le cambio el nombre a mi servicio por precaución, osea, debes usar el identificador del servicio en lugar del nombre (Que además usando el nombre solo funcionará en Windows del idioma castellano).

saludos
#9790
Puedes comprimir archivos usando winrar, 7z, uharc, en fin, hay decenas de software commandline,
Un ejemplo usando WinRAR:
RAR "Archivo.rar" ".\Carpeta"

Para subir un archivo a un FTP puedes usar el comando FTP.exe nativo de Windows (Pura basura) o puedes usar WPUT:
WPUT.exe "Archivo.zip" "FTP://.../Carpeta/"
http://prdownloads.sourceforge.net/wput/wput-pre0.6.zip?download

Saludos.