Ρυθμίσεις INI (.ini)

Εκ Τυπικό

Η μορφή Windows Initialization Configuration (INI) είναι η κλασική, αναγνώσιμη από τον άνθρωπο μορφή αρχείου ρυθμίσεων που έγινε δημοφιλής από τα Microsoft Windows. Οργανώνει τις ρυθμίσεις εφαρμογών σε ονομασμένες ενότητες με ζεύγη κλειδιού=τιμής.

Μετατροπή INI σε JSON

Δωρεάν μετατροπέας από INI σε JSON εντός του προγράμματος περιήγησης. Μετατρέψτε αρχεία άμεσα στη συσκευή σας.

Επιθεώρηση & Μεταδεδομένα

Τα λειτουργικά συστήματα και τα εργαλεία ανάλυσης αρχείων αναγνωρίζουν τα αρχεία INI ελέγχοντας την αρχική δυαδική ακολουθία byte:

Επιλέξτε ή αποθέστε αρχεία εδώ

Ιδιωτικά - τα αρχεία δεν φεύγουν ποτέ από τη συσκευή σας

ή επικόλληση Ctrl+V
Εγγύηση Απορρήτου Μηδενικής Μετάδοσης Δικτύου: Δεν μεταφορτώνεται κανένα byte σε εξωτερικούς διακομιστές. Όλη η επεξεργασία γίνεται τοπικά στο απομονωμένο περιβάλλον του προγράμματος περιήγησής σας.

Υπογραφή κεφαλίδας σε επίπεδο byte (Magic Bytes)

Τα λειτουργικά συστήματα και τα εργαλεία ανάλυσης αρχείων αναγνωρίζουν τα αρχεία INI ελέγχοντας την αρχική δυαδική ακολουθία byte:

ΔΕΚΑΕΞΑΔΙΚΗ ΥΠΟΓΡΑΦΗ (OFFSET 0):

5B ... 5D

ΑΝΑΠΑΡΑΣΤΑΣΗ ASCII: [...]

Τυποποίηση: Εκ των πραγμάτων καθιερωμένο βιομηχανικό πρότυπο διαμόρφωσης

Τεχνικές Προδιαγραφές

Αρχιτεκτονική ΠεριέκτηΑρχείο ρυθμίσεων απλού κειμένου, οργανωμένο σε κεφαλίδες [section] με ζεύγη key = value και σχόλια (; ή #)
ΣυμπίεσηΑσυμπίεστο αρχείο κειμένου
Σειρά byte (endianness)Ροή κειμένου UTF-8 ή ANSI
Χρωματικοί ΧώροιN/A (Configuration File)
Κανάλια & ΔομήΙδιότητες ρυθμίσεων κλειδιού-τιμής, οργανωμένες ανά ενότητα και χώρο ονομάτων
Μέγιστες ΔιαστάσειςΙστορικό όριο 64 KB στα Windows 16 bit· απεριόριστο στις σύγχρονες υλοποιήσεις
ΔιαφάνειαNone
Ροή δεδομένων και προοδευτική φόρτωσηΑκολουθιακός αναλυτής ροής, γραμμή προς γραμμή

Τεχνικός Πίνακας Σύγκρισης: INI έναντι Ανταγωνιστών

Τεχνικό χαρακτηριστικόINI (Τρέχον)JSONYAMLTOML
Συντακτική ΠολυπλοκότηταΗ απλούστερη δυνατή (ενότητα + κλειδί=τιμή)Αυστηρές αγκύλες & εισαγωγικάΛευκός χώρος ευαίσθητος σε εσοχέςΣύγχρονοι τυπωμένοι πίνακες
Υποστήριξη ΣχολίωνΕγγενή (σχόλια ; και #)Δεν υποστηρίζονται σχόλια στην προδιαγραφήΕγγενή (σχόλια #)Εγγενή (σχόλια #)
Ένθετες ΔομέςΜόνο ενότητες 1 επιπέδουΑπεριόριστα ένθετα αντικείμενα/πίνακεςΑπεριόριστα ένθετα δέντραΔομημένοι πίνακες πινάκων
Τυποποίηση ΔεδομένωνΈμμεσες συμβολοσειρές (η εφαρμογή αναλύει τύπους)Ρητοί αριθμοί, booleans, πίνακεςΡητοί τύποι & άγκυρεςΡητές ημερομηνίες, αριθμοί, πίνακες

Συνήθεις τρόποι καταστροφής δεδομένων και οδηγός ανάκτησης δεκαεξαδικών δεδομένων

Η εφαρμογή αγνοεί τις ρυθμίσεις ή αποτυγχάνει να ξεκινήσει.

Βασική Αιτία: Λείπει το αγκύλιο κεφαλίδας ενότητας (π.χ. '[Settings' αντί για '[Settings]') ή μη διαφεύγον σύμβολο ίσον στην τιμή.

Ανάκτηση: Επικύρωση και διόρθωση σύνταξης INI χρησιμοποιώντας το File2File.app Config Formatter.

Ανάλυση ασφάλειας και διανύσματα επίθεσης στον αναλυτή

Οι αναλυτές INI πρέπει να προστατεύονται από επιθέσεις ένεσης ενοτήτων και ρύπανση πρωτοτύπου (prototype pollution) κατά την αποσειριοποίηση σε αντικείμενα.

Γνωστά διανύσματα επίθεσης

  • Ένεση INI όπου η εισαγωγή νέας γραμμής στην είσοδο του χρήστη δημιουργεί μη εξουσιοδοτημένες ενότητες διαμόρφωσης.
  • Ρύπανση πρωτοτύπου σε αναλυτές JavaScript INI που αναθέτουν στο '__proto__'.
  • Άρνηση υπηρεσίας (DoS) μέσω βαθιά αναδρομικής επέκτασης ονόματος ενότητας.

Βέλτιστες αμυντικές πρακτικές: Καθαρίστε τις εισόδους χρηστών ώστε να μην περιέχουν χαρακτήρες αλλαγής γραμμής και προστατευτείτε από τη μόλυνση πρωτοτύπων (prototype pollution).

Ιστορική Αναδρομή & Ορόσημα

2000Η τυπική βιβλιοθήκη της Python περιλαμβάνει το configparser για αρχεία INI.
1995Τα Windows 95 εισάγουν το Μητρώο των Windows (Windows Registry) για να αντικαταστήσουν τα μονολιθικά αρχεία INI συστήματος (SYSTEM.INI, WIN.INI).
1985Τα Microsoft Windows 1.0 εισάγουν το WIN.INI ως τη βασική βάση δεδομένων διαμόρφωσης του λειτουργικού συστήματος.

Κύρια Πλεονεκτήματα

  • Εξαιρετικά καθαρή, διαισθητική σύνταξη: οι μη τεχνικοί χρήστες μπορούν εύκολα να διαβάσουν και να τροποποιήσουν τις ρυθμίσεις.
  • Εγγενή APIs ανάλυσης σε σχεδόν κάθε γλώσσα προγραμματισμού (Python configparser, PHP parse_ini_file, C#).
  • Τα ονόματα τομέων (namespaces) εμποδίζουν τις συγκρούσεις ρυθμίσεων σε διαφορετικές λειτουργίες εφαρμογών.

Τεχνικοί Περιορισμοί & Μειονεκτήματα

  • Δεν υπάρχει επίσημο διεθνές πρότυπο: οι χαρακτήρες σχολίων (; ή #) και οι κανόνες διαφυγής διαφέρουν μεταξύ αναλυτών.
  • Επίπεδη ιεραρχία: δεν υποστηρίζει βαθιά ένθετους πίνακες ή σύνθετα δομημένα αντικείμενα χωρίς προσαρμοσμένους οριοθέτες.
  • Όλες οι τιμές διαβάζονται ως συμβολοσειρές, απαιτώντας από τις εφαρμογές να αναλύουν χειροκίνητα ακέραιους, τιμές boolean και κινητής υποδιαστολής.

Ενδιαφέροντα Τεχνικά Στοιχεία

  • Στα Windows 3.1, κάθε μεμονωμένη ρύθμιση σε ολόκληρο το λειτουργικό σύστημα αποθηκευόταν σε μόλις δύο αρχεία: WIN.INI και SYSTEM.INI.
  • Το Git χρησιμοποιεί τη μορφή INI για το κύριο αρχείο διαμόρφωσης αποθετηρίου που βρίσκεται στο '.git/config'.
  • Τα αρχεία συντομεύσεων επιφάνειας εργασίας σε Linux (αρχεία XDG Desktop Entry '.desktop') είναι δομημένα χρησιμοποιώντας τυπική σύνταξη INI.

Συχνές Τεχνικές Ερωτήσεις

Σε τι χρησιμεύει ένα αρχείο INI;

Τα αρχεία INI χρησιμοποιούνται από λογισμικό επιφάνειας εργασίας, παιχνίδια και εργαλεία προγραμματιστών (όπως το Git config και το PHP.ini) για την αποθήκευση προτιμήσεων χρήστη και ρυθμίσεων παραμέτρων σε εύκολα αναγνώσιμη μορφή.

Πώς μπορώ να επεξεργαστώ ένα αρχείο INI;

Μπορείτε να ανοίξετε και να επεξεργαστείτε αρχεία INI με οποιοδήποτε βασικό πρόγραμμα επεξεργασίας κειμένου, όπως το Notepad, το TextEdit, το VS Code, ή απευθείας online χρησιμοποιώντας το File2File.app.

Μπορώ να μετατρέψω INI σε JSON ή YAML;

Ναι. Το File2File.app μπορεί να μετατρέψει αρχεία INI σε καθαρές μορφές JSON, YAML ή TOML στιγμιαία μέσα στον περιηγητή σας.