[RUBY] [WINDOWS] IShack v1.4 (ImagesHack Uploader) ...(24/10/2012)

Iniciado por Eleкtro, 18 Octubre 2012, 04:32 AM

0 Miembros y 1 Visitante están viendo este tema.

Eleкtro

ISHACK v1.4
An Imageshack commandline uploader.

By Elektro H@cker.








Modo de empleo:
IShack (Opciones) (Archivo)


Ejemplos:


IShack -d Imagen.jpg
(Devuelve el enlace directo de la imagen)

IShack -d "C:\Imagen1.bmp" "C:\Imagen2.jpg" "C:\Imagen3.png"
(Devuelve el enlace directo de varias imagenes)

IShack --private -b -h "C:\Imagen.jpg"
(Marca la imagen como privada, y devuelve el enlace BB y HTML de la imagen)

IShack --resize 640x480 -d Imagen1.jpg Imagen2.bmp
(Redimensiona las imagenes a XxY y devuelve el enlace directo)

IShack --config
(Muestra el menú de configuración de cuenta de acceso)
.



Opciones:
-d  --direct
   Devuelve el enlace directo de la imagen.

-t  --thumb
   Devuelve el enlace directo de la miniatura de la imagen.

-b  --bbcode
    Devuelve el enlace de la imagen en formato BB.

-bt --bbcodethumb
    Devuelve el enlace de la imagen con miniatura en formato BB.

-h  --html
    Devuelve el enlace de la imagen en formato HTML.

-ht --htmlthumb
    Devuelve el enlace de la imagen con miniatura en formato HTML.

-i --imageshack
    Devuelve el enlace web de la imagen en imageshack.

-y  --yfrog
    Devuelve el enlace web de la imagen en YFrog.

-yt  --yfrogthumb
    Devuelve el enlace de la miniatura de la imagen en YFrog.

-a  --all
    Devuelve el enlace de la imagen en todos los formatos.

-p  --private
    Marca la imagen como privada.

-r  --resize
    Redimensiona la imagen.

-c  --config
    Establece los datos de acceso a una cuenta de ImagesHack.

/?   Muestra esta ayuda.








Cambios en la versión 1.4

  • El script ahora comprueba si el usuario/pass existe en Imageshack.
  • Añadida una opción para redimensionar la imagen subida.
  • Eliminada la opción para marcar la imagen como "pública", pues era innecesaria.
  • Añadido un switch alternativo ("-p") para la opción "--private".

Cambios en la versión 1.3
Corregido un error de última hora en los switches yes/no de la privacidad de la imagen, estaban al revés xD.

Cambios en la versión 1.2


  • Un cambio de nombre, ahora es ISHACK      ...xD
  • El programa ahora acepta más de una opción de formato al mismo tiempo
           (Antes solo se podía usar uno de los parámetros, ahora se pueden elegir los formatos deseados)


  • Se puede subir más de un archivo simultaneamente.
  • Opcion añadida para poder marcar la imagen como pública o privada
  • Más opciones de formato añadidas pudiendo obtener los siguientes enlaces:
           bb code thumbnail
           html thumbnail
           imageshack web
           yfrog web
           yfrog web thumbnail


  • Se genera automáticamente un código de miniaturas aunque Imageshack no cree la miniatura.
  • Los datos de acceso de la cuenta de ImagesHack se almacenan (cifrados) en el registro de Windows.
  • Pequeños cambios internos en el código, se ha simplificado y mejorado un poco dentro de lo que me ha sido posible. (No soy un PRO de Ruby :P)

ERRORES CORREGIDOS:

  • Si la imagen es demasiado pequeña ImagesHack no devuelve una miniatura pero ya no da error.
  • Corregida la información de los formatos compatibles (ICO no es soportado por Imageshack)

Cambios en la versión 1.1


  • Se puede configurar para subir las imagenes anónimamente o a una cuenta
  • Se comprueba si la imagen se subió correctamente
  • La obtención de la imagen en BB code link se ha modificado quitandole el tag [ URL ]
  • El código del script se ha simplificado y mejorado un poco...




DESCARGAS:

SHACK.exe (El script compilado, nada más): http://exoshare.com/download.php?uid=RR0ZEMGX

SHACK.exe (Instalador personalizado para windows que añade opciones al menú contextual...): http://exoshare.com/download.php?uid=1PPR9PPT





ISHACK.rb (v 1.4):
Código (ruby) [Seleccionar]

# -*- coding: UTF-8 -*-


require 'rest_client'
require 'openssl'
require 'win32/registry'


exit if Object.const_defined?(:Ocra)


$formats = ""
$files   = ""


def logo()
 print "
 @    @@                          
     @  @  @    *             *    
 @   @     @  *    @@@  * @@@   @   @ *
*@    @  * @     *    @  @ * @  @  @
 @   * @   @ @@       @  @      @ @
 @*     @  @@ *@   @@@@  @  *   @@  *
 @  @ * @  @   @  @ * @  @      @ @
*@  @  @   @   @  @   @  @ * @  @* @
 @   @@    @ * @   @@@@   @@@   @   @

                               v1.4
                               By Elektro H@cker\n"
end


def help()
print '
[Modo de empleo]

IShack (Opciones) (Archivo)



[Ejemplos]

[+] IShack -d Imagen.jpg
    Devuelve el enlace directo de la imagen.

[+] IShack -d "C:\Imagen1.bmp" "C:\Imagen2.jpg" "C:\Imagen3.png"
    Devuelve el enlace directo de varias imagenes.

[+] IShack --private -b -h "C:\Imagen.jpg"
    Marca la imagen como privada, y devuelve el enlace BB y HTML de la imagen.

[+] IShack --resize 640x480 -d Imagen1.jpg Imagen2.bmp
    Redimensiona las imagenes a XxY y devuelve el enlace directo.

[+] IShack --config
    Muestra el menú de configuración de cuenta de acceso.



[Opciones]

 -d  --direct
     Devuelve el enlace directo de la imagen.

 -t  --thumb
     Devuelve el enlace directo de la miniatura de la imagen.

 -b  --bbcode
      Devuelve el enlace de la imagen en formato BB.

 -bt --bbcodethumb
      Devuelve el enlace de la imagen con miniatura en formato BB.

 -h  --html
      Devuelve el enlace de la imagen en formato HTML.

 -ht --htmlthumb
      Devuelve el enlace de la imagen con miniatura en formato HTML.

 -i --imageshack
      Devuelve el enlace web de la imagen en imageshack.

 -y  --yfrog
      Devuelve el enlace web de la imagen en YFrog.

 -yt  --yfrogthumb
      Devuelve el enlace de la miniatura de la imagen en YFrog.

 -a  --all
      Devuelve el enlace de la imagen en todos los formatos.

 -p  --private
      Marca la imagen como privada.

 -r  --resize
      Redimensiona la imagen.

 -c  --config
      Establece los datos de acceso a una cuenta de ImagesHack.

 /?   Muestra esta ayuda.

'
Process.exit
end


def arguments()

 # empty arguments
 if (ARGV.empty?) then help() end

 ARGV.each do |arg|

 # /?
   if arg == "/?" then help() end

 # -c --config
   if arg =~ /-c\z/i or arg =~ /--config\z/i then configure() end

 # private
   if arg =~ /-p\z/i or arg =~ /--private\z/i then $privacity = "no" end

 # -d --direct
   if arg =~ /-d\z/i or arg =~ /--direct\z/i then $formats=$formats + "\n-d" end

 # -t --thumb
   if arg =~ /-t\z/i or arg =~ /--thumb\z/i  then $formats=$formats + "\n-t" end

 # -b --bbcode
   if arg =~ /-b\z/i or arg =~ /--bbcode\z/i then $formats=$formats + "\n-b" end

 # -bt --bbcodethumb
   if arg =~ /-bt\z/i or arg =~ /--bbcodethumb\z/i then $formats=$formats + "\n-bt" end

 # -h --html
   if arg =~ /-h\z/i or arg =~ /--html\z/i then $formats=$formats + "\n-h" end

 # -ht --htmlthumb
   if arg =~ /-ht\z/i or arg =~ /--htmlthumb\z/i then $formats=$formats + "\n-ht" end

 # -i --imageshack
   if arg =~ /-i\z/i or arg =~ /--imageshack\z/i then $formats=$formats + "\n-i" end

 # -y --yfrog
   if arg =~ /-y\z/i or arg =~ /--yfrog\z/i then $formats=$formats + "\n-y" end

 # -yt --yfrogthumb
   if arg =~ /-yt\z/i or arg =~ /--yfrogthumb\z/i then $formats=$formats + "\n-yt" end

 # -a --all
   if arg =~ /-a\z/i or arg =~ /--all\z/i then $formats="\n-d"+"\n-t"+"\n-b"+"\n-bt"+"\n-h"+"\n-ht"+"\n-i"+"\n-y"+"\n-yt" end

 # -r --resize
if arg =~ /-r\z/i or arg =~ /--resize\z/i
$resize_switch = "1"
$resize_size   = ARGV.to_s.split('"'+arg+'", "').last.split('"').first
if not $resize_size[/^[0-9]{1,5}[x][0-9]{1,5}$/i]
print "  [+] ERROR\n\n      La resolución \"#{$resize_size}\" no es correcta...\n"
Process.exit
end
elsif arg =~ /-r\z/i or arg =~ /--resize\z/i
$resize_switch = "0"
   print "hola"
   sleep 3
end

 # files to upload
   if arg[/.bmp\z/i] or arg[/.gif\z/i] or arg[/.jpg\z/i] or arg[/.jpeg\z/i] or arg[/.png\z/i] or arg[/.tif\z/i] or arg[/.tiff\z/i]
     if File.exist?(arg)
       $files=$files + arg + "\n"
     elsif
       print "  [+] ERROR\n\n      La imagen #{arg} no existe...\n"
       Process.exit
     end
   end
 end # ARGV.each

 # empty options
 if $formats == ""
   print "  [+] ERROR\n\n      Opción incorrecta...\n"
   Process.exit
 end

end


def configure()
$profile = "error id"
   print "\n Puede configurar su cuenta de acceso de ImagesHack para subir las imagenes...\n\n"

  until not $profile["error id"]
    print " [+] Escriba su nombre de usuario: "
  $user=STDIN.gets
  if $user == "\n" then $user="guest\n" end

  print " [+] Escriba su password: "
  $pass=STDIN.gets
  if $pass == "\n" then $pass="guest\n" end

  $profile = RestClient.post('http://imageshack.us/auth.php',
  :username => $user.gsub("\n",""),
  :password => $pass.gsub("\n",""),
  :format => "xml"
  )

  if $profile["error id"] and not $user+$pass=="guest\nguest\n"
  print "\n [+] ERROR\n\n     El nombre de usuario o contraseña son incorrectos.\n\n"
  elsif $user=="guest\n" and $pass=="guest\n"
  $profile="guest"
  end
  end # until
  userencrypted=cifrar($user, "DES-EDE3-CBC")
  passencrypted=cifrar($pass, "DES-EDE3-CBC")
  regwrite("USER", userencrypted)
  regwrite("PASS", passencrypted)
  puts "\n Datos configurados, vuelva a ejecutar el programa..."
  Process.exit
end


def cifrar(datos, cifrado)
 encrypt = OpenSSL::Cipher::Cipher.new(cifrado)
 encrypt.encrypt
 encrypt.update(datos) + encrypt.final      
end


def descifrar(datos, cifrado)
 decrypt = OpenSSL::Cipher::Cipher.new(cifrado)
 decrypt.decrypt
 decrypt.update(datos) + decrypt.final
end


def regwrite(keyname, value)
 Win32::Registry::HKEY_CURRENT_USER.create("SOFTWARE\\IShack\\") do |reg|
   reg[keyname, Win32::Registry::REG_SZ] = value
 end
end


def regread(keyname)
 Win32::Registry::HKEY_CURRENT_USER.open("SOFTWARE\\IShack\\") do |reg|
   reg[keyname]
 end
end


def subir(file)
 print "\n [ Subiendo la imagen #{file}... ]\n\n"

 begin
   $Imagen = RestClient.post('http://www.imageshack.us/upload_api.php',
   :a_username => $user,
   :a_password => $pass,
   :key        => "268BEKSV9465b858a45cd1b4d2b32d1195ee6f27",
   :public     => $privacity,
   :fileupload => File.new(file),
   :optimage   => $resize_switch,
   :optsize    => $resize_size)
 rescue
   print ' [+] ERROR

    El error puede ser debido a uno de los siguientes motivos:

    - La página esté offline.
    - El tamaño de la imagen supere los 10 MB.
    - Haya superado el límite de 500 imagenes hospedadas en su cuenta.
   '
 Process.exit
 end # exception
end


def show()
 if $Imagen["http://www.imageshack.us/thumbnail."] then $thumbs="no" end
 $nothumb = ' ImagesHack no creó ninguna miniatura. (La imagen es demasiado pequeña)' + "\n"

 direct = $Imagen.split("<image_link>").last.split("</image_link>").first.to_s
 thumb  = $Imagen.split("<thumb_link>").last.split("</thumb_link>").first
 b      = "[IMG]"+$Imagen.split("<image_bb>").last.split("</image_bb>").first.split("[IMG]").last.split("[/IMG]").first+"[/IMG]"
 bt     = $Imagen.split("<thumb_bb>").last.split("</thumb_bb>").first
 h      = $Imagen.split("<image_html>").last.split("</image_html>").first.gsub("&gt;", ">").gsub("&lt;", "<").gsub("&quot;", "\"")
 ht     = $Imagen.split("<thumb_html>").last.split("</thumb_html>").first.gsub("&gt;", ">").gsub("&lt;", "<").gsub("&quot;", "\"")
 i      = $Imagen.split("<is_link>").last.split("</is_link>").first
 y      = $Imagen.split("<yfrog_link>").last.split("</yfrog_link>").first
 yt     = $Imagen.split("<yfrog_thumb>").last.split("</yfrog_thumb>").first

 $formats.each_line do |link|
   if link.gsub("\n","") == "-d" then print " [+] DIRECTO:\n\n" + direct + "\n\n" end

   if link.gsub("\n","") == "-t"
     print " [+] MINIATURA:\n\n"
     if $thumbs=="no"
       print $nothumb + "\n" + direct + "\n\n"
     elsif
       print thumb + "\n\n"
     end
   end # thumbail

   if link.gsub("\n","") == "-b"  then print " [+] BB CODE:\n\n" + b + "\n\n" end

   if link.gsub("\n","") == "-bt"
     print " [+] BB CODE MINIATURA:\n\n"
     if $thumbs=="no"
       print $nothumb + "\n" + "[URL="+direct+"][IMG]"+direct+"[/IMG][/URL]"+"\n\n"
     elsif
       print bt + "\n\n"
     end
   end # bb thumbnail

   if link.gsub("\n","") == "-h"  then print " [+] HTML:\n\n" + h + "\n\n" end

   if link.gsub("\n","") == "-ht"
     print " [+] HTML MINIATURA:\n\n"
     if $thumbs=="no"
       print $nothumb + "\n" + '<a href="' + direct + '" target="_blank"><img src="' + direct + '" alt="Imagen subida con IShack v1.4 (By Elektro H@cker)" border="0"/></a>'+"\n\n"
     elsif
       print ht + "\n\n"
     end
   end # ht thumbnail

   if link.gsub("\n","") == "-i"  then print " [+] IMAGESHACK:\n\n" + i + "\n\n" end
   if link.gsub("\n","") == "-y"  then print " [+] YFROG:\n\n" + y + "\n\n" end
   if link.gsub("\n","") == "-yt" then print " [+] YFROG MINIATURA:\n\n" + yt + "\n\n" end
 end # |link|
end



logo()
arguments()

begin
 $user=regread("USER")
 $pass=regread("PASS")
 $user=descifrar($user, "DES-EDE3-CBC").gsub("\n","")
 $pass=descifrar($pass, "DES-EDE3-CBC").gsub("\n","")
rescue
 $user="guest"
 $pass="guest"
end
$files.each_line do |file|
 subir(file.gsub("\n",""))
 show()
end


__END__









HdM

Excelente!!!, jajaja (como suele ser habitual  ;D )

- Nice to see you again -

Garcad

#2
Gracias lo he intentado instalar en un sistema de 32 bits y me dio error.

Al final cree un nuevo instalador para la ocasion, que en 32 bits me trabaja correctamente.

;InnoSetupVersion=5.5.0

[Setup]
AppName=SHACK (ImagesHack Uploader)
AppVerName=SHACK (ImagesHack Uploader) 1.1
AppVersion=1.1
DefaultDirName={pf}\Elektro H@cker Software\Shack
DefaultGroupName=SHACK (ImagesHack Uploader)
OutputBaseFilename=Shack
Compression=lzma/Max
PrivilegesRequired=poweruser
DisableDirPage=yes
DisableProgramGroupPage=yes
InfoBeforeFile=embedded\InfoBefore.txt
WizardImageFile=embedded\WizardImage.bmp
WizardSmallImageFile=embedded\WizardSmallImage.bmp

[Files]
Source: "{sys}\Shack.exe"; DestDir: "{sys}"; Flags: 32bit; MinVersion: 0.0,5.0
Source: "{pf32}\Elektro H@cker Software\Shack\Shack.ico"; DestDir: "{pf32}\Elektro H@cker Software\Shack"; Flags: 32bit; MinVersion: 0.0,5.0; Tasks: cm
Source: "{userstartmenu}\CommandLine\Shack.bat"; DestDir: "{userstartmenu}\CommandLine"; MinVersion: 0.0,5.0

[Dirs]
Name: "{pf32}\Elektro H@cker Software\Shack"

[Registry]
Root: HKCR; Subkey: "SystemFileAssociations\.BMP\shell\SubiraImagesHack"; ValueType: String; ValueData: "Subir a ImagesHack"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.BMP\shell\SubiraImagesHack"; ValueName: "icon"; ValueType: String; ValueData: "{app}\Shack.ico"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.BMP\shell\SubiraImagesHack"; ValueName: "position"; ValueType: String; ValueData: "top"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.BMP\shell\SubiraImagesHack\command"; ValueType: String; ValueData: "CMD.exe /k title Subiendo: ""%1"" & Mode con cols=80 lines=4 & For /f ""tokens=* skip=15"" %%a in ('Shack.exe -d ""%1""') do (CLS & Echo ""%1"" | More & Echo %%a & title ""%1"" & Pause>nul)"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.GIF\shell\SubiraImagesHack"; ValueType: String; ValueData: "Subir a ImagesHack"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.GIF\shell\SubiraImagesHack"; ValueName: "icon"; ValueType: String; ValueData: "{app}\Shack.ico"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.GIF\shell\SubiraImagesHack"; ValueName: "position"; ValueType: String; ValueData: "top"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.GIF\shell\SubiraImagesHack\command"; ValueType: String; ValueData: "CMD.exe /k title Subiendo: ""%1"" & Mode con cols=80 lines=4 & For /f ""tokens=* skip=15"" %%a in ('Shack.exe -d ""%1""') do (CLS & Echo ""%1"" | More & Echo %%a & title ""%1"" & Pause>nul)"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.JPG\shell\SubiraImagesHack"; ValueType: String; ValueData: "Subir a ImagesHack"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.JPG\shell\SubiraImagesHack"; ValueName: "icon"; ValueType: String; ValueData: "{app}\Shack.ico"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.JPG\shell\SubiraImagesHack"; ValueName: "position"; ValueType: String; ValueData: "top"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.JPG\shell\SubiraImagesHack\command"; ValueType: String; ValueData: "CMD.exe /k title Subiendo: ""%1"" & Mode con cols=80 lines=4 & For /f ""tokens=* skip=15"" %%a in ('Shack.exe -d ""%1""') do (CLS & Echo ""%1"" | More & Echo %%a & title ""%1"" & Pause>nul)"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.JPEG\shell\SubiraImagesHack"; ValueType: String; ValueData: "Subir a ImagesHack"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.JPEG\shell\SubiraImagesHack"; ValueName: "icon"; ValueType: String; ValueData: "{app}\Shack.ico"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.JPEG\shell\SubiraImagesHack"; ValueName: "position"; ValueType: String; ValueData: "top"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.JPEG\shell\SubiraImagesHack\command"; ValueType: String; ValueData: "CMD.exe /k title Subiendo: ""%1"" & Mode con cols=80 lines=4 & For /f ""tokens=* skip=15"" %%a in ('Shack.exe -d ""%1""') do (CLS & Echo ""%1"" | More & Echo %%a & title ""%1"" & Pause>nul)"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.PNG\shell\SubiraImagesHack"; ValueType: String; ValueData: "Subir a ImagesHack"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.PNG\shell\SubiraImagesHack"; ValueName: "icon"; ValueType: String; ValueData: "{app}\Shack.ico"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.PNG\shell\SubiraImagesHack"; ValueName: "position"; ValueType: String; ValueData: "top"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.PNG\shell\SubiraImagesHack\command"; ValueType: String; ValueData: "CMD.exe /k title Subiendo: ""%1"" & Mode con cols=80 lines=4 & For /f ""tokens=* skip=15"" %%a in ('Shack.exe -d ""%1""') do (CLS & Echo ""%1"" | More & Echo %%a & title ""%1"" & Pause>nul)"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.TIF\shell\SubiraImagesHack"; ValueType: String; ValueData: "Subir a ImagesHack"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.TIF\shell\SubiraImagesHack"; ValueName: "icon"; ValueType: String; ValueData: "{app}\Shack.ico"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.TIF\shell\SubiraImagesHack"; ValueName: "position"; ValueType: String; ValueData: "top"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.TIF\shell\SubiraImagesHack\command"; ValueType: String; ValueData: "CMD.exe /k title Subiendo: ""%1"" & Mode con cols=80 lines=4 & For /f ""tokens=* skip=15"" %%a in ('Shack.exe -d ""%1""') do (CLS & Echo ""%1"" | More & Echo %%a & title ""%1"" & Pause>nul)"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.TIFF\shell\SubiraImagesHack"; ValueType: String; ValueData: "Subir a ImagesHack"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.TIFF\shell\SubiraImagesHack"; ValueName: "icon"; ValueType: String; ValueData: "{app}\Shack.ico"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.TIFF\shell\SubiraImagesHack"; ValueName: "position"; ValueType: String; ValueData: "top"; MinVersion: 0.0,5.0;
Root: HKCR; Subkey: "SystemFileAssociations\.TIFF\shell\SubiraImagesHack\command"; ValueType: String; ValueData: "CMD.exe /k title Subiendo: ""%1"" & Mode con cols=80 lines=4 & For /f ""tokens=* skip=15"" %%a in ('Shack.exe -d ""%1""') do (CLS & Echo ""%1"" | More & Echo %%a & title ""%1"" & Pause>nul)"; MinVersion: 0.0,5.0;

[Run]
Filename: {userstartmenu}\CommandLine\Shack.bat; Description: "{cm:LaunchProgram,SHACK (ImagesHack Uploader)}"; MinVersion: 0.0,5.0; Flags: NoWait PostInstall;
Filename: shack.exe; Parameters: -c; Description: "Configurar SHACK"; MinVersion: 0.0,5.0; Flags: PostInstall NoWait;

[Tasks]
Name: "cm"; Description: "Agregar ""Subir a ImagesHack"" al menú contextual"; MinVersion: 0.0,5.0;

[CustomMessages]
default.NameAndVersion=%1 version %2
default.AdditionalIcons=Additional icons:
default.CreateDesktopIcon=Create a &desktop icon
default.CreateQuickLaunchIcon=Create a &Quick Launch icon
default.ProgramOnTheWeb=%1 on the Web
default.UninstallProgram=Uninstall %1
default.LaunchProgram=Launch %1
default.AssocFileExtension=&Associate %1 with the %2 file extension
default.AssocingFileExtension=Associating %1 with the %2 file extension...
default.AutoStartProgramGroupDescription=Startup:
default.AutoStartProgram=Automatically start %1
default.AddonHostProgramNotFound=%1 could not be located in the folder you selected.%n%nDo you want to continue anyway?

[Languages]
; These files are stubs
; To achieve better results after recompilation, use the real language files
Name: "default"; MessagesFile: "embedded\default.isl";


¿Se podria poner en el instalador la opcion de borrar el archivo de configuracion y ocultar un poco el nombre y el usuario, usando un cifrado seguro con un poco de salt?

Salu2

Eleкtro

#3
NUEVA VERSIÓN 1.2 DISPONIBLE PARA DESCARGAR






Cita de: Garcad en 18 Octubre 2012, 21:56 PM
Gracias lo he intentado instalar en un sistema de 32 bits y me dio error.

Al final cree un nuevo instalador para la ocasion, que en 32 bits me trabaja correctamente.
Tienes razón, no lo testeé en win x86, pero puedes usar este script que ya funciona bien:

PD: el InnoUnp omite muchos flags importantes y muchos valores al desempaquetar, pero veo que te has manejado bien con eso.

;ISHACK v1.2 By Elektro H@cker

[Setup]
AppName=ISHACK (ImagesHack Uploader)
AppVerName=ISHACK (ImagesHack Uploader) v1.2
AppVersion=v1.2
DefaultDirName={pf}\Elektro H@cker Software\ISHACK
DefaultGroupName=ISHACK (ImagesHack Uploader)
OutputBaseFilename=ISHACK
AlwaysShowComponentsList=false
DisableDirPage=true
DisableProgramGroupPage=true
DisableReadyPage=true
DisableStartupPrompt=true
FlatComponentsList=false
PrivilegesRequired=none
RestartIfNeededByRun=false
ShowLanguageDialog=no
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=true
InfoBeforeFile=embedded\InfoBefore.txt
WizardImageFile=embedded\WizardImage.bmp
WizardSmallImageFile=embedded\WizardSmallImage.bmp
ArchitecturesInstallIn64BitMode=x64
SetupIconFile=icono.ico
[Dirs]
Name: {pf}\Elektro H@cker Software\ISHACK

[Files]
Source: {sys}\ISHACK.exe; DestDir: {sys}
Source: {sys}\ISHACK.exe; DestDir: {syswow64}; Flags: noregerror
Source: {pf}\Elektro H@cker Software\ISHACK\ISHACK.ico; DestDir: {pf}\Elektro H@cker Software\ISHACK
Source: {userstartmenu}\CommandLine\ISHACK.bat; DestDir: {userstartmenu}\CommandLine

[Registry]
Root: HKCR; Subkey: SystemFileAssociations\.BMP\shell\SubiraImagesHack; ValueType: String; ValueData: Subir a ImagesHack; tasks: BMP; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.BMP\shell\SubiraImagesHack; ValueName: icon; ValueType: String; ValueData: {app}\ISHACK.ico; tasks: BMP; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.BMP\shell\SubiraImagesHack; ValueName: position; ValueType: String; ValueData: top; tasks: BMP; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.BMP\shell\SubiraImagesHack\command; ValueType: String; ValueData: "CMD /Q /k ""Title ISHACK: ""%1"" & Mode con cols=80 lines=6 & Echo+ & Echo: ""%1"" | MORE & (For /f ""tokens=* skip=15"" %%a in ('ISHACK.exe -d ""%1""') do (Echo %%a & title ""%1"")) & (Pause>NUL)"""; tasks: BMP; flags: uninsdeletekey

Root: HKCR; Subkey: SystemFileAssociations\.GIF\shell\SubiraImagesHack; ValueType: String; ValueData: Subir a ImagesHack; tasks: GIF; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.GIF\shell\SubiraImagesHack; ValueName: icon; ValueType: String; ValueData: {app}\ISHACK.ico; tasks: GIF; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.GIF\shell\SubiraImagesHack; ValueName: position; ValueType: String; ValueData: top; tasks: GIF; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.GIF\shell\SubiraImagesHack\command; ValueType: String; ValueData: "CMD /Q /k ""Title ISHACK: ""%1"" & Mode con cols=80 lines=6 & Echo+ & Echo: ""%1"" | MORE & (For /f ""tokens=* skip=15"" %%a in ('ISHACK.exe -d ""%1""') do (Echo %%a & title ""%1"")) & (Pause>NUL)"""; tasks: GIF; flags: uninsdeletekey

Root: HKCR; Subkey: SystemFileAssociations\.JPEG\shell\SubiraImagesHack; ValueType: String; ValueData: Subir a ImagesHack; tasks: JPG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.JPEG\shell\SubiraImagesHack; ValueName: icon; ValueType: String; ValueData: {app}\ISHACK.ico; tasks: JPG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.JPEG\shell\SubiraImagesHack; ValueName: position; ValueType: String; ValueData: top; tasks: JPG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.JPEG\shell\SubiraImagesHack\command; ValueType: String; ValueData: "CMD /Q /k ""Title ISHACK: ""%1"" & Mode con cols=80 lines=6 & Echo+ & Echo: ""%1"" | MORE & (For /f ""tokens=* skip=15"" %%a in ('ISHACK.exe -d ""%1""') do (Echo %%a & title ""%1"")) & (Pause>NUL)"""; tasks: JPG; flags: uninsdeletekey

Root: HKCR; Subkey: SystemFileAssociations\.JPG\shell\SubiraImagesHack; ValueType: String; ValueData: Subir a ImagesHack; tasks: JPG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.JPG\shell\SubiraImagesHack; ValueName: icon; ValueType: String; ValueData: {app}\ISHACK.ico; tasks: JPG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.JPG\shell\SubiraImagesHack; ValueName: position; ValueType: String; ValueData: top; tasks: JPG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.JPG\shell\SubiraImagesHack\command; ValueType: String; ValueData: "CMD /Q /k ""Title ISHACK: ""%1"" & Mode con cols=80 lines=6 & Echo+ & Echo: ""%1"" | MORE & (For /f ""tokens=* skip=15"" %%a in ('ISHACK.exe -d ""%1""') do (Echo %%a & title ""%1"")) & (Pause>NUL)"""; tasks: JPG; flags: uninsdeletekey

Root: HKCR; Subkey: SystemFileAssociations\.PNG\shell\SubiraImagesHack; ValueType: String; ValueData: Subir a ImagesHack; tasks: PNG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.PNG\shell\SubiraImagesHack; ValueName: icon; ValueType: String; ValueData: {app}\ISHACK.ico; tasks: PNG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.PNG\shell\SubiraImagesHack; ValueName: position; ValueType: String; ValueData: top; tasks: PNG; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.PNG\shell\SubiraImagesHack\command; ValueType: String; ValueData: "CMD /Q /k ""Title ISHACK: ""%1"" & Mode con cols=80 lines=6 & Echo+ & Echo: ""%1"" | MORE & (For /f ""tokens=* skip=15"" %%a in ('ISHACK.exe -d ""%1""') do (Echo %%a & title ""%1"")) & (Pause>NUL)"""; tasks: PNG; flags: uninsdeletekey

Root: HKCR; Subkey: SystemFileAssociations\.TIF\shell\SubiraImagesHack; ValueType: String; ValueData: Subir a ImagesHack; tasks: TIF; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.TIF\shell\SubiraImagesHack; ValueName: icon; ValueType: String; ValueData: {app}\ISHACK.ico; tasks: TIF; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.TIF\shell\SubiraImagesHack; ValueName: position; ValueType: String; ValueData: top; tasks: TIF; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.TIF\shell\SubiraImagesHack\command; ValueType: String; ValueData: "CMD /Q /k ""Title ISHACK: ""%1"" & Mode con cols=80 lines=6 & Echo+ & Echo: ""%1"" | MORE & (For /f ""tokens=* skip=15"" %%a in ('ISHACK.exe -d ""%1""') do (Echo %%a & title ""%1"")) & (Pause>NUL)"""; tasks: TIF; flags: uninsdeletekey

Root: HKCR; Subkey: SystemFileAssociations\.TIFF\shell\SubiraImagesHack; ValueType: String; ValueData: Subir a ImagesHack; tasks: TIF; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.TIFF\shell\SubiraImagesHack; ValueName: icon; ValueType: String; ValueData: {app}\ISHACK.ico; tasks: TIF; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.TIFF\shell\SubiraImagesHack; ValueName: position; ValueType: String; ValueData: top; tasks: TIF; flags: uninsdeletekey
Root: HKCR; Subkey: SystemFileAssociations\.TIFF\shell\SubiraImagesHack\command; ValueType: String; ValueData: "CMD /Q /k ""Title ISHACK: ""%1"" & Mode con cols=80 lines=6 & Echo+ & Echo: ""%1"" | MORE & (For /f ""tokens=* skip=15"" %%a in ('ISHACK.exe -d ""%1""') do (Echo %%a & title ""%1"")) & (Pause>NUL)"""; tasks: TIF; flags: uninsdeletekey

[Run]
Filename: {userstartmenu}\CommandLine\ISHACK.bat; Description: Ejecutar ISHACK; Flags: nowait postinstall skipifsilent shellexec unchecked
Filename: ISHACK.exe; Parameters: -c; Description: Configurar ISHACK; Flags: nowait postinstall skipifsilent shellexec

[Tasks]
Name: BMP; Description: .BMP; Groupdescription: "Opción en el menú contextual: ""Subir a ImagesHack"""
Name: GIF; Description: .GIF; Groupdescription: "Opción en el menú contextual: ""Subir a ImagesHack"""
Name: JPG; Description: .JPEG/JPG; Groupdescription: "Opción en el menú contextual: ""Subir a ImagesHack"""
Name: PNG; Description: .PNG; Groupdescription: "Opción en el menú contextual: ""Subir a ImagesHack"""
Name: TIF; Description: .TIF/TIFF; Groupdescription: "Opción en el menú contextual: ""Subir a ImagesHack"""



Cita de: Garcad en 18 Octubre 2012, 21:56 PM
¿Se podria poner en el instalador la opcion de borrar el archivo de configuracion y ocultar un poco el nombre y el usuario, usando un cifrado seguro con un poco de salt?
Las dos peticiones me parecen innecesarias, ni que fuese un programa de seguridad, o algo xD

Pero he tomado bastante en cuenta tu segunda petición. Eso sí, no me he esmerado mucho con la cifrado, este tipo de programa no necesita más...

PD: En el post principal tienes la nueva versión, y nuevo instalador.
PD2: Gracias por las sugerencias

Saludos








0x5d

¡ SIGUEME EN TWITTER -> @JavierEsteban__ !

Eleкtro

Cita de: 0x5d en 20 Octubre 2012, 18:22 PM
Sensual código ! n_n

No te burles del mod!  :xD




NUEVA VERSIÓN 1.4 DISPONIBLE PARA DESCARGAR

PD: En el comentario principal