Π‘ΡΠ²ΡΠ΅ΠΌ Π½Π°ΡΠΊΠΎΡΠΎ ΠΈΠ·Π»Π΅Π·Π΅ Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Kaitai Struct 0.9 β Π΅Π·ΠΈΠΊ Π·Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ Π·Π° ΠΏΠ°ΡΡΠΈΠ½Π³ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ/Π°ΡΠ΄ΠΈΠΎ/Π²ΠΈΠ΄Π΅ΠΎ, Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, Π°ΡΡ ΠΈΠ²ΠΈ, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈ Ρ.Π½.). ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π²Π΅ΡΡΠΈΡΡΠ° 0.9 ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»Π½Π° β ΡΠΎΠ²Π° Π΅ Π³ΠΎΠ»ΡΠΌΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅, Π²ΠΊΠ»ΡΡΠ²Π°ΡΠΎ ΠΏΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡΡΠ° ΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ 2.5 Π³ΠΎΠ΄ΠΈΠ½ΠΈ. ΠΡΠ΅Π· ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ Π΅Π·ΠΈΠΊΡΡ Π½Π°ΡΠ°ΡΠ½Π° Π΄ΠΎ ΡΡΠ»ΠΎΡΠΎ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈ:
- ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΎΡ ΡΠ°ΠΉΠ» ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΡΠΎΡΠΌΠ°ΡΠ° (.ksy) Π΄Π° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ Π³ΠΎΡΠΎΠ² ΠΈΠ·Ρ ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ΄ Π½Π° ΠΏΠ°ΡΡΠ΅ΡΠ° Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈ Π΅Π·ΠΈΡΠΈ (C++, C#, Construct, Go, Java, JavaScript, Lua, Nim, Perl, PHP, Python, Ruby), ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΈ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ GraphViz ΠΈ ΡΠΎΠ²Π΅ΠΊΠΎΡΠΈΡΠ°Π΅ΠΌΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΡΠΎΡΠΌΠ°ΡΠΈ Π² HTML;
- ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ΄ΠΎΠ±Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Ρ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π²ΠΈΠ·ΡΠ°Π»Π΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ»: Web IDE, ΠΊΠΎΠ½Π·ΠΎΠ»Π΅Π½ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΎΡ, ΠΏΠ»ΡΠ³ΠΈΠ½ Π·Π° Visual Studio Code, Hobbits, Veles, ΠΏΠ»ΡΠ³ΠΈΠ½ Π·Π° Hiew, ΠΏΠ»ΡΠ³ΠΈΠ½ Π·Π° Binary Ninja;
- ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π½Π° Kaitai Struct Π² ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π·Π° Maven, Π·Π° Gradle, Π·Π° Python, Π·Π° JavaScript/WebPack
- Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Ρ ΡΠΎΡΠΌΠ°ΡΠΈ, ΠΊΠΎΡΡΠΎ Π²Π΅ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ° 156 ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ (ΠΈ ΠΎΡΠ΅ 78 ΡΠΎΡΠΌΠ°ΡΠΈ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ Π² ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° pull request).
- Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Kaitai Compress
- ΠΌΠΎΠ΄ΡΠ» Π·Π° FUSE β Kaitai FS, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΡΠ΅ ΠΌΠΎΠ½ΡΠΈΡΠ° ΡΠ°ΠΉΠ» ΠΊΠ°ΡΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ksy-ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎΡΠΌΠ°ΡΠ° ΠΌΡ
ΠΠ·ΠΈΠΊ ΠΏΡΠΈΠ·Π½Π°Ρ ΠΎΡ GitHub ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 400 free/open source ΠΏΡΠΎΠ΅ΠΊΡΠ° Π·Π° ΠΏΠ°ΡΡΠΈΠ½Π³ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΅ΠΊΠ·ΠΎΡΠΈΡΠ½ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ, Π·Π°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ ΠΎΡ ΡΠ΅Π²Π΅ΡΡ ΠΈΠ½ΠΆΠΈΠ½ΠΈΡΠΈΠ½Π³ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΈΠ³ΡΠΈ, Π·Π°Π²ΡΡΡΠ²Π°ΠΉΠΊΠΈ Ρ ΡΠ°Π·Π±ΠΎΡ Π½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ Π½Π° ΡΠΏΡΡΠ½ΠΈΡΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Π½ΠΎΠ²ΠΎΠ²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ Π² Π΅Π·ΠΈΠΊΠ° 0.9 Π²ΠΊΠ»ΡΡΠ²Π°Ρ:
- ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π½ΠΎΠ²ΠΈ ΡΠ΅Π»Π΅Π²ΠΈ Π΅Π·ΠΈΡΠΈ (Python ΡΡΠ΅Π· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Construct, Nim, Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π² HTML)
- ΠΏΡΠ»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π΅Π½ C++ (ΡΠΌΠ½ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, Π»ΠΈΠΏΡΠ° Π½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΡΡΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΈ Π½Π° ΡΠ΅ΡΠΎΠ²Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°)
- ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π°Π΄ΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π²Π»ΠΎΠΆΠ΅Π½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΡΡΠ΅Π· ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΡ Π²ΠΈΠ΄Π° foo::bar::baz
- ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ΅Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΡΡΠ³Π»Π°ΡΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ (valid)
- ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠΈΡΠ΅ Π½Π° ΡΡΠ°ΡΠΈΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π² Π±Π°ΠΉΡΠΎΠ²Π΅ ΠΈ Π±ΠΈΡΠΎΠ²Π΅ (ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ sizeof ΠΈ bitsizeof)
- ΡΠΎΡΠΌΠ°Π»Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° Π΅Π·ΠΈΠΊΠ° ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° JSON-ΡΡ Π΅ΠΌΠ°, ΠΎΡ ΠΊΠΎΡΡΠΎ ΡΠ΅Π³Π° ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru

