Foros del Web » Programación para mayores de 30 ;) » Programación General »

Archivos (.ini) ¿para qué sirven y cómo se usan?

Estas en el tema de Archivos (.ini) ¿para qué sirven y cómo se usan? en el foro de Programación General en Foros del Web. Hola, Desearía saber si alguien puede responderme las siguientes cuatro (4) preguntas, ello con el fin de aclarar varias dudas que tengo al respecto: 1.- ...
  #1 (permalink)  
Antiguo 21/03/2005, 08:36
jcl
 
Fecha de Ingreso: enero-2002
Mensajes: 673
Antigüedad: 22 años, 10 meses
Puntos: 1
Exclamación Archivos (.ini) ¿para qué sirven y cómo se usan?

Hola,

Desearía saber si alguien puede responderme las siguientes cuatro (4) preguntas, ello con el fin de aclarar varias dudas que tengo al respecto:

1.- ¿Qué son los archivos .ini y para que sirven?

2.- ¿Cómo se crean y cómo se manejar los archivos .ini?

3.- ¿Los archivos .ini son útiles en visual basic?

4.- ¿Hay algún lugar dónde leer sobre esa materia (.ini)?

Gracias de antemano, y muchos saludos.
  #2 (permalink)  
Antiguo 21/03/2005, 09:58
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
1.Son archivos de texto plano con una sintaxis especifica, suelen usarse para leer/grabar la configuración de programas.

2.Como cualquier archivo de texto, también se pueden usar unas cuantas funciones de la API de Windows.

3.Igual de utiles que en cualquier otro lenguaje.

4.Podes buscar en google, pero un ini no es más que una cosa así:

[SECCION]
CLAVE=VALOR
CLAVE=VALOR
CLAVE=VALOR

[OTRA_SECCION]
CLAVE=VALOR
CLAVE=VALOR
ETC
ETC
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 21/03/2005, 10:31
jcl
 
Fecha de Ingreso: enero-2002
Mensajes: 673
Antigüedad: 22 años, 10 meses
Puntos: 1
Exclamación

Gracias por tu intervención.

Pero, en un caso cualquiera, por ejemplo: CLAVE=VALOR ... ¿Qué se supone que debe hacerse con "CLAVE" y que se hará con "VALOR"? ¿qué papel juegan estas variables y esos valores?

No lo se, pero supongo que en algún lugar de mi programa debo referenciar lo que llamo una "Etiqueta" [SECCION] ... ¿Eso está documentado en algún lugar que u sepas?

Saludos.

Última edición por jcl; 21/03/2005 a las 10:40
  #4 (permalink)  
Antiguo 21/03/2005, 10:39
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Cada programa tiene sus propias etiquetas para las secciones y dentro de estas hay claves con valores que se pueden leer y modificar.

Estos son unos ejempos del Ollydbg:

[Settings]
Check DLL versions=0
Show toolbar=1
Status in toolbar=0

[AeDebug]
Debugger="C:\Program Files\Common Files\Microsoft Shared\VS7Debug\vs7jit.exe" -p %ld -e %ld
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #5 (permalink)  
Antiguo 21/03/2005, 10:48
jcl
 
Fecha de Ingreso: enero-2002
Mensajes: 673
Antigüedad: 22 años, 10 meses
Puntos: 1
Es decir, que si un curioso mal intencionado, cambia el valor en:
[AeDebug]
Debugger="C:\Program Files\Common Files\Microsoft Shared\VS7Debug\vs7jit.exe" -p %ld -e %ld

... entoces ese programa se trastorna en su funcionamiento ¿es así?

... ¿Más gráfico?, bueno ..

Qué pasaría si en
[Settings]
Check DLL versions=0
Show toolbar=1
Status in toolbar=0

... yo cambio los valores a:

[Settings]
Check DLL versions=79
Show toolbar=80
Status in toolbar=-1

... y suponiendo que esos valores no existen como válidos??

Te hagos estas preguntas, pues en mis programas Visual Basic, yo no me atrevería a incluir archivos .ini, a menos que no signifiquen riesgos de colapso.

Saludos.
  #6 (permalink)  
Antiguo 21/03/2005, 10:51
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Si, son archivos de texto plano a los que puede acceder cualquier, tanto como a un ejecutable, si algún curioso cambia unos bytes del mismo puede destruirlo o cambiar el comportamiento ...

Generalmente si los valores no son válidos los programas tienen valores por defecto que utilizan, por ejemplo check dll versions se pondría a cero, show toobar a uno y status in toolbar a 0, todos los valores deberían ser comprobados en el momento de la lectura.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #7 (permalink)  
Antiguo 21/03/2005, 10:57
jcl
 
Fecha de Ingreso: enero-2002
Mensajes: 673
Antigüedad: 22 años, 10 meses
Puntos: 1
Exclamación

Y si yo puedo tener esas variables definidas dentro de mi programa, entonces ¿cuál sería la justificación para usarlas fuera, es decir en un archivo .ini?

Recuerdo que en Windows 3.1 se utilizaba mucho esto, y quizás en las versiones más nuevas también se usen, aunque en menor grado, pero ¿será esa la razón de existir? ¿habrá un ejemplo donde se demuestre que es imprescindible su uso? ... supongo que lo hay.

Última edición por jcl; 21/03/2005 a las 10:59
  #8 (permalink)  
Antiguo 21/03/2005, 11:00
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Configuración persistente ... para las opciones que son modificables por el usuario, los archivos INI se usan en todas las versiones de Windows, la alternativa más moderna es el uso del registro del sistema. Pero el fin es el mismo, guardar la configuración.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #9 (permalink)  
Antiguo 21/03/2005, 11:29
jcl
 
Fecha de Ingreso: enero-2002
Mensajes: 673
Antigüedad: 22 años, 10 meses
Puntos: 1
Sí ... "el fin es el mismo", pero la seguridad es casi nula. Nenos mal que yo siempre he usado el registro del sistema, aun cuando también es bulnerable, pero ofrece mayor nivel de seguridad, pues no todos puede y/o saben cómo manejar esa facilidad ... más, si los valores de las claves se encriptan, como yo los uso actualmente, es mucho mejor.

Saludos, y creo que ya no hace falta averiguar más sobre este asunto.
  #10 (permalink)  
Antiguo 21/03/2005, 11:35
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
El registro del sistema tiene la misma seguridad que los archivos de texto plano. Con el regedit.exe se puede editar completamente si se tienen los permisos (lo mismo aplica a archivos). Todo lo que se encripta se puede desencriptar y de cualquier manera podrías aplicar el mismo método a un archivo INI.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #11 (permalink)  
Antiguo 21/03/2005, 11:48
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 21 años, 6 meses
Puntos: 2
Y si vamos al caso, prefiero que una aplicación use archivos .ini y no el registro, ya que son iguales de inseguros y, este ultimo, es más difícil de reparar.

Si se te "jode" un .ini solo tienes que reemplazarlo (aunque todo programa debería tener otro .ini de respaldo, además de configuraciones pre-establecidas por el programador) y no perderías mas que algunas configuraciones básicas.

Los archivos .ini son muy útiles cuando se trata de información que se utiliza constantemente (nadie lo ha dijo, pero es mas rápido acceder a un .ini que a un txt u otro formato de texto plano, y esta pequeña milésima de segundo menos, a la larga, se siente).

Me acuerdo que mi primera incursión con los archivos .ini fue gracias a mIRC Scripting =P
__________________
I Love Programming...
  #12 (permalink)  
Antiguo 21/03/2005, 11:54
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Cita:
Iniciado por FuLaNo_
Los archivos .ini son muy útiles cuando se trata de información que se utiliza constantemente (nadie lo ha dijo, pero es mas rápido acceder a un .ini que a un txt u otro formato de texto plano, y esta pequeña milésima de segundo menos, a la larga, se siente).
¿En que datos te basas para decir eso?
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #13 (permalink)  
Antiguo 21/03/2005, 14:12
jcl
 
Fecha de Ingreso: enero-2002
Mensajes: 673
Antigüedad: 22 años, 10 meses
Puntos: 1
Exclamación

Bueno, dado que ya di por terminada la discusión, solo tengo que agregar, que yo prefiero el registro Windows, pues en seguridad lo que más me vale es el nivel de dificultad que debe superar cualquier "curioso".

Es su problema si daña el registro de windows. Es decir, yo uso el registro de Windows para proteger mis aplicaciones. No creo que sea muy divertido tratar de adivinar "Dónde están", "Cuántas son" y "Cuales son" las claves que hay que buscar, en primer lugar, y si el curioso llega a ubicarlas, luego tendrá que desencriptarlas y después descifrarlas para encontrar su significado antes de poderlas usar.

Creo que sale más barato, comprar mi aplicación.

Última edición por jcl; 21/03/2005 a las 14:25
  #14 (permalink)  
Antiguo 21/03/2005, 15:22
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Dudo que tengas el poder de dar por terminado un tema, cualquiera puede hablar si tiene ganas.

¿Adivinar las claves? En 10' con un buen depurador se ven todas las llamadas a la API de Windows que tengan que ver con el registro del sistema y en otros 10' se ve como tu codigo las desencripta.

El nivel de dificultad es nulo, regedit.exe
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO

Última edición por Eternal Idol; 21/03/2005 a las 15:42
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:20.