Kaitai ဖွဲ့စည်းပုံ ၀.၉


Kaitai ဖွဲ့စည်းပုံ ၀.၉

မကြာသေးမီက၊ Kaitai Struct 0.9 ၏ နောက်ဗားရှင်းကို ထုတ်ပြန်ခဲ့သည် - အမျိုးမျိုးသော ဒွိဖော်မတ်များကို ခွဲခြမ်းစိတ်ဖြာရန်အတွက် ဖော်ပြချက်ဘာသာစကားနှင့် ကိရိယာများ (ဥပမာ၊ ကွန်ရက်ပက်ကတ်များ၊ ရုပ်ပုံ/အသံ/ဗီဒီယိုဖိုင်များ၊ ဒေတာဘေ့စ်များ၊ မှတ်တမ်းများ၊ ကွန်တိန်နာများ၊ စသည်ဖြင့်)။ လိုက်အောင်ကြည့်နိုင်သော ဗားရှင်းနံပါတ် 0.9 ရှိသော်လည်း၊ ၎င်းသည် လွန်ခဲ့သည့် 2.5 နှစ်အတွင်း တိုးတက်မှုများပါဝင်သည့် အဓိကထုတ်လွှတ်မှုတစ်ခုဖြစ်သည်။ ဤအချိန်အတောအတွင်း ဘာသာစကားသည် ပရောဂျက်မိသားစုတစ်ခုလုံးသို့ ကြီးထွားလာခဲ့သည်။

  • ပရိုဂရမ်းမင်းဘာသာစကားအမျိုးမျိုးဖြင့် အဆင်သင့်လုပ်ထားသော parser အရင်းအမြစ်ကုဒ်ကို ဖော်မတ်တစ်ခု (C++, C#, Construct, Go, Java, JavaScript, Lua, Nim, Perl, PHP, Python, Ruby) ကို ဖော်မတ်တစ်ခုမှ ရရှိနိုင်သော စုစည်းမှုတစ်ခု သတ်မှတ်ချက်ဖိုင် (.ksy) အပြင် GraphViz ဖော်မတ်ရှိ ပုံများ နှင့် HTML ရှိ လူသားဖတ်နိုင်သော ဖော်မတ် သတ်မှတ်ချက်များ၊
  • တစ်ပြိုင်နက် အမြင်အာရုံ ထိန်းချုပ်မှုဖြင့် သတ်မှတ်ချက်များ၏ အဆင်ပြေစွာ ဖွံ့ဖြိုးတိုးတက်မှုအတွက် ကိရိယာများ- ဝဘ် IDE, console visualizer, Visual Studio Code အတွက် ပလပ်အင်, ဝါသနာ, Veles, Hiew အတွက် ပလပ်အင်, Binary Ninja အတွက် ပလပ်အင်;
  • Kaitai Struct ကို စည်းဝေးပွဲ လုပ်ငန်းစဉ်တွင် ပေါင်းစပ်ရန်အတွက် မော်ဂျူးများ Maven အတွက်, Gradle အတွက်, Python အတွက်, JavaScript/WebPack အတွက်
  • format စာကြည့်တိုက်ဤထုတ်ဝေမှုတွင် ဖော်ပြချက် 156 ခုရှိပြီး (နှင့် နောက်ထပ်ပုံစံ 78 ခု ဆွဲထုတ်တောင်းဆိုမှုကို ပြန်လည်သုံးသပ်ခြင်း လုပ်ငန်းစဉ်တွင် ရှိနေပါသည်။)
  • plug-in compression algorithms ၏စာကြည့်တိုက် Kaitai Compress
  • FUSE - Kaitai FS အတွက် မော်ဂျူး၎င်းသည် ၎င်း၏ဖော်မတ်၏ ksy ဖော်ပြချက်အား အသုံးပြု၍ ဖိုင်တစ်ခုအား ဖိုင်စနစ်တစ်ခုအဖြစ် တပ်ဆင်ခွင့်ပြုသည်။

ဘာသာစကား GitHub မှအသိအမှတ်ပြုသည်။ ယခုအခါတွင် အခမဲ့/open source ပရောဂျက်ပေါင်း 400 ကျော်တွင် ထူးခြားဆန်းပြားသော ဒေတာဖော်မတ်များကို ခွဲခြမ်းစိတ်ဖြာရန်၊ reverse engineering မူပိုင်ဂိမ်းဒေတာဖိုင်များcumming ဂြိုလ်တုဆက်သွယ်ရေးပရိုတိုကောများကို ခွဲခြမ်းစိတ်ဖြာခြင်း။.

ဘာသာစကား 0.9 ၏ အဓိက တီထွင်ဆန်းသစ်မှုများထဲတွင် ၎င်းသည် မီးမောင်းထိုးပြထိုက်သည်-

  • ပစ်မှတ်ဘာသာစကားအသစ်များအတွက် ပံ့ပိုးမှု (တည်ဆောက်ပုံစာကြည့်တိုက်၊ Nim မှတဆင့် Python၊ HTML တွင် စာရွက်စာတမ်းများ၏မျိုးဆက်)
  • ခေတ်မီ C++ အတွက် အပြည့်အဝ ပံ့ပိုးမှု (စမတ်ညွှန်ပြချက်များ၊ မန်မိုရီကို ကိုယ်တိုင် စီမံခန့်ခွဲရန် မလိုအပ်ဘဲ၊ သိထားသည့် မှတ်ဉာဏ်ယိုစိမ့်မှု အားလုံးကို ပြုပြင်ပေးသည်)
  • foo::bar::baz ကဲ့သို့သော syntax မှတဆင့် nested အမျိုးအစားများကိုဖြေရှင်းရန်ပံ့ပိုးမှု
  • ဖော်ပြထားသော အခြေအနေများနှင့်အညီ ဖတ်ရှုထားသော ဒေတာကို အတည်ပြုရန် ပံ့ပိုးမှု (တရားဝင်)
  • bytes နှင့် bits (အော်ပရေတာများ၏ အရွယ်အစားနှင့် bitsize of static data structures အရွယ်အစားများကို တွက်ချက်ခြင်း)
  • ပုံစံဖြင့် ဘာသာစကားတစ်ခု၏ တရားဝင်ဖော်ပြချက် JSON အစီအစဉ်များယခုမှ စာရွက်စာတမ်းထုတ်ပေးသည်။

source: linux.org.ru