INI Ayarları (.ini)

De Standart

Windows Başlatma Yapılandırması (INI), Microsoft Windows tarafından popülerleştirilen, uygulama ayarlarını anahtar=değer çiftleri içeren adlandırılmış [bölümlerde] organize eden, klasik ve insan tarafından okunabilir bir yapılandırma dosyası formatıdır.

INI formatını JSON formatına dönüştür

Ücretsiz tarayıcı içi INI - JSON dönüştürücü. Dosyalarınızı cihazınızda anında dönüştürün.

İncele & Meta Veriler

İşletim sistemleri ve dosya çözümleyicileri, INI dosyalarını başlangıçtaki ikili bayt dizisini inceleyerek tanımlar:

Dosyaları buraya seçin veya bırakın

Kesinlikle %100 tarayıcı içi gizli dönüşüm - dosyalar asla cihazınızdan ayrılmaz

veya yapıştırın Ctrl+V
Sıfır Ağ Aktarımı Gizlilik Garantisi: Harici sunuculara 0 bayt yüklendi. Tüm işlemler tarayıcınızın korumalı alanında (sandbox) yerel olarak gerçekleştirildi.

Bayt Düzeyinde Başlık İmzası (Magic Bytes)

İşletim sistemleri ve dosya çözümleyicileri, INI dosyalarını başlangıçtaki ikili bayt dizisini inceleyerek tanımlar:

HEX İMZASI (OFSET 0):

5B ... 5D

ASCII GÖSTERİMİ: [...]

Standardizasyon: De facto industry configuration standard

Teknik Özellikler

Konteyner MimarisiPlaintext configuration file structured into [section] headers containing key = value pairs and comments (; or #)
SıkıştırmaUncompressed text file
Bayt Düzeni (Endianness)UTF-8 or ANSI text stream
Renk UzaylarıN/A (Configuration File)
Kanallar ve YapıKey-value configuration properties categorized by section namespaces
Maksimum BoyutlarHistorical 64 KB limit in 16-bit Windows; unlimited in modern implementations
ŞeffaflıkNone
Akış ve Aşamalı (Streaming & Progressive)Sequential line-by-line streaming parser

Teknik Karşılaştırma Matrisi: INI ve Rakipleri

Teknik NitelikINI (Güncel)JSONYAMLTOML
Sözdizimi KarmaşıklığıMümkün olan en basit (bölüm + anahtar=değer)Katı köşeli parantezler ve tırnaklarGirintiye duyarlı boşluklarModern tiplendirilmiş tablolar
Yorum DesteğiYerel (; ve # yorumları)Spesifikasyonda yorum desteği yokYerel (# yorumları)Yerel (# yorumları)
İç İçe YapılarYalnızca 1 seviyeli bölümlerSonsuz iç içe nesneler/dizilerSonsuz iç içe ağaçlarYapılandırılmış tablo dizileri
Veri TiplendirmeÖrtük dizeler (uygulama tipleri ayrıştırır)Açık sayılar, boole'lar, dizilerAçık tipler ve çapalar (anchors)Açık tarihler, sayılar, diziler

Yaygın Bozulma Modları ve Hex Kurtarma Kılavuzu

Uygulama ayarları yok sayıyor veya başlatılamıyor.

Kök Neden: Eksik bölüm başlığı köşeli parantezi (örn. '[Settings]' yerine '[Settings') veya değer içinde kaçış karakteri kullanılmamış eşittir işareti.

Kurtarma: File2File Config Formatter kullanarak INI sözdizimini doğrulayın ve düzeltin.

Güvenlik Analizi ve Ayrıştırıcı Saldırı Vektörleri

INI ayrıştırıcıları, nesnelere seri durumdan çıkarma (deserialization) sırasında bölüm enjeksiyon saldırılarına ve prototip kirlenmesine (prototype pollution) karşı koruma sağlamalıdır.

Bilinen Saldırı Vektörleri

  • Kullanıcı girdisi içindeki yeni satır eklemenin yetkisiz yapılandırma bölümleri oluşturduğu INI enjeksiyonu.
  • '__proto__' değerine atama yapan JavaScript INI ayrıştırıcılarında prototip kirlenmesi.
  • Derinlemesine yinelemeli (recursive) bölüm adı genişletme yoluyla hizmet reddi (DoS).

Savunmacı En İyi Uygulamalar:

Tarihsel Kökenler ve Kilometre Taşları

2000Python standart kütüphanesi ConfigParser modülünü entegre ederek INI'yi evrensel bir yazılım yapılandırma formatı olarak sağlamlaştırır.
1995Windows 95, monolitik sistem INI dosyalarının (SYSTEM.INI, WIN.INI) yerini almak üzere Windows Kayıt Defteri'ni (Registry) tanıtır.
1985Microsoft Windows 1.0, temel işletim sistemi yapılandırma veritabanı olarak WIN.INI'yi tanıtır.

Temel Avantajlar ve Artılar

  • Son derece temiz, sezgisel sözdizimi: Teknik olmayan kullanıcılar ayarları kolayca okuyabilir ve değiştirebilir.
  • Neredeyse tüm programlama dillerinde yerel ayrıştırma API'leri (Python configparser, PHP parse_ini_file, C#).
  • Bölüm ad alanları (namespaces), farklı uygulama özellikleri arasında ayar çakışmalarını önler.

Teknik Kısıtlamalar ve Eksiler

  • Resmi bir uluslararası standardı yoktur: Yorum karakterleri (; ve #) ve kaçış kuralları ayrıştırıcılar arasında değişiklik gösterir.
  • Düz hiyerarşi: Özel sınırlayıcılar olmadan derinlemesine iç içe geçmiş dizileri veya karmaşık yapılandırılmış nesneleri desteklemez.
  • Tüm değerler dize (string) olarak okunur; bu da uygulamaların tamsayıları, boole değerlerini (true/false) ve kayan noktalı sayıları (float) manuel olarak ayrıştırmasını gerektirir.

İlginç Teknik Bilgiler

  • Windows 3.1'de işletim sisteminin içindeki her bir ayar yalnızca iki dosyada depolanıyordu: WIN.INI ve SYSTEM.INI.
  • Git, '.git/config' konumunda bulunan birincil depo yapılandırma dosyası için INI formatını kullanır.
  • Linux'taki masaüstü kısayol dosyaları (XDG Desktop Entry '.desktop' dosyaları) standart INI sözdizimi kullanılarak yapılandırılır.

Sıkça Sorulan Teknik Sorular

INI dosyası ne için kullanılır?

INI dosyaları; masaüstü yazılımlar, oyunlar ve geliştirici araçları (Git yapılandırması ve PHP.ini gibi) tarafından kullanıcı tercihlerini ve yapılandırma ayarlarını kolayca okunabilir bir formatta saklamak için kullanılır.

Bir INI dosyasını nasıl düzenleyebilirim?

Notepad, TextEdit, VS Code gibi herhangi bir temel metin düzenleyiciyle veya doğrudan File2File.app kullanarak çevrim içi olarak INI dosyalarını açıp düzenleyebilirsiniz.

INI dosyasını JSON veya YAML formatına dönüştürebilir miyim?

Evet. File2File.app, INI dosyalarını tarayıcınızda anında temiz JSON, YAML veya TOML formatlarına dönüştürebilir.