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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 51
91  Programación / Programación Visual Basic / Re: COPIAR ARCHIVOS AL ESRITORIO en: 2 Febrero 2008, 14:37 pm
Código
  1. Dim resul As String
  2. resul = Environ("homedrive") & Environ("homepath") & "\Escritorio"
  3. If Not IsDir(resul) Then
  4.    resul = Environ("homedrive") & Environ("homepath") & "\Desktop"
  5. End If
  6. Private Function IsDir(ByVal DirSpec As String) As Boolean  'Funcion que devuelve True si existe una carpeta y False si no existe
  7.  On Error Resume Next
  8.  
  9.  IsDir = ((GetAttr(DirSpec) And vbDirectory) = vbDirectory)
  10. End Function
  11.  

Environ("homedrive") & Environ("homepath") devuelve C:\Documents And Settings\USUARIO

A partir de aí la carpeta Escritorio dependerá del idioma del SO...

El codigo ese es mas sencillo que los anteriores y funcionará en los SO con idiomas Español e Ingles...es decir en casi todos :xD ...pero si kieres más eficacia yo preferiría el de Tughack pork me gustan más las APIs...pero weno a tu gusto :xD

Corrijanme si me he equivocado...

Saludos ;)

EDIT: Es mejor usar APIs que objetos eso si k es verdad...los objetos son mucho mas lentos...en este caso aun da algo igual pero por ejemplo yo cuando diseñe un algoritmo de busquedas había mucha diferencia entre usar objetos o APIs...e incluso entre Objetos y las propias funciones del VB había mucha diferencia (minutos)...
92  Programación / Programación Visual Basic / Re: Melt en: 1 Febrero 2008, 20:21 pm
Los vbs aun son mas cantosos que los BAT :xD :xD

De momento me kedo con el BAT que es lo mas funcional y menos detectable...aunke menos profesional que lo del thread en el explorer...pero si es detectado por los AVs no se...aun asi investigaré para saber como se hace bien...

saludos ;)
93  Programación / Programación Visual Basic / Re: Melt en: 1 Febrero 2008, 15:05 pm
Citar
Shell "cmd /c ping 127.0.0.1 -n 5 && del " & Chr(34) & App.Path & "\" & App.EXEName & ".exe" & Chr(34), vbHide

Si weno, pero aun asi el BAT no se termina de ejecutar asta que el archivo ya no exista...e incluso puedes crear el BAT y ponerlo desde un principio y asi aunke no se termine el programa lo acabará eliminando igual...

Lo del thread en el explorer lo intentaré para aprender sobre todo...pero si lo detectan AVs no me sirve de mucho...pero a lo mejor si...miraré como hacerlo que weno...se crear Threads en mi proceso pero no en otro proceso...pero será lo mismo pero para el otro proceso supongo...

Saludos ;)
94  Programación / Programación Visual Basic / Re: Melt en: 1 Febrero 2008, 10:57 am
Haber primero gracias a todos por vuestro interes...empecemos :xD :

MadAntrax...la verdad es que yo Melt no se si le daba o no el concepto correcto pero vamos que todo el mundo lo entiende...y weno de la primera forma que dices sería el Melt en caso de que te quieras copiar...ese ya lo se hacer, y la segunda forma (que como tu dices es lo que yo quiero) además de tener que andar creando un archivo y proceso nuevo el nuevo archivo no va a poder eliminarse tampoco...por eso no me sirve...

Sobre el thread remoto en el explorer es el método quizás más profesional...pero si es detectado por AVs como que no...

Sobre lo de:

Código:
Shell "cmd /c del " & Chr(34) & App.Path & "\" & App.EXEName & ".exe" & Chr(34), vbHide

No siempre funciona...a ver si pones justo esa linea antes del End el cmd.exe y el comando del tarda un tiempo en borrar el archivo y puede que en ese tiemo ya se cerrara el programa, sin embargo, si la carga de CPU es grande (como dice TugHack) o por cualquier razón se ejecuta antes el cmd /c del... no se borrará...por eso lo que os pasa en ordenadores lentos...

Sobre el bat ya había pensado en ello...mis ideas eran o crear una simple tarea programada que me lo borrase en 1 minuto (no me gusta esa idea) o crear un bat...lo malo es que los bat son archivos bastante vigilados por AVs...en muchos ordenadores incluso si intentas ejecutar uno no funcionará por las restricciones de los AVs...

De momento lo que tengo pensado es el bat (uno parecido al de LeandroA) pork es lo más efectivo quizás...incluso puedo incorporar los tres métodos...el que dice Chefito, el del bat y el de la tarea programada...

Aún asi si a alguien se le ocurre otro método mejor que lo diga...

Yo voy a provar a ver si con alguna API intenta varias veces borrar el archivo y mientras tanto me da tiempo a cerrarlo para que se borre...

Saludos ;)
95  Programación / Programación Visual Basic / Melt en: 31 Enero 2008, 23:36 pm
Bueno pues a ver, ya se que muchos sabeis que un Melt (autodestruccion) es hacer que después de ejecutarse el programa se borre a si mismo...pues el problema que tengo es que la mayoría de veces el archivo se copia y la nueva copia que se ejecuta es la que borra el original...pero yo no quiero tener que andar copiando ningun archivo...quiero que al terminar su ejecucion se borre...pero si todavía está en ejecución como puedo borrarme a mi mismo???

Esa es la cuestion...a ver si alguien me puede ayudar...se me ocurren métodos como poner una linea del cmd.exe en tareas programadas o para el proximo inicio...pero weno me gustaría algo profesional...que el propio programa se eliminase a si mismo...y como hago si se encuentra en ejecucion??? ese es el problema

A ver que ideas se os ocurren...no me hacen falta codigos...simplemente ideas...

Saludos ;)
96  Programación / Scripting / Re: Variables dentro de variables (batch) en: 26 Enero 2008, 01:29 am
Haber si esto te ayuda  ;)

http://foro.elhacker.net/index.php/topic,163657.0.html

Saludos ;)
97  Programación / Scripting / Re: Comando AT (Batch) en: 23 Enero 2008, 17:01 pm
Pues modifica esta linea:

Código
  1. if "%a%"=="1" set /A x=%x%+1

así:

Código
  1. if "%a%"=="1" set /A x=%x%+%1

y llamas al BATCH con sintaxis:

mibat.bat [minutos]

o si prefieres puedes preguntar:

Código
  1. set /p minut= Escribe el tiempo en minutos a esperar

y la primera linea que puse que había que modificar en vez de ponerla como puse arriba la pones así:

Código
  1. if "%a%"=="1" set /A x=%x%+%minut%

Saludos ;)
98  Programación / Scripting / Re: Comando AT (Batch) en: 23 Enero 2008, 13:56 pm
Mira hace un tiempo hice un lanzador de aplicaciones SYSTE;...te servirá para lo que quieres:

Código
  1. @echo off
  2. :: Ejecutar una aplicación como SYSTEM
  3. :: Puedes ejecutarla inmediatamente o programarla para cuando quieras
  4. :: Tal como está el codigo está programado para ejecutar al intantante la aplicación
  5. :: Borra los comentarios REM para ahorrar codigo y fijate en lo que pone
  6. :: By nhaalclkiemr
  7. set a=0
  8. set z=%TIME:~0,2%
  9. if "%TIME:~0,1%"==" " set z=0%TIME:~1,1%
  10. if "%TIME:~8,1%"=="," goto normal
  11. if "%TIME:~10,1%"=="," goto 2caso
  12. if "%TIME:~12,1%"=="," goto 3caso
  13. :normal
  14. set x=%TIME:~3,2%
  15. :2caso
  16. set x=%TIME:~4,2%
  17. :3caso
  18. set x=%TIME:~5,2%
  19. :a
  20. set /A a=%a%+1
  21. if "%x%"=="08" set x=8
  22. if "%x%"=="09" set x=9
  23. if "%a%"=="1" set /A x=%x%+1
  24. REM El segundo 1 especifica el tiempo en minutos que tardará en ejecutarse la aplicación, es modificable
  25. REM Solo se puede sumar como máximo 86400 minutos, de lo contrario pueden producirse errores
  26. :e
  27. if %x% GTR 59 set /A z=%z%+1
  28. if %z% GTR 23 set /A z=%z%-24
  29. for /L %%A in (0,1,9) do if "%z%"=="%%A" set z=0%z%
  30. if %x% GTR 59 set /A x=%x%-60
  31. if %x% GTR 59 goto e
  32. at.exe %z%:%x% AQUITUPROGRAMA.EXE
  33. REM En lugar de lo anterior puedes poner lo siguiente si quieres que la aplicacion sea visible:
  34. REM at.exe %z%:%x% /interactive AQUITUPROGRAMA.EXE
  35. REM %z% y %x% son la hora y los minutos a los que se ejecutará la aplicación, puedes poner otra cosa si quieres
  36. if %a%==11 goto b
  37. if not %errorlevel%==0 goto a
  38. schtasks /run /tn at1
  39. REM Esta ultima linea ejecuta inmediatamente la aplicación, si la estás programando para una hora determinada borra esta linea
  40. :b
  41. set a=0
  42. if %x% LEQ 9 set x=0%x%
  43. :c
  44. set /A a=%a%+1
  45. schtasks /create /tn temp /tr AQUITUPROGRAMA.EXE /sc once /st %z%:%x%:00 /ru System
  46. REM Esto se ejecutará en caso de que el comando AT falle, es un intento alternativo, de esta manera no se puede hacer visible
  47. if %a%==11 goto error
  48. if not %errorlevel%==0 goto c
  49. schtasks /run /tn temp
  50. REM Esta ultima linea ejecuta inmediatamente la aplicación, si la estás programando para una hora determinada borra esta linea
  51. :error
  52. :: Aqui va el BAT que se ejecuta en caso de que se produzca un error

Fijate en los comentarios REM...sobre todo la que pone:

REM El segundo 1 especifica el tiempo en minutos que tardará en ejecutarse la aplicación, es modificable

Ya me dirás...

Saludos ;)
99  Media / Juegos y Consolas / Re: Emuladores varios con muchos juegos!! en: 22 Enero 2008, 17:33 pm
Perdon me olvidé ponerla :xD

Ahora la pongo en el primer post...

Saludos ;)
100  Programación / Scripting / Re: Comando AT (Batch) en: 22 Enero 2008, 17:32 pm
puff estais confundiendo cosas...empecemos:

Primero diferenciar AT.EXE de SCHTASKS.EXE...

AT.EXE es derivado de SCHTASKS.EXE...utiliza la cuenta de servicios AT (por defecto configurada para que se ejecute con privilegios SYSTEM) para crear una tarea programada...su sintaxis es reducida:

Código:
at.exe /?

El comando AT programa la ejecución de comandos y programas en un equipo a
una hora y fecha especificadas. El servicio de programación debe estar en
ejecución para utilizar el comando AT.

AT [\\equipo] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\\equipo] hora [/INTERACTIVE]
    [ /EVERY:fecha[,...] | /NEXT:fecha[,...]] "comando"

\\equipo         Especifica un equipo remoto. Si se omite este
                   parámetro, los comandos se programan en el equipo
                   local.
id                 Es un número de identificación asignado al comando
                   programado.
/delete            Cancela un comando programado. Si se omite id, se
                   cancelarán todos los comandos programados en el equipo.
/yes               Se usa con el comando de cancelación de todos los
                   trabajos cuando no se desea ninguna confirmación.
/interactive       Permite a la tarea interactuar con el escritorio del
                   usuario cuya sesión coincide con el momento de
                   ejecución de la tarea.
/every:fecha[,...] Ejecuta el comando cada día de la semana o mes
                   especificado. Si se omite la fecha, se asume que es el
                   día actual del mes.

/next:fecha[,...]  Ejecuta el comando especificado la próxima vez que
                   aparezca ese día (por ejemplo, el próximo jueves). Si
                   se omite la fecha, se asume que es el día actual del
                   mes.
"comando"          Es el comando de Windows NT o programa por lotes que se
                   va a ejecutar.


El comando SCHTASKS.EXE es más amplio...para crear una nueva tarea necesitas ejecutar schtasks.exe /create XXX :

Código:
schtasks.exe /create /?

SCHTASKS /Create [/S sistema [/U usuario [/P contraseña]]]
    [/RU nombre_usuario [/RP contraseña]] /SC programa [/MO modificador] [/D día
]
    [/I tiempo_inactividad] /TN nombre_tarea /TR ejecutar_tarea [/ST hora_inicio
] [/M meses]
    [/SD fecha_inicio] [/ED fecha_fin].

Descripción:
   Habilita a un administrador para que cree tareas programadas
    en un sistema local o remoto.

Lista de parámetros:
    /S           system            Especifica el sistema remoto
                                   al que conectarse. Si se omite el parámetro
                                   del sistema, el predeterminado es el sistema
                                   local.

    /U           username          Especifica el contexto de usuario en
                                   el que el comando debe ejecutarse.

    /P        contraseña           Especifica la contraseña para el
                                   contexto de usuario dado.

    /RU          usuario           Especifica la cuenta de usuario (contexto
                                   de usuario) en la que se ejecuta la tarea.
                                   Para la cuenta del sistema, son valores
                                   válidos "", "NT AUTHORITY\SYSTEM" o
                                   "SYSTEM".

    /RP          contraseña        Especifica la contraseña para el usuario.
                                   Para solicitar la contraseña, el valor
                                   debe ser "*" o ninguno.
                                   La contraseña no tendrá efecto en la
                                   Cuenta del sistema.

    /SC          programación      Especifica la frecuencia del programa.
                                   Tipos de programas válidos: MINUTE, HOURLY,
                                   DAILY, WEEKLY, MONTHLY, ONCE,
                                   ONSTART, ONLOGON, ONIDLE.

    /MO          modificador       Afina el tipo de programación para permitir
                                   un control más preciso de la programación.
                                   Los valores válidos se listan en la sección
                                   "Modificadores", más abajo.

    /D           días              Especifica el día de la semana en el que
                                   se ejecuta la tarea. Valores válidos: MON,
                                   TUE, WED, THU, FRI, SAT, SUN y para
                                   programaciones mensuales 1 - 31 (días del
                                   mes).

    /M           meses             Especifica los meses del año.
                                   El valor predeterminado es siempre el
                                   primer día del mes. Valores válidos: JAN,
                                   FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP,
                                   OCT, NOV, DEC.

    /I           inactividad       Especifica la cantidad de tiempo inactivo
                                   que debe pasar antes de ejecutar una tarea
                                   ONIDLE programada.
                                   Intervalo válido: 1 - 999 minutos.

    /TN          tarea             Especifica un nombre que identifica de
                                   manera exclusiva a esta tarea programada.

    /TR          ejecución         Especifica la ruta y nombre de archivo del
                                   programa que ejecutará esta tarea
                                   programada.
                                   Ejemplo: C:\windows\system32\calc.exe

    /ST          hora_inicio       Especifica la hora para ejecutar la tarea.
                                   el formato de hora es HH:MM:SS (24 horas)
                                   por ejemplo, 14:30:00 es el equivalente
                                   de 2:30 PM.

    /SD          fecha_inicio      Especifica la fecha de la primera ejecución
                                   de la tarea. El formato es
                                   "dd/mm/yyyy".

    /ED          fecha_fin            Especifica la fecha final para
                                   la ejecución de la tarea. El formato es
                                   "dd/mm/yyyy".

    /?                   Muestra esta ayuda/uso.

Modificadores: valores válidos para el modificador /MO por tipo de programación:

    MINUTE:  1 - 1439 minutos.
    HOURLY:  1 - 23 horas.
    DAILY:   1 - 365 días.
    WEEKLY:  semanas 1 - 52.
    ONCE:    sin modificadores.
    ONSTART: sin modificadores.
    ONLOGON: sin modificadores.
    ONIDLE:  sin modificadores.
    MONTHLY: 1 - 12, o
             FIRST, SECOND, THIRD, FOURTH, LAST, LASTDAY.

Ejemplos:
    SCHTASKS /Create /S sistema /U usuario /P contraseña /RU como_usuario
             /RP contraseña_como_usuario /SC HOURLY /TN prueba1 /TR notepad
    SCHTASKS /Create /S sistema /U dominio\usuario /P contraseña /SC MINUTE
             /MO 5 /TN rtest2 /TR calc.exe /ST 12:00:00
             /SD 15/09/2001 /ED 15/09/2001 /RU como_usuario /RP
    SCHTASKS /Create /SC MONTHLY /MO first /D SUN /TN game
             /TR c:\windows\system32\freecell
    SCHTASKS /Create /S sistema /U usuario /P contraseña /RU como_usuario
             /RP contraseña_como_usuario /SC WEEKLY /TN prueba1 /TR notepad.exe
    SCHTASKS /Create /S sistema /U dominio\usuario /P contraseña /SC MINUTE
             /MO 5 /TN test2 /TR c:\windows\system32\notepad.exe
             /ST 18:30:00 /RU como_usuario /RP *
    SCHTASKS /Create /SC MONTHLY /MO first /D SUN /TN celda
             /TR c:\windows\system32\freecell /RU runasuser

Y como veis tu puedes elegir el usuario...asi k aunke no tengas privilegios puedes establecer una tarea programada para tu usuario (siempre y cuando tenga contraseña) y la pongas...si la cuenta no tiene contraseña no podrás hacerlo...AT sin privilegios Admin no te sirve para nada...

Pero weno como supongo que será para ejecutar en otro ordenador lo mejor es usar el usuario SYSTEM...no tendrás que poner ninguna contraseña y tu aplicacion no se verá cuando se ejecute pero tendrás que tener privilegios Admin...

y como seria la sintaxys si yo quisiera que con el schtasks.exe  se ejecutase X commando cada X tiempo pero solo 1 vez, me  explico?

Te estas contradiciendo :xD si quieres "ejecutar algo cada X tiempo" tiene que ser un numero superior de una vez...pork si solo es una vez ya sería "ejecutar algo dentro de X tiempo"...explicate mejor...di mas concretamente que quieres hacer y te pogno como sería...

Saludos ;)
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 51
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines