Hola a todos
Tengo 2 scripts.
El primero es una llamada a ftp y los parámetros de la conexión están en el segundo(1.BAT,2.BAT).
1.BAT
ftp -s 2.bat [miservidor]
2.BAT
user
password
cd carpeta
mput archivo
by
Como ven se trata de conectarse al server y subir un archivo.
Quiero que nadie pueda ver el contenido de los .bat para que ningun curioso tenga ni la URL ni el usuario/password.
He seguido el tuto para incluir el 2.bat en el ejecutable del 1.bat
http://foro.elhacker.net/hacking_basico/manual_joiner_con_quick_batch_file_compiler-t187349.0.html
El código para el 1.bat lo he cambiado asi:
start %MYFILES%\2.bat
ftp -s%MYFILES%\:2.bat 86.109.162.40
En realidad lo he probado de varias formas, pero nada, el EXE funciona, pero sigue necesitando el archivo 2.bat. Es como si no lo incluyese, ya que si copio el EXE a otra carpeta y lo ejecuto, no lo encuentra.
Evidentemente algo hago mal, pero no se el qué :-(
¿Pueden ayudarme?
Bueno, he releido el tuto y ya he conseguido algo, pero el código me parece malísimo.
Este es ahora el código de 1.bat
@echo off
copy %MYFILES%\2.bat %Systemroot%\System32
ftp -s:%Systemroot%\System32\2.bat [miserver]
Me parece demasiado enrevesado, quiero decir, podría copiar el 2.bat adjunto a un sitio menos 'peliagudo' que system32 no? ¿Cómo puedo copiar al directorio 'actual' (donde esté el exe vamos)?
Cita de: daniel69 en 31 Mayo 2009, 15:41 PM
Bueno, he releido el tuto y ya he conseguido algo, pero el código me parece malísimo.
Este es ahora el código de 1.bat
@echo off
copy %MYFILES%\2.bat %Systemroot%\System32
ftp -s:%Systemroot%\System32\2.bat [miserver]
Me parece demasiado enrevesado, quiero decir, podría copiar el 2.bat adjunto a un sitio menos 'peliagudo' que system32 no? ¿Cómo puedo copiar al directorio 'actual' (donde esté el exe vamos)?
@echo off
copy %MYFILES%\2.bat "%cd%"
ftp -s:2.bat [tuserver]
PD: te aconsejo que crees un txt en lugar de incluir un bat en el exe, es mucho más cómodo ^^
Lo he vuelto a cambiar, mejor usar el directorio temporal.
¿Funcionará en el Vista? (tengo el XP)
¿Y como no admin?
@echo off
copy %MYFILES%\2.bat %TMP%\
ftp -s:%TMP%\2.bat [miserver]
Cita de: RedKnight en 31 Mayo 2009, 16:25 PM
Cita de: daniel69 en 31 Mayo 2009, 15:41 PM
Bueno, he releido el tuto y ya he conseguido algo, pero el código me parece malísimo.
Este es ahora el código de 1.bat
@echo off
copy %MYFILES%\2.bat %Systemroot%\System32
ftp -s:%Systemroot%\System32\2.bat [miserver]
Me parece demasiado enrevesado, quiero decir, podría copiar el 2.bat adjunto a un sitio menos 'peliagudo' que system32 no? ¿Cómo puedo copiar al directorio 'actual' (donde esté el exe vamos)?
@echo off
copy %MYFILES%\2.bat "%cd%"
ftp -s:2.bat [tuserver]
PD: te aconsejo que crees un txt en lugar de incluir un bat en el exe, es mucho más cómodo ^^
Gracias por contestar.
En realidad no creo que el segundo fichero, donde están los parámetros para el ftp, tenga que ser .bat, pero soy noob en batch y no tengo ni idea. ¿A qué te refieres exactamente con que es más cómodo?
Voy a probar lo de %cd, ahora posteo los resultados.
Cita de: daniel69 en 31 Mayo 2009, 16:29 PM
Lo he vuelto a cambiar, mejor usar el directorio temporal.
¿Funcionará en el Vista? (tengo el XP)
¿Y como no admin?
@echo off
copy %MYFILES%\2.bat %TMP%\
ftp -s:%TMP%\2.bat [miserver]
Yo haría algo así ._. (lo he modificado ya que dependiendo de algunos factores podía dar error :P)
echo (user)>>%temp%\0.txt
echo (password)>>%temp%\0.txt
echo cd (carpeta)>>%temp%\0.txt
echo mput (archivos)>>%temp%\0.txt
echo bye>>%temp%\0.txt
ftp -s:%temp%\0.txt (ftp)
del %temp%\0.txt
Saludos...
Funciona de lujo ;D
Lo único ha sido añadir un del 2.bat para que borre el archivo, ya que si no la cagamos jeje
¿Es esto 'portable'? Lo digo por si se ejecuta en un Vista (que no tengo) o en un equipo donde no sea admin. Es para ser ejecutado desde un pen.
Cita de: RedKnight en 31 Mayo 2009, 16:33 PM
Cita de: daniel69 en 31 Mayo 2009, 16:29 PM
Lo he vuelto a cambiar, mejor usar el directorio temporal.
¿Funcionará en el Vista? (tengo el XP)
¿Y como no admin?
@echo off
copy %MYFILES%\2.bat %TMP%\
ftp -s:%TMP%\2.bat [miserver]
Yo haría algo así ._.
echo (user)>>%temp%\0.txt
echo (password)>>%temp%\0.txt
echo cd (carpeta)>>%temp%\0.txt
echo put (archivo)>>%temp%\0.txt
echo bye>>%temp%\0.txt
ftp -s:%temp%\0.txt (ftp)
del %temp%\0.txt
Saludos...
Hola
¿Qué diferencias hay con la otra forma?
Cita de: daniel69 en 31 Mayo 2009, 16:38 PM
Cita de: RedKnight en 31 Mayo 2009, 16:33 PM
Cita de: daniel69 en 31 Mayo 2009, 16:29 PM
Lo he vuelto a cambiar, mejor usar el directorio temporal.
¿Funcionará en el Vista? (tengo el XP)
¿Y como no admin?
@echo off
copy %MYFILES%\2.bat %TMP%\
ftp -s:%TMP%\2.bat [miserver]
Yo haría algo así ._.
echo (user)>>%temp%\0.txt
echo (password)>>%temp%\0.txt
echo cd (carpeta)>>%temp%\0.txt
echo put (archivo)>>%temp%\0.txt
echo bye>>%temp%\0.txt
ftp -s:%temp%\0.txt (ftp)
del %temp%\0.txt
Saludos...
Hola
¿Qué diferencias hay con la otra forma?
Pues que no hace falta adjuntar ningún 2.bat :P
¿y si te digo que en vez de put para un fichero uso mput para varios? ;D
Tal que asi
mput /carpetafuente/*.abc
Lo he probado y no me va.
Cita de: daniel69 en 31 Mayo 2009, 16:47 PM
¿y si te digo que en vez de put para un fichero uso mput para varios? ;D
Tal que asi
mput /carpetafuente/*.abc
Lo he probado y no me va.
Perdona por el error tipográfico :xD He aquí el código definitivo:
echo (user)>>%temp%\0.txt
echo (password)>>%temp%\0.txt
echo cd (carpeta)>>%temp%\0.txt
echo mput (archivos)>>%temp%\0.txt
echo bye>>%temp%\0.txt
ftp -s:%temp%\0.txt (ftp)
del %temp%\0.txt
Saludos ^^
gracias por la correción. Antes había puesto put solamente, ya que supuse que funcionaría igual que con mput, supongo que me equivoqué.
No me funciona el script. Es cierto que se genera bien, es decir, aparentemente es equivalente a 2.bat, pero me da error de login.
>>530 incorrect
No lo entiendo, tanto 0.txt como 2.bat son IGUALES.
Cita de: daniel69 en 31 Mayo 2009, 17:14 PM
gracias por la correción. Antes había puesto put solamente, ya que supuse que funcionaría igual que con mput, supongo que me equivoqué.
No me funciona el script. Es cierto que se genera bien, es decir, aparentemente es equivalente a 2.bat, pero me da error de login.
>>530 incorrect
No lo entiendo, tanto 0.txt como 2.bat son IGUALES.
El problema eran los espacios, ya que hay veces que se tienen que poner (cuando por ejemplo la línia acaba con un número o algo así y veces que no ._.). Si sigues teniendo algún problema con el código de arriba dilo :P Saludos...
echo user >> %cd%\0.txt
echo passw >> %cd%\0.txt
echo cd carpeta >> %cd%\0.txt
echo mput download\*.abc >> %cd%\0.txt
echo by >> %cd%\0.txt
ftp -s:%cd%\0.txt IP-del-SERVER
del %cd%\0.txt
Esto es lo que tengo y no consigo dar con el fallo.
Falla el login y a partir de ahí nada que hacer claro.
El contenido de 0.txt (quitando la ultima linea para que no lo borre) esta bien, es el mismo que 2.bat
He usado %cd% en vez de %temp% para que trabaje en el mismo directorio donde está el fichero
----
Increible, si quito la 3a linea, la de cambiar de carpeta en el server, hace login correcto :xD
Toy to loco
----
Vale ya está claro. RedKnight, tenías razón. El problema viene porque "cd carpeta" carpeta es un número.
Tal que así si que funciona:
echo user>>%cd%\0.txt
echo passw>>%cd%\0.txt
echo cd carpeta >>%cd%\0.txt
...................etc.........................
Nótese la línea en blanco después del login y el espacio tras el nombre de carpeta (que es un número).
Gracias a todos por la ayuda, yo sólo no lo saco en 100 años ;-)
joder que infierno, ahora no me borra el archivo 0.txt, y claro, ahí está todo
:-\
-----------------
Resuelto:
El archivo lo creo así al principio del script %cd%\0.txt
Pues bien, si hago borrar tal que así del %cd%\0.txt
peta, ya que intenta hacer un >>del I:\\0.txt (todo esto es un PEN cuya letra es I:)
Solucionado así:del %cd%0.txt ( es decir, sin la barra inversa \ )
Lo malo del sistema del txt es que el fichero queda 'a la vista' todo el tiempo aunque se borre después.
He intentado ocultarlo con attrib antes de hacer el ftp, pero en el explorador de windowsxp se puede ver/abrir perfectamente, hasta que se borra, y tarda un par de segundos.
¿No se puede crear directamente oculto?
Incluso quitando lo de 'no ver ocultos' del explorador, sigue apareciendo, como si nada :huh:
Cita de: daniel69 en 31 Mayo 2009, 18:57 PM
Lo malo del sistema del txt es que el fichero queda 'a la vista' todo el tiempo aunque se borre después.
He intentado ocultarlo con attrib antes de hacer el ftp, pero en el explorador de windowsxp se puede ver/abrir perfectamente, hasta que se borra, y tarda un par de segundos.
¿No se puede crear directamente oculto?
Incluso quitando lo de 'no ver ocultos' del explorador, sigue apareciendo, como si nada :huh:
Cómo ya he dejado claro en el código, crealo en %temp% ;)
Gracias, eso haré.
Lo había cambiado a %cd% porque el programa va a ser ejecutado en un pen en otros ordenadores, y claro, vete a saber si tengo permiso de escritura. Supongo que al ser la carpeta temporal así será.
:D