Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: binario010101 en 12 Febrero 2013, 01:42 am



Título: modificar archivo Preferences
Publicado por: binario010101 en 12 Febrero 2013, 01:42 am
hola amigos me puedes ayudar con otra  pregunta? pagina de incio de chrome

revisando el archivo Preferences ubicado en

(C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data\Default\Preferences)

este archivo guarda la pagina de inicio de google chrome.

en la siguiente parte del codigo es donde esta la pagina de inicio

al principio del codigo

Código:
},
      "session": {
         "restore_on_startup": 4,
         "urls_to_restore_on_startup":  [ "http://www.corte.com/", "http://www.consejo.com/" ]
      }

al final del archivo se repite otraves

Código:
},
      "session": {
         "restore_on_startup": 4,
         "urls_to_restore_on_startup":  [ "http://www.corte.com/", "http://www.consejo.com/" ]
      }


en el mismo archivo se encutra esta parte

Código:
} ],
               "description": "My digital assistant for a frictionless Internet",
               "homepage_url": "https://www.dashlane.com/",
               "icons": {
                  "128": "skin/icon/dashlane48.png",
                  "48": "skin/icon/dashlane48.png"
               },


que tambien establece la pagina de incio de chrome, esta ultima parte fue dodificada por un programa asi que no se cual sera la forma original.



alguien me puede ayudar con un codigo (bat, vbs, cmd u otro)para remplazar el contenido de [......] que son las paginas de inicio de google chrome de las dos primeras partes dle codigo de arriba.

Código:
 "urls_to_restore_on_startup":  [ "http://www.corte.com/", "http://www.consejo.com/" ]

y ademas el contenido de "" que es otra forma de establcer la pagina de inicio de chrome

Código:
"homepage_url": "https://www.dashlane.com/",


gracias amigos.


Título: Re: modificar archivo Preferences
Publicado por: Eleкtro en 12 Febrero 2013, 06:59 am
Ví que hace tiempo tuviste esa duda aquí: http://foro.elhacker.net/scripting/cambiar_pagina_inicio_con_bath-t376847.0.html;msg1822648#msg1822648

Código:
 "urls_to_restore_on_startup":  [ "http://www.corte.com/", "http://www.consejo.com/" ]

Lo que comentas no almacena la página de inicio, es información de la sesión actual, como su nombre indica son las páginas que se deben restaurar cuando ejecutes el chrome la próxima vez





Código:
"homepage_url": "https://www.dashlane.com/",

Puedes probar a hacerlo en Batch pero no te lo recomiendo, porque si sucede como en Firefox entonces el archivo de congiuración de Chrome puede contener cadenas de texto demasiado largas para poder usarlas en Batch (Batch está limitado a 8.190 caracteres +o-)

Suponiendo que la cadena es tál y como has mencionado, y suponiendo que no hayan cadenas demasiado largas en el archivo, esto te servirá:

Código
  1. @echo off
  2.  
  3. Set "Homepage=http://www.elhacker.net/"
  4.  
  5. For /F "usebackq tokens=*" %%@ in ("Archivo.js") DO (
  6.  
  7. (Echo "%%@" | FIND /I "homepage_url" >NUL && (
  8.  
  9. Echo ^"homepage_url^": ^"%HOMEPAGE%^",^" >> "New_Archivo.js")
  10. ) || (
  11. Echo %%@ >> "New_Archivo.js"
  12. )
  13. )
  14.  
  15. Pause&Exit

De lo contrario puedes usar en Batch utilidades externas como "SED.exe" o "GREP.exe", o puedes recurrir a cualquier otro lenguaje:

Ruby:

Código
  1. # -*- coding: UTF-8 -*-
  2.  
  3. @Homepage = "http://www.elhacker.net/"
  4. @Content  = ""
  5.  
  6. open("Chrome.js", "r") do |text|
  7. while (line = text.gets)
  8. if line.include?("homepage_url") then line = ("\"homepage_url\": \"#{@Homepage}\",\"\n") end
  9.   @Content = @Content + "#{line}"
  10.   puts "#{line}"
  11.    end
  12. end
  13.  
  14. open("NEW_Chrome.js", 'w') { |text| text.puts @Content}
  15.  
  16. __END__

Saludos.


Título: Re: modificar archivo Preferences
Publicado por: binario010101 en 12 Febrero 2013, 15:53 pm
hola amigo gracias por tu respuesta.

mi archivo tiene 79554 caracteres. creo que no sirve en bat segun lo que me dices

me puedes ayudar con la parte de

Código:
},
      "session": {
         "restore_on_startup": 4,
         "urls_to_restore_on_startup":  [ "http://www.corte.com/", "http://www.consejo.com/" ]
      }

a sustituir el contenido de [.....] pues es el mas importante. gracias por tu respuesta

NOTA amigo no quiero ser molesto pero no quiero instalar aplicaciones extras para ejecutar la tarea. solo quiero una aplicacion sin importar el lenguaje que al ejecutarla realise la tarea en cualquier pc que tenga chrome


Título: Re: modificar archivo Preferences
Publicado por: Eleкtro en 12 Febrero 2013, 17:13 pm
mi archivo tiene 79554 caracteres. creo que no sirve en bat segun lo que me dices

No me refería al total de caracteres del archivo, sinó del máximo de caracteres que pueda tener una línea.
no quiero instalar aplicaciones extras para ejecutar la tarea

Entonces sí olvídate de Batch jeje.
Se puede hacer con un FOR, pero demasiados problemas (comillas dobles, strings que no sabes el límite de caracteres, y demás),
ahí tienes Ruby, no lo pidas todo hecho, inténtalo, con el ejemplo que te dí tienes el modo de hacer lo que pides, sólo tienes que modificar la expresión regular y retocar la comparación.

Saludos


Título: Re: modificar archivo Preferences
Publicado por: binario010101 en 12 Febrero 2013, 22:55 pm
Código:

# -*- coding: UTF-8 -*-
 
@inichrome = ["http://www.elhacker.net/"]
@Content  = ""

open("Chrome.js", "r") do |text|
while (line = text.gets)
if line.include?("urls_to_restore_on_startup") then line = ("\"urls_to_restore_on_startup \": \"#{@inichrome}\",\"\n") end
@Content = @Content + "#{line}"
puts "#{line}"
end
end

open("NEW_Chrome.js", 'w') { |text| text.puts @Content}

__END__


cual es el error? gracias