ቤት / ቅንብሮች / txt ፋይል ምን ፊርማ አለው? የፋይሉን አይነት በፊርማ መወሰን. መጠን ጉዳዮች

txt ፋይል ምን ፊርማ አለው? የፋይሉን አይነት በፊርማ መወሰን. መጠን ጉዳዮች

በቴሌግራም ራስጌ ውስጥ ያለው የተግባር ኮድ (ኤፍ.ሲ.ሲ) የቴሌግራም አይነትን ይለያል፣ እንደ ጥያቄ ቴሌግራም (ጥያቄ ወይም መላክ/ጥያቄ) እና እውቅና ወይም ምላሽ ቴሌግራም (የምስጋና ፍሬም ፣ የምላሽ ፍሬም)። በተጨማሪም የተግባር ኮድ የመልእክቶችን መጥፋት እና ማባዛትን የሚከላከል ትክክለኛው የማስተላለፊያ ተግባር እና የቁጥጥር መረጃ ወይም የጣቢያው አይነት ከኤፍዲኤል ሁኔታ ጋር ይዟል።

7 6 5 4 3 2 1 0 FC: የተግባር ኮድ ጥያቄ
1 ቴሌግራም ይጠይቁ
X FCV = ተለዋጭ ቢት በርቷል።
X href=”http://profibus.felser.ch/en/funktionscode.htm#aufruffolgebit”>FCB = ተለዋጭ ቢት (ከፍሬም ብዛት)
1 0 (0x0) CV = የሰዓት ዋጋ()
1 ሌላ የተያዘ
0 0 (0x0) TE = የሰዓት ክስተት (የሰዓት ማመሳሰል)
0 3 (0x3) SDA_LOW = ውሂብ ላክ እውቅና - ዝቅተኛ ቅድሚያ
0 4 (0x4) SDN_LOW = ውሂብ ላክ አልታወቀም - ዝቅተኛ ቅድሚያ
0 5 (0x5) SDA_HIGH = ውሂብ ላክ እውቅና - ከፍተኛ ቅድሚያ
0 6 (0x6) SDN_HIGH = ውሂብ ላክ አልታወቀም።
0 7 (0x7) MSRD = የጥያቄ ውሂብ ከብዙካስት ምላሽ ጋር ላክ
0 9 (0x9) የኤፍዲኤል ሁኔታን ጠይቅ
0 12(0xC) SRD ዝቅተኛ = ላክ እና ውሂብ ይጠይቁ
0 13 (0xD) SRD ከፍተኛ = ላክ እና ውሂብ ይጠይቁ
0 14(0xE) ከመልስ ጋር መታወቂያ ይጠይቁ
0 15 (0xF) የ LSAP ሁኔታን ከምላሽ ጋር ጠይቅ 1)
0 ሌላ የተያዘ

1) ይህ ዋጋ በመጨረሻው ስሪት ውስጥ ነው። መስፈርቱአልተገለጸም ግን ከአሁን በኋላ ብቻ የተያዘ

7 6 5 4 3 2 1 0 FC: የተግባር ኮድ ምላሽ
0 ምላሽ ቴሌግራም
0 የተያዘ
0 0 ባሪያ
0 1 መምህር ዝግጁ አይደለም
1 0 ማስተር ዝግጁ፣ ያለ ማስመሰያ
1 1 ማስተር ዝግጁ፣ በቶከን ቀለበት
0 (0x0) እሺ
1 (0x1) UE = የተጠቃሚ ስህተት
2 (0x2) RR = ምንም ሀብቶች የሉም
3 (0x3) RS = SAP አልነቃም።
8 (0x8) DL = የውሂብ ዝቅተኛ (የተለመደ መያዣ ከዲፒ ጋር)
9 (0x9) NR = ምንም የምላሽ ውሂብ ዝግጁ አይደለም።
10(0xA) DH = የውሂብ ከፍተኛ (የዲፒ ምርመራ በመጠባበቅ ላይ)
12(0xC) RDL = ውሂብ አልደረሰም እና ውሂብ ዝቅተኛ
13 (0xD) RDH = ውሂብ አልደረሰም እና የውሂብ ከፍተኛ
ሌላ የተያዘ

የፍሬም ቆጠራ ቢት የፍሬም ቆጠራ ቢት FCB (b5) የመልዕክት ማባዛትን በመቀበል ወይም ምላሽ ሰጪ ጣቢያ (ምላሽ) እና በመጥሪያ ጣቢያው (አስጀማሪ) የሚደርስ ማንኛውንም ኪሳራ ይከላከላል። ከዚህ የተገለሉ ጥያቄዎች ያለ እውቅና (SDN) እና የኤፍዲኤል ሁኔታ፣ መታወቂያ እና LSAP ሁኔታ ጥያቄዎች ናቸው።

ለደህንነቱ ቅደም ተከተል፣ አስጀማሪው ለእያንዳንዱ ምላሽ ሰጪ FCB መያዝ አለበት። የጥያቄ ቴሌግራም (ጥያቄ ወይም መላክ/ጥያቄ) ለመጀመሪያ ጊዜ ምላሽ ሰጭ ሲላክ ወይም በአሁኑ ጊዜ የማይሰራ ተብሎ ምልክት ለተደረገለት ምላሽ ሰጪ እንደገና ከተላከ FCB በምላሹ ውስጥ እንደተገለጸው መዋቀር አለበት። አስጀማሪው ይህንን በጥያቄ ቴሌግራም FCV=0 እና FCB=1 አሳክቷል። ምላሽ ሰጪው የዚህ አይነት ቴሌግራም እንደ መጀመሪያው የመልእክት ዑደት መገምገም እና FCB=1 ን ከአስጀማሪው አድራሻ (ኤስኤ) ጋር ማከማቸት አለበት (የሚከተለውን ሰንጠረዥ ይመልከቱ)። ይህ የመልእክት ዑደት በአስጀማሪው አይደገምም። በቀጣይ የቴሌግራም ጥያቄ ለተመሳሳይ ምላሽ ሰጪ፣ አስጀማሪው FCV=1 ማቀናበር እና በእያንዳንዱ አዲስ የጥያቄ ቴሌግራም FCB መቀየር አለበት። ማንኛውም ምላሽ ሰጪ በFCV=1 የተላከለትን የጥያቄ ቴሌግራም የተቀበለ FCV ን መገምገም አለበት። FCB ከተመሳሳዩ አስጀማሪ (ተመሳሳይ ኤስኤ) ካለፈው የጥያቄ ቴሌግራም ጋር ሲወዳደር ከተቀየረ፣ ይህ ያለፈው የመልእክት ዑደት በትክክል መጠናቀቁን ትክክለኛ ማረጋገጫ ነው። የጥያቄው ቴሌግራም ከተለየ አስጀማሪ (ከተለያዩ ኤስኤ) የመጣ ከሆነ የFCB ግምገማ አስፈላጊ አይሆንም። በሁለቱም ሁኔታዎች፣ ምላሽ ሰጪው አዲስ የቴሌግራም መልእክት እስኪደርሰው ድረስ FCB ን ከምንጩ SA ጋር ማስቀመጥ አለበት። የጠፋ ወይም የተዳከመ እውቅና ወይም ምላሽ ቴሌግራም ከሆነ FCB በጥያቄው ውስጥ በጀማሪው መለወጥ የለበትም ድጋሚ ይሞክሩ ይህ የቀደመው የመልእክት ዑደት የተሳሳተ መሆኑን ያሳያል። ምላሽ ሰጪው የ Request ቴሌግራም ከ FCV=1 ጋር እና ተመሳሳይ FCB ከተመሳሳዩ አስጀማሪ (ተመሳሳይ ኤስኤ) ጋር ተመሳሳይ የጥያቄ ቴሌግራም ከተቀበለ ይህ እንደገና ለመሞከር ጥያቄን ያሳያል። ምላሽ ሰጪው በምላሹ ዝግጁ ሆኖ የተያዘውን የምስጋና ወይም የምላሽ ቴሌግራም እንደገና ማስተላለፍ አለበት። ከላይ የተጠቀሰው የቴሌግራም ማረጋገጫ ወይም ደረሰኝ የተለየ አድራሻ (ኤስኤ ወይም ዲኤ) ተቀባይነት የሌለው (ያለ እውቅና፣ SDN) ምላሽ ሰጭው የመጨረሻውን የእውቅና ማረጋገጫ ወይም ምላሽ ቴሌግራም ለማንኛውም ጥያቄ እንደገና መሞከር አለበት ። . እውቅና የሌላቸው እና የFDL ሁኔታ፣ መታወቂያ እና LSAP ሁኔታን በመጠየቅ የቴሌግራም ጥያቄን በተመለከተ FCV=0 እና FCB=0፤ ምላሽ ሰጪው መገምገም አያስፈልግም።

b5 ለ4 የቢት አቀማመጥ
ኤፍ.ሲ.ቢ FCV ሁኔታ ትርጉም ድርጊት
0 0 ዳ = TS/127 ያለ እውቅና ጥያቄ
የFDL ሁኔታ/ማንነት/ኤልኤስኤፒ ሁኔታን ጠይቅ
የመጨረሻውን እውቅና ሰርዝ
0/1 0/1 DA#TS ለሌላ ምላሽ ሰጪ ይጠይቁ
1 0 ዳ = ቲ.ኤስ የመጀመሪያ ጥያቄ FCBM፡= 1
ሳም፡=ሳ
የመጨረሻውን እውቅና / ምላሽ ሰርዝ
0/1 1 ዳ = ቲ.ኤስ
ኤስኤ = ሳም
FCB#FCBM
አዲስ ጥያቄ የመጨረሻውን እውቅና / ምላሽ ሰርዝ
FCBM፡=FCB
ለእንደገና ለመሞከር ዝግጁ ሆነው እውቅና/ምላሽ ይያዙ
0/1 1 ዳ = ቲ.ኤስ
ኤስኤ = ሳም
FCB = FCBM
ጥያቄን እንደገና ይሞክሩ FCBM፡=FCB
እውቅና/ምላሹን ይድገሙት እና ዝግጁነትዎን ይቀጥሉ
0/1 1 ዳ = ቲ.ኤስ
ሳ # ሳም
አዲስ አስጀማሪ FCBM፡=FCB
SAM:= SA ለድጋሚ ለመሞከር ዝግጁ በመሆን እውቅና/ምላሽ ይያዙ

FCBM FCB በማህደረ ትውስታ ሳም የተከማቸ SA በማህደረ ትውስታ ውስጥ ተከማችቷል።

የታወቁ አይነቶች ፋይሎችን ሲቃኙ ይፈልጉ (ወይም ብዙ ጊዜ እንደሚነገረው ፋይሎችን በፊርማ ይፈልጉ) በ R-Studio ውሂብ መልሶ ማግኛ መገልገያ ውስጥ በጣም ውጤታማ ከሆኑ አንዱ ነው። የተሰጠውን ፊርማ በመጠቀም በማውጫው መዋቅር እና በፋይል ስሞች ላይ ያለው መረጃ በከፊል ወይም ሙሉ በሙሉ ቢጠፋ (የተበላሸ) ከሆነ የተወሰነ አይነት ፋይሎችን ወደነበሩበት እንዲመልሱ ይፈቅድልዎታል.

በተለምዶ የዲስክ ክፋይ ሰንጠረዥ የፋይሎችን ቦታ ለመወሰን ጥቅም ላይ ይውላል. ዲስክን ከመጽሃፍ ጋር ካነጻጸሩት የክፋዩ ሰንጠረዥ ከይዘቱ ሰንጠረዥ ጋር ተመሳሳይ ይሆናል። በሚቃኙበት ጊዜ, R-Studio የተወሰኑ የተገለጹ ፊርማዎችን በመጠቀም በዲስክ ክፍልፋይ ሰንጠረዥ ውስጥ የታወቁ የፋይል ዓይነቶችን ይፈልጋል. ይህ ሊሆን የቻለው እያንዳንዱ የፋይል አይነት ልዩ የሆነ ፊርማ ወይም የውሂብ ንድፍ ስላለው ነው። የፋይል ፊርማዎች በፋይሉ መጀመሪያ ላይ እና በብዙ አጋጣሚዎች እንዲሁም በፋይሉ መጨረሻ ላይ በተወሰነ ቦታ ላይ ይገኛሉ. ሲቃኙ R-Studio የተገኘውን መረጃ ከታወቁ የፋይል ዓይነቶች ፊርማዎች ጋር ያዛምዳል፣ ይህም እንዲታወቁ እና ውሂባቸው እንዲመለስ ያስችላል።

የታወቁ የፋይል አይነቶችን ለመቃኘት ቴክኖሎጂን በመጠቀም R-Studio ከዲስኮች የተስተካከሉ እና የክፍፍል ሠንጠረዦቻቸው ተጽፈው ከተቀመጡ ዲስኮች ላይ መረጃን መልሰው እንዲያገኙ ያስችልዎታል። ከዚህም በላይ የዲስክ ክፋይ ከተፃፈ ፣ ከተበላሸ ወይም ከተሰረዘ የታወቁ የፋይል ዓይነቶችን መፈተሽ ብቸኛው አማራጭ ነው።

ነገር ግን ሁሉም ነገር ማለት ይቻላል የራሱ ድክመቶች አሉት, እና በ R-Studio ውስጥ ጥቅም ላይ የሚውሉ የታወቁ የፋይል ዓይነቶች ምንም ልዩነት የላቸውም. ስለዚህ, የታወቁ የፋይል ዓይነቶችን ሲቃኙ, R-Studio ያልተቆራረጡ ፋይሎችን ብቻ እንዲመልሱ ይፈቅድልዎታል, ነገር ግን, ቀደም ሲል እንደተጠቀሰው, በአብዛኛዎቹ ሁኔታዎች ይህ በጣም የቅርብ ጊዜ ዘዴ ነው.

R-Studio አስቀድሞ በጣም የተለመዱ የፋይል ዓይነቶች ፊርማዎችን ያካትታል (እይታ ሙሉ ዝርዝርየታወቁ ዓይነቶች ፋይሎች በ R-Studio የመስመር ላይ እገዛ ክፍል ውስጥ ይገኛሉ።)

አስፈላጊ ከሆነ ተጠቃሚው አዲስ የፋይል አይነቶችን ወደ R-Studio ማከል ይችላል። ለምሳሌ ፣ ልዩ ዓይነት ፋይሎችን ማግኘት ከፈለጉ ፣ ወይም የመጨረሻው የ R-ስቱዲዮ ከተለቀቀበት ቀን በኋላ የተገነቡትን ፣ በሚታወቁ ዓይነቶች ፋይሎች ላይ የራስዎን ፊርማ ማከል ይችላሉ። ይህ ሂደት ቀጥሎ ይብራራል.

የታወቁ ዓይነቶች ብጁ ፋይሎች
ለታወቁ የፋይል አይነቶች ብጁ ፊርማዎች በቅንብሮች መገናኛ ሳጥን ውስጥ በተጠቀሰው የኤክስኤምኤል ፋይል ውስጥ ተቀምጠዋል። ፊርማ ማከል ሁለት ክፍሎችን ያቀፈ ነው-

  1. በፋይሉ መጀመሪያ ላይ እና ካለ ፣ በፋይሉ መጨረሻ ላይ የሚገኘውን የፋይል ፊርማ መወሰን።
  2. የፋይል ፊርማ እና ሌላ የፋይል አይነት መረጃ የያዘ የኤክስኤምኤል ፋይል ይፍጠሩ።

ይህ ሁሉ R-Studio በመጠቀም ሊከናወን ይችላል. በተመሳሳይ ጊዜ በኤክስኤምኤል ሰነዶች ወይም በሄክሳዴሲማል አርትዖት መስክ ውስጥ ባለሙያ መሆን አያስፈልግዎትም - በዚህ መመሪያ (አንቀጽ) ውስጥ በተጠቃሚው ላይ ያነጣጠረ። የመግቢያ ደረጃ, ሁሉም የዚህ ሂደት ደረጃዎች በዝርዝር ይብራራሉ.

ምሳሌ፡ ለMP4 ፋይል (XDCam-EX Codec) ፊርማ ማከል
የተፈጠረ .MP4 ፋይልን በመጠቀም የፋይል ፊርማ ማከልን እንመልከት ሶኒ በመጠቀም XDCAM-EX. ሊጠቀሙበት ይችላሉ, ለምሳሌ በኤስዲ ካርዱ ላይ እስካሁን በኮምፒዩተርዎ ሃርድ ድራይቭ ላይ ለማስቀመጥ ላልቻሉ ፋይሎች ላይ ጉዳት ከደረሰ.

የመጀመሪያ ደረጃ፡ የፋይል ፊርማ መወሰን
የፋይሉን ፊርማ ለመወሰን, ተመሳሳይ ቅርጸት ያላቸውን ፋይሎች ምሳሌዎችን ተመልከት.

እነዚህ ከ Sony XDCAM-EX አራት የቪዲዮ ፋይሎች ይሁኑ።
ZRV-3364_01.MP4
ZRV-3365_01.MP4
ZRV-3366_01.MP4
ZRV-3367_01.MP4

በቀላሉ ለግምት, እነዚህ ትናንሽ ፋይሎች ይሁኑ. ትላልቅ ፋይሎችን በሄክሳዴሲማል ቅርጸት ለማየት የበለጠ አስቸጋሪ ናቸው።

1. ፋይሎችን በ R-Studio ውስጥ ይክፈቱ. ይህንን ለማድረግ በእያንዳንዱ ፋይል ላይ በቀኝ ጠቅ ያድርጉ እና ከአውድ ምናሌው ውስጥ ይመልከቱ / አርትዕን ይምረጡ።

2. ፋይሎቹን እናወዳድር. በአራቱም ፋይሎች ውስጥ የሚገኘውን ተመሳሳይ ንድፍ እንፈልጋለን። እሱ ይታያል የፋይል ፊርማ. በተለምዶ የፋይል ፊርማዎች በፋይሉ መጀመሪያ ላይ ይገኛሉ ፣ ግን አንዳንድ ጊዜ መጨረሻ ላይ።

3. በፋይሉ መጀመሪያ ላይ የፋይል ፊርማውን ይግለጹ. በእኛ ምሳሌ, በፋይሉ መጀመሪያ ላይ ይገኛል. ይህ ሁልጊዜ የሚከሰት እንዳልሆነ ልብ ይበሉ - ብዙውን ጊዜ የፋይል ፊርማ በፋይሉ መጀመሪያ ላይ ነው, ነገር ግን በመጀመሪያው መስመር (ማካካሻ) ላይ አይደለም.

ከታች ካሉት ምስሎች የአራቱም ፋይሎች ይዘቶች የተለያዩ ቢሆኑም ሁሉም የሚጀምሩት በተመሳሳይ የፋይል ፊርማ ነው።


ምስሉን ለማስፋት ይንኩ።


ምስሉን ለማስፋት ይንኩ።


ምስሉን ለማስፋት ይንኩ።


ምስሉን ለማስፋት ይንኩ።

በምስሎቹ ውስጥ የደመቀው ቦታ የዚህ ፋይል አይነት የፋይል ፊርማ ነው። በሁለቱም የፅሁፍ እና የአስራስድስትዮሽ ቅርፀቶች ቀርቧል።

በጽሑፍ መልክ፣ የፋይሉ ፊርማ ይህን ይመስላል።
....ftypmp42....mp42........ነጻ

ነጥቦች (“.”) በጽሑፍ መልክ ሊወከሉ የማይችሉ ቁምፊዎችን ያመለክታሉ። ስለዚህ የፋይል ፊርማውን ሄክሳዴሲማል መልክ ማቅረብም አስፈላጊ ነው፡-
00 00 00 18 66 74 79 6D 70 34 32 00 00 00 6D 70 34 32 00 00 00 00 00 00 00 08 66 72 65 65

4. በተመሳሳይ መልኩ የፋይሉን ፊርማ እንገልጻለን, ነገር ግን በፋይሉ መጨረሻ ላይ. የተለየ የፋይል ፊርማ, የተለየ ርዝመት ሊሆን ይችላል.

ከታች ያሉት ምስሎች በፋይሉ መጨረሻ ላይ ያለውን የፋይል ፊርማ ያደምቃሉ፡


ምስሉን ለማስፋት ይንኩ።


ምስሉን ለማስፋት ይንኩ።


ምስሉን ለማስፋት ይንኩ።


ምስሉን ለማስፋት ይንኩ።

እባክዎን ከተመረጠው ቦታ (ፋይል ፊርማ) በፊት ያለው መረጃ በአራቱም ፋይሎች ውስጥ አንድ አይነት መሆኑን ልብ ይበሉ። ይህ የፋይል ፊርማ ያልሆነ ቴክኒካል መረጃ ነው፣ነገር ግን አራቱም ሥዕሎች (ፋይሎች) የተወሰዱት ተመሳሳይ ካሜራ በመጠቀም ተመሳሳይ መመዘኛዎችን ነው። ብዙውን ጊዜ ተዛማጅ ንድፎችን ከቴክኒካዊ መረጃ ጋር ከፋይል ፊርማ መለየት ይቻላል. በእኛ ምሳሌ, የፋይል ፊርማ ከመጀመሩ በፊት ባለው የመጨረሻው መስመር ላይ, "RecordingMode type="normal"' የሚለውን ጽሑፍ እናያለን, ይህም አንድ ዓይነት የፋይል መለኪያ እንጂ ፊርማ አለመሆኑን በግልጽ ያሳያል. በስህተት ላለማካተት ሁልጊዜ ለዚህ መስመር ልዩ ትኩረት ይስጡ ቴክኒካዊ መረጃየፋይሉ ፊርማ አካል.

በእኛ ሁኔታ፣ የፋይሉ ፊርማ የሚከተለው ጽሑፍ ነው።
...
ነጥቦች በፅሁፍ መልክ ሊወከሉ የማይችሉ ቁምፊዎችን እንደሚጠቁሙ እናስታውስዎ።

በሄክሳዴሲማል የፋይሉ ፊርማ ይህን ይመስላል።
3N 2F 4E 6F 6E 52 65 61 6N 54 69 6A 65 4A 65 74 61 3E 0D 0A 00
እባክዎን ያስተውሉ፡ ፊርማው ሁልጊዜ በፋይሉ መጨረሻ ላይ አይሆንም።

ሁለተኛ ደረጃ፡ የሚታወቅ የፋይል አይነትን የሚገልጽ የኤክስኤምኤል ፋይል መፍጠር
አሁን የፋይል ፊርማውን ከገለጹ በኋላ የኤክስኤምኤል ፋይል መፍጠር እና በ R-Studio ውስጥ ያለውን ተዛማጅ የፋይል አይነት ማካተት ይችላሉ። ይህ በሁለት መንገዶች ሊከናወን ይችላል-

2.1 አብሮ የተሰራውን መጠቀም ግራፊክ አርታዒየፋይል ፊርማዎች:
ከመሳሪያዎች ምናሌ ውስጥ የቅንጅቶችን ንጥል ይምረጡ ፣ በሚከፈተው የቅንጅቶች ሳጥን ውስጥ ፣ የታወቁ የፋይል አይነቶች ትርን ጠቅ ያድርጉ እና የተጠቃሚን የፋይል አይነቶችን አርትዕ ቁልፍን ጠቅ ያድርጉ።

ምስሉን ለማስፋት ይንኩ።

የተጠቃሚ ፋይል አይነቶችን አርትዕ በሚለው ሳጥን ውስጥ የፋይል አይነት ፍጠር የሚለውን ቁልፍ ጠቅ ያድርጉ።
የሚከተሉትን አማራጮች ያዘጋጁ:

  • መታወቂያ - ልዩ ዲጂታል መለያ። ይህ ቁጥር በዘፈቀደ ይመረጣል; ብቸኛው ነገር ከማንኛውም ሌላ የፋይል አይነት ዲጂታል መለያ ጋር መመሳሰል የለበትም።
  • የቡድን መግለጫ - የተገኙት ፋይሎች በ R-Studio ውስጥ የሚገኙበት ቡድን. አዲስ ቡድን ማዋቀር ወይም አሁን ካሉት አንዱን መምረጥ ትችላለህ። ለእኛ ይህ "መልቲሚዲያ ቪዲዮ (መልቲሚዲያ: ቪዲዮ)" ቡድን ይሆናል.
  • መግለጫ - አጭር መግለጫየፋይል አይነት. በእኛ ምሳሌ ውስጥ, ለምሳሌ "Sony cam video, XDCam-EX" መጠቀም ይችላሉ.
  • ቅጥያ - የዚህ አይነት ፋይሎች ቅጥያ. በእኛ ሁኔታ - mp4.

የባህሪዎች መለኪያው አማራጭ ነው፣ በእኛ ሁኔታ እሱን መጠቀም አያስፈልገንም።

ምስሉን ለማስፋት ይንኩ።

በመቀጠል የፋይል መጀመሪያ እና መጨረሻ ፊርማ ማስገባት ያስፈልግዎታል። ይህንን ለማድረግ ጀምርን እና ከዚያ ወደ ውስጥ ን ይምረጡ የአውድ ምናሌፊርማ አክል ትዕዛዝ.

ምስሉን ለማስፋት ይንኩ።

ከዚያ በመስክ ላይ ሁለቴ ጠቅ ያድርጉ<пустая сигнатура> () እና ተገቢውን ጽሑፍ ያስገቡ።

ምስሉን ለማስፋት ይንኩ።

ከዚያ የመጨረሻውን የፋይል ፊርማ ይፍጠሩ. ከ አምድ መስክ ውስጥ 21 ን ማስገባትዎን ያረጋግጡ።

ምስሉን ለማስፋት ይንኩ።

ለታወቁ የፋይል አይነቶች የራስዎን ፊርማ በተሳካ ሁኔታ ፈጥረዋል።

አሁን ማስቀመጥ ያስፈልግዎታል. ሁለት መንገዶች አሉ፡ አስቀምጥ የሚለውን ቁልፍ ጠቅ በማድረግ በቅንብሮች መገናኛ ሳጥን ዋና ትር ላይ ወደተገለጸው ነባሪ ፋይል ማስቀመጥ ትችላለህ። ወይም አስቀምጥ እንደ... ቁልፍን ጠቅ ያድርጉ እና ፊርማውን ወደ ሌላ ፋይል ያስቀምጡ።

2.2 የሚታወቅ የፋይል አይነትን የሚገልጽ የኤክስኤምኤል ፋይል መፍጠር፡-
ለመፍጠር ይህ ፋይልየኤክስኤምኤል ስሪት 1.0 እና UTF-8 ኢንኮዲንግ እንጠቀም። ምን እንደሆነ ካላወቁ ተስፋ አይቁረጡ - ማንኛውንም ይክፈቱ የጽሑፍ አርታዒ(ለምሳሌ, Notepad.exe) እና በመጀመሪያው መስመር ላይ የሚከተለውን ጽሑፍ ያስገቡ:

በመቀጠል የፋይል አይነትን (FileType) የሚገልጽ የኤክስኤምኤል መለያ እንፈጥራለን። ቀደም ሲል የተገለጹትን የኤክስኤምኤል ባህሪያትን ከግምት ውስጥ በማስገባት መለያው ይህንን ይመስላል።

ወዲያውኑ እናስገባው

በመቀጠል የፋይሉን ፊርማ እንገልፃለን (መለያ ). የመጀመሪያው ፊርማ (በፋይሉ መጀመሪያ ላይ) በመለያው ውስጥ ይሆናል። ያለ ምንም ባህሪያት. የፊርማውን የጽሑፍ አይነት እንጠቀማለን, ግን በተመሳሳይ ጊዜ በፅሁፍ መልክ ሊወከሉ በማይችሉ ሄክሳዴሲማል ቁምፊዎች ይተካሉ. ከእያንዳንዱ ሄክሳዴሲማል ቁምፊ በፊት "\ x" እናስገባለን ስለዚህ መለያው በፋይል ፊርማ ይህንን ይመስላል

ካለ፣ እንዲሁም የማለቂያ ፊርማውን (በፋይሉ መጨረሻ) መግለጽ አለቦት። ይህ ተመሳሳይ መለያ ይጠቀማል፣ ነገር ግን ከ"ከ" ኤለመንት እና "መጨረሻ" ባህሪ ጋር። ይህን ይመስላል።

ያስታውሱ የመጨረሻው የፋይል ፊርማ የጽሁፍ ያልሆኑ ቁምፊዎችን አልያዘም, ነገር ግን ቁርጥራጭ እና የሶስት ማዕዘን ቅንፎችን እንደያዘ ያስታውሱ. በኤክስኤምኤል አገባብ ውስጥ ግራ መጋባትን እና ስህተቶችን ለማስወገድ በፊርማው ውስጥ ያሉትን "/" ቁምፊዎችን እንተካለን<" и ">"ሄክሳዴሲማል እሴቶቻቸው።

በመጨረሻ፣ ከፋይሉ ፊርማ በኋላ፣ የመዝጊያ መለያዎች FileType እና FileTypeList መኖር አለባቸው፡-

ስለዚህ ፋይሉ በሙሉ ይህንን ይመስላል።


\x00\x00\x00\x18ftypmp42\x00\x00\x00\x00mp42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08ነጻ
\x3C\x2FNonRealTimeMeta\x3E\x0D\x0A\x00

ያስታውሱ፡ የኤክስኤምኤል አገባብ ለጉዳይ ስሱ ነው፣ ስለዚህ ትክክለኛው መለያ ይሆናል። አይደለም .

ፋይሉን በጽሑፍ ቅርጸት ከቅጥያው .xml ጋር እናስቀምጥ። ለምሳሌ፡ SonyCam.xml.

ለታወቁ የፋይል አይነቶች የራሳችንን ፊርማ በተሳካ ሁኔታ ፈጥረናል። ይህ ምሳሌ ብጁ የፋይል አይነት የመፍጠር መሰረታዊ መርሆችን ለመረዳት በቂ ነው። የበለጠ ልምድ ያላቸው ተጠቃሚዎች የኤክስኤምኤል ስሪት 2.0 መጠቀም ይችላሉ። ስለዚህ ጉዳይ በ R-Studio የመስመር ላይ እገዛ ክፍል ውስጥ የበለጠ ማንበብ ይችላሉ።

ደረጃ 3፡ የሚታወቅ የፋይል አይነትን የሚገልጽ ፋይል መፈተሽ እና ማከል
ቀጣዩ ደረጃ የኤክስኤምኤል ፋይልዎን ወደ R-Studio ማከል (መስቀል) ነው። በዚህ ሁኔታ, በራስ-ሰር ይጣራል.

ባለፈው ደረጃ የተፈጠረውን የኤክስኤምኤል ፋይል ወደ R-Studio እንጭነው። ይህንን ለማድረግ በመሳሪያዎች ምናሌ ውስጥ የቅንብሮች ንጥል ነገርን ይምረጡ. በቅንብሮች መገናኛ ሳጥን ውስጥ በዋናው ትር የተጠቃሚ ፋይል አይነቶች አካባቢ፣ የፈጠርነውን የኤክስኤምኤል ፋይል (SonyCam.xml) ያክሉ። ተግብር የሚለውን ቁልፍ ጠቅ ያድርጉ።

ምስሉን ለማስፋት ይንኩ።

2. አዲስ የፋይል አይነት ለማውረድ ለሚቀርበው ጥያቄ አዎ ብለው ይመልሱ።

ምስሉን ለማስፋት ይንኩ።

3. የፋይል አይነት በተሳካ ሁኔታ መጫኑን ለማረጋገጥ በቅንብሮች መገናኛ ሳጥን ውስጥ የታወቁ የፋይል አይነቶች ትርን ጠቅ ያድርጉ። የፋይሉን አይነት ወደ መልቲሚዲያ ቪዲዮ ቡድን እንደጨመርን ያስታውሱ። ይህንን ቡድን (አቃፊ) ካሰፋን በኋላ የኤክስኤምኤል ፋይል ስንፈጥር ከገለጽነው መግለጫ ጋር አንድ አካል ማየት አለብን፡ Sony cam video፣ XDCam-EX (.mp4)።

ምስሉን ለማስፋት ይንኩ።


ምስሉን ለማስፋት ይንኩ።

በፋይል አገባብ ውስጥ ማናቸውም ስህተቶች ካሉ፣ ተዛማጅ መልእክት ያያሉ፡-

ምስሉን ለማስፋት ይንኩ።

በዚህ አጋጣሚ የኤክስኤምኤል ፋይልዎን ለስህተት እንደገና ያረጋግጡ። ያስታውሱ፡ የኤክስኤምኤል አገባብ ለጉዳይ ስሱ ነው እና እያንዳንዱ መለያ መጨረሻ ላይ የመዝጊያ መለያ ሊኖረው ይገባል።

ደረጃ 4፡ የሚታወቅ የፋይል አይነትን የሚገልጽ ፋይሉን መሞከር
የፈጠርነውን ብጁ የፋይል አይነት ትክክለኛነት ለማረጋገጥ .mp4 ፋይሎቻችንን በተነቃይ የዩኤስቢ ፍላሽ አንፃፊ ለማግኘት እንሞክር።

1. በዊንዶውስ ቪስታ ወይም ዊንዶውስ 7 ስር የዲስክን ሙሉ (ፈጣን ያልሆነ) ቅርጸት ያከናውኑ ወይም የዲስክ ቦታ ማጽጃ መገልገያ (ለምሳሌ R-Wipe & Clean) ይጠቀሙ ሙሉ በሙሉ መወገድበዲስክ ላይ የሚገኙ ሁሉም መረጃዎች. ፍቀድ የዩኤስቢ ዲስክበ FAT32 ቅርጸት የተሰራ (የተፈለጉት ፋይሎች መጠን ከ 2 ጂቢ አይበልጥም).

2. የመሸጎጫ ማህደረ ትውስታ ይዘቶች በዲስክ ላይ እንዲቀመጡ የሙከራ ፋይሎችን ወደ ዲስክ ይቅዱ እና ኮምፒተርውን እንደገና ያስነሱ. ማሰናከልም ይችላሉ። ውጫዊ ድራይቭእና ከዚያ እንደገና ያገናኙት.

3. በስርዓተ ክወናው ውስጥ አንፃፊው እንደ ሎጂካዊ ድራይቭ F:\ ይገለጻል።

4. R-Studioን እናስጀምር። የእኛን ድራይቭ (F:\) ይምረጡ እና የቃኝ አዝራሩን ጠቅ ያድርጉ

ምስሉን ለማስፋት ይንኩ።

5. በScan መገናኛ ሳጥን ውስጥ (ፋይል ሲስተም) አካባቢ፣ ለውጥ... ቁልፍን ጠቅ ያድርጉ እና ሁሉንም ሳጥኖቹ ላይ ምልክት ያንሱ። በዚህ መንገድ የክፋይ ሠንጠረዥን በመጠቀም የፋይል ስርዓቶችን እና ፋይሎችን መፈለግን እናሰናክላለን።
ምስሉን ለማስፋት ይንኩ።

6. ለታወቁ የፋይል አይነቶች ተጨማሪ ፍለጋ አመልካች ሳጥኑ ላይ ምልክት ያድርጉ። ይህ R-Studio በሚቃኙበት ጊዜ የታወቁ የፋይል አይነቶችን እንዲፈልግ ያስችለዋል።

7. መቃኘት ለመጀመር የቃኝ አዝራሩን ጠቅ ያድርጉ።

8. አር-ስቱዲዮ ዲስኩን ሲቃኝ እንጠብቅ። የቃኝ መረጃ ትሩ የፍተሻ ሂደቱን (ሂደቱን) ያሳያል።


ምስሉን ለማስፋት ይንኩ።

9. መቃኘት ከተጠናቀቀ በኋላ Extra Found Files የሚለውን ንጥል ይምረጡ እና በላዩ ላይ ሁለቴ ጠቅ ያድርጉ።


ምስሉን ለማስፋት ይንኩ።

10. የሙከራ ፋይሎቻችን በ Sony cam ቪዲዮ, XDCam-EX አቃፊ (ወይም በሁለተኛው ደረጃ ውስጥ ከተጠቀሰው የፋይል አይነት መግለጫ ጋር የሚዛመድ ሌላ ስም ባለው አቃፊ) ውስጥ ይገኛሉ.


ምስሉን ለማስፋት ይንኩ።

የፋይሉ ስሞች፣ ቀናት እና ቦታዎች (አቃፊዎች) ወደነበሩበት እንዳልተመለሱ ያያሉ። ይህ መረጃበፋይል ስርዓት ውስጥ ተከማችቷል. ስለዚህ R-Studio እያንዳንዱን ፋይል በአዲስ ስም ያሳያል።

ነገር ግን የፋይሎቹ ይዘት እንዳልተበላሸ ግልጽ ነው። ይህንን ለማረጋገጥ, በተገቢው ፕሮግራም ውስጥ እንከፍታቸው, ለምሳሌ VLC ሚዲያ አጫዋች.


ምስሉን ለማስፋት ይንኩ።

ማጠቃለያ
የ R-Studio የታወቁ የፋይል አይነቶችን የመቃኘት ችሎታ የፋይል ስርዓቶቹ ከተገለበጡ ዲስክ ላይ እንኳን ሳይቀር መረጃን መልሰው እንዲያገኙ ያስችልዎታል። ፊርማዎቻቸውን በመጠቀም ፋይሎችን በትክክል መፈለግ ይችላሉ ፣ በተለይም እንደ እኛ ምሳሌ የሚመለሱትን የፋይሎች አይነት በትክክል ካወቁ በጣም ጠቃሚ ነው። ብጁ የፋይል አይነቶችን የመፍጠር ችሎታ የታወቁ የፋይል አይነቶች ዝርዝር ውስጥ የተወሰነ የፋይል ፊርማ ያለው ማንኛውንም ፋይል ለመጨመር ያስችልዎታል.

ብዙዎች እንደ rarjpeg ያሉ ፋይሎችን ሰምተው ሊሆን ይችላል ይህ የ jpeg ምስል እና የ rar ማህደር በቅርበት የተጣበቁ ናቸው መረጃን ለማስተላለፍ በጣም ጥሩ የሆነ መያዣ ነው የሚከተሉት ትዕዛዞች:

UNIX፡ የድመት ምስል1.jpg archive.rar > image2.jpg
ዊንዶውስ፡ ቅጂ /b image1.jpg+archive.rar image2.jpg

ወይም የሄክስ አርታኢ ካለዎት።

እርግጥ ነው, መረጃን የማስተላለፍን እውነታ ለመደበቅ, የ JPEG ቅርጸትን ብቻ ሳይሆን ሌሎችንም መጠቀም ይችላሉ. እያንዳንዱ ቅርፀት የራሱ ባህሪያት አለው, በዚህ ምክንያት ለኮንቴይነር ሚና ተስማሚ ሊሆን ይችላል ወይም ላይሆን ይችላል. በጣም ተወዳጅ በሆኑ ቅርጸቶች ውስጥ የተለጠፉ ፋይሎችን እንዴት ማግኘት እንደሚችሉ ወይም የማጣበቅ እውነታን እንዴት እንደሚያመለክቱ እገልጻለሁ.

የተዋሃዱ ፋይሎችን የመለየት ዘዴዎች በሶስት ቡድን ሊከፈሉ ይችላሉ-

  1. ከ EOF ምልክት በኋላ አካባቢውን ለመፈተሽ ዘዴ. ብዙ ታዋቂ የፋይል ቅርጸቶች የተፈለገውን ውሂብ የማሳየት ሃላፊነት ያለው የፋይል መጨረሻ ምልክት ማድረጊያ ተብሎ የሚጠራው አላቸው. ለምሳሌ፣ የፎቶ ተመልካቾች እስከዚህ ምልክት ማድረጊያ ድረስ ሁሉንም ባይቶች ያነባሉ፣ ነገር ግን ቦታው ችላ ከተባለ በኋላ። ይህ ዘዴ ለሚከተሉት ቅርጸቶች ተስማሚ ነው-JPEG, PNG, GIF, ZIP, RAR, PDF.
  2. የፋይል መጠንን ለመፈተሽ ዘዴ. የአንዳንድ ቅርፀቶች (የድምጽ እና የቪዲዮ ኮንቴይነሮች) መዋቅር ትክክለኛውን የፋይል መጠን ለማስላት እና ከመጀመሪያው መጠን ጋር ለማነፃፀር ያስችልዎታል. ቅርጸቶች: AVI, WAV, MP4, MOV.
  3. የ CFB ፋይሎችን የመፈተሽ ዘዴ. ሲኤፍቢ ወይም ኮምፓውንድ ፋይል ሁለትዮሽ ፎርማት በማይክሮሶፍት የተሰራ የሰነድ ቅርጸት ሲሆን የራሱ የሆነ መያዣ ነው። የፋይል ስርዓት. ይህ ዘዴ በፋይል ውስጥ ያልተለመዱ ነገሮችን በመለየት ላይ የተመሰረተ ነው.

ፋይል ካለቀ በኋላ ሕይወት አለ?

JPEG

የዚህን ጥያቄ መልስ ለማግኘት, የተዋሃዱ ፋይሎችን "ቅድመ አያት" የሆነውን የቅርጽ ዝርዝሮችን በጥልቀት መመርመር እና አወቃቀሩን መረዳት ያስፈልጋል. ማንኛውም JPEG የሚጀምረው በ 0xFF 0xD8 ፊርማ ነው።

ከዚህ ፊርማ በኋላ የአገልግሎት መረጃ አለ ፣ እንደ አማራጭ የምስል አዶ እና ፣ በመጨረሻም ፣ የ የታመቀ ምስል. በዚህ ቅርጸት, የምስሉ መጨረሻ በሁለት-ባይት ፊርማ 0xFF 0xD9 ምልክት ይደረግበታል.

PNG

የPNG ፋይል የመጀመሪያዎቹ ስምንት ባይት በሚከተለው ፊርማ ተይዘዋል፡ 0x89፣ 0x50፣ 0x4E፣ 0x47፣ 0x0D፣ 0x0A፣ 0x1A፣ 0x0A። የውሂብ ዥረቱን የሚያበቃ ፊርማ፡ 0x49፣ 0x45፣ 0x4E፣ 0x44፣ 0xAE፣ 0x42፣ 0x60፣ 0x82።

RAR

የሁሉም ራር ማህደሮች የጋራ ፊርማ፡ 0x52 0x61 0x72 0x21 (ራር!)። ስለ ማህደር ሥሪት እና ሌሎች ተዛማጅ መረጃዎች መረጃ ከመጣ በኋላ። መዛግብቱ በ0x0A፣ 0x25፣ 0x25፣ 0x45፣ 0x4F፣ 0x46 ፊርማ እንደሚያልቅ በሙከራ ተወስኗል።

የቅርጸቶች ሰንጠረዥ እና ፊርማዎቻቸው:
በነዚህ ቅርፀቶች ውስጥ መጣበቅን ለመፈተሽ ስልተ ቀመር እጅግ በጣም ቀላል ነው፡

  1. የመጀመሪያውን ፊርማ ያግኙ;
  2. የመጨረሻውን ፊርማ ያግኙ;
  3. ከመጨረሻው ፊርማ በኋላ ምንም ውሂብ ከሌለ ፋይልዎ ንጹህ ነው እና ዓባሪዎችን አልያዘም! አለበለዚያ ከመጨረሻው ፊርማ በኋላ ሌሎች ቅርጸቶችን መፈለግ አስፈላጊ ነው.

GIF እና PDF

የፒዲኤፍ ሰነድ ከአንድ በላይ የEOF ምልክት ማድረጊያ ሊኖረው ይችላል፣ ለምሳሌ ትክክል ባልሆነ ሰነድ በማመንጨት። በጂአይኤፍ ፋይል ውስጥ ያሉት የመጨረሻ ፊርማዎች ቁጥር በውስጡ ካሉት የክፈፎች ብዛት ጋር እኩል ነው። በእነዚህ ቅርጸቶች ባህሪያት ላይ በመመስረት, የተያያዙ ፋይሎችን መኖሩን ለማረጋገጥ ስልተ ቀመር ማሻሻል ይቻላል.
  1. ነጥብ 1 ከቀዳሚው ስልተ ቀመር ተደግሟል።
  2. ነጥብ 2 ከቀዳሚው ስልተ ቀመር ተደግሟል።
  3. የመጨረሻውን ፊርማ ሲያገኙ ቦታውን ያስታውሱ እና የበለጠ ይመልከቱ;
  4. በዚህ መንገድ የመጨረሻውን የ EOF ምልክት ከደረሱ, ፋይሉ ንጹህ ነው.
  5. ፋይሉ በመጨረሻ ፊርማ ካላለቀ ጎቶ የተገኘው የመጨረሻው የመጨረሻ ፊርማ የሚገኝበት ቦታ ነው።
በፋይሉ መጠን እና ከመጨረሻው የመጨረሻ ፊርማ በኋላ ባለው አቀማመጥ መካከል ያለው ትልቅ ልዩነት የሚያጣብቅ አባሪ መኖሩን ያሳያል. ምንም እንኳን ሌሎች እሴቶች ሊዘጋጁ ቢችሉም ልዩነቱ ከአስር ባይት በላይ ሊሆን ይችላል።

ዚፕ

የዚፕ መዛግብት ልዩነት ሶስት የተለያዩ ፊርማዎች መኖራቸው ነው፡ የማህደሩ አወቃቀር እንደሚከተለው ነው።
የአካባቢ ፋይል ራስጌ 1
የፋይል ውሂብ 1
የውሂብ ገላጭ 1
የአካባቢ ፋይል ራስጌ 2
የፋይል ውሂብ 2
የውሂብ ገላጭ 2
...
የአካባቢ ፋይል ራስጌ
የፋይል ውሂብ n
የውሂብ ገላጭ n
የማህደር መፍቻ ራስጌ
ተጨማሪ የውሂብ መዝገብን በማህደር ያስቀምጡ
ማዕከላዊ ማውጫ
በጣም የሚገርመው በማህደሩ ውስጥ ስላሉት ፋይሎች ሜታዳታ የያዘው ማዕከላዊ ማውጫ ነው። ማዕከላዊው ማውጫ ሁል ጊዜ በ 0x50 0x4b 0x01 0x02 ፊርማ ይጀምራል እና በ 0x50 0x4b 0x05 0x06 ፊርማ ያበቃል ፣ ከዚያም 18 ባይት ሜታዳታ። የሚገርመው ነገር ባዶ ማህደሮች የመጨረሻውን ፊርማ እና 18 ዜሮ ባይት ብቻ ያቀፈ ነው። ከ18 ባይት በኋላ የማህደር አስተያየት ቦታ ይመጣል፣ ይህም ፋይሉን ለመደበቅ ተስማሚ መያዣ ነው።

የዚፕ ማህደርን ለመፈተሽ የማዕከላዊ ማውጫውን የመጨረሻ ፊርማ ማግኘት፣ 18 ባይት መዝለል እና በአስተያየቱ ቦታ ላይ የታወቁ ቅርጸቶችን ፊርማ መፈለግ ያስፈልግዎታል። ትልቅ መጠንአስተያየቱ የማጣበቂያውን እውነታም ያመለክታል.

መጠን ጉዳዮች

AVI

የ AVI ፋይል አወቃቀር እንደሚከተለው ነው-እያንዳንዱ ፋይል በ RIFF ፊርማ (0x52 0x49 0x46 0x46) ይጀምራል. በባይት 8 ላይ ቅርጸቱን (0x41 0x56 0x49 0x20) የሚገልጽ የAVI ፊርማ አለ። በማካካሻ 4 ላይ ያለው እገዳ ፣ 4 ባይት ያለው ፣ የውሂብ ማገጃውን የመጀመሪያ መጠን (የባይት ቅደም ተከተል - ትንሽ ኢንዲያን) ይይዛል። የሚቀጥለውን መጠን የያዘውን የማገጃ ቁጥር ለማወቅ የራስጌውን መጠን (8 ባይት) እና በ4-8 ባይት ብሎክ የተገኘውን መጠን መጨመር ያስፈልግዎታል። ይህ አጠቃላይ የፋይል መጠን ያሰላል. የተሰላው መጠን ከትክክለኛው የፋይል መጠን ያነሰ ሊሆን እንደሚችል ተቀባይነት አለው. ከተሰላው መጠን በኋላ ፋይሉ ዜሮ ባይት ብቻ ይይዛል (የ 1 ኪባ ድንበሩን ለማስተካከል አስፈላጊ ነው)።

የመጠን ስሌት ምሳሌ፡-


WAV

ልክ እንደ AVI ፣ የ WAV ፋይል በ RIFF ፊርማ ይጀምራል ፣ ሆኖም ፣ ይህ ፋይል ከ ባይት 8 - WAVE (0x57 0x41 0x56 0x45) ፊርማ አለው። የፋይል መጠን ልክ እንደ AVI በተመሳሳይ መንገድ ይሰላል. ትክክለኛው መጠንበትክክል ከተሰላው ጋር ተመሳሳይ መሆን አለበት.

MP4

MP4 ወይም MPEG-4 የቪዲዮ እና የድምጽ ዥረቶችን ለማከማቸት የሚያገለግል የሚዲያ መያዣ ፎርማት ሲሆን የትርጉም ጽሑፎችን እና ምስሎችን ለማከማቸት ያቀርባል.
በማካካሻ 4 ባይት ፊርማዎች አሉ፡ የፋይል አይነት ftyp (66 74 79 70) (QuickTime Container File Type) እና የፋይል ንዑስ አይነት mmp4 (6D 6D 70 34)። እውቅና ለማግኘት የተደበቁ ፋይሎች, የፋይሉን መጠን ለማስላት ችሎታ ፍላጎት አለን.

አንድ ምሳሌ እንመልከት። የመጀመሪያው የማገጃ መጠን በዜሮ ማካካሻ ላይ ነው, እና 28 ነው (00 00 00 1C, Big Endian ባይት ትዕዛዝ); እንዲሁም የሁለተኛው የውሂብ እገዳ መጠን የሚገኝበትን ማካካሻ ይጠቁማል. በማካካሻ 28 ላይ ቀጣዩን የማገጃ መጠን ከ 8 (00 00 00 08) ጋር እኩል እናገኛለን። የሚቀጥለውን የማገጃ መጠን ለማግኘት, የተገኙትን የቀድሞ ብሎኮች መጠኖች ማከል ያስፈልግዎታል. ስለዚህ የፋይሉ መጠን ይሰላል-

MOV

ይህ በስፋት ጥቅም ላይ የዋለው ቅርጸት የ MPEG-4 መያዣ ነው. MOV የባለቤትነት ውሂብ መጭመቂያ ስልተ-ቀመር ይጠቀማል, ከ MP4 ጋር ተመሳሳይ የሆነ መዋቅር አለው እና ለተመሳሳይ ዓላማዎች - የድምጽ እና የቪዲዮ ውሂብን እንዲሁም ተዛማጅ ቁሳቁሶችን ለማከማቸት ያገለግላል.
ልክ እንደ MP4፣ ማንኛውም mov ፋይል በማካካሻ 4 ላይ ባለ 4-byte ftyp ፊርማ አለው፣ነገር ግን የሚቀጥለው ፊርማ qt__(71 74 20 20) ዋጋ አለው። የፋይሉን መጠን ለማስላት ደንቡ አልተቀየረም: ከፋይሉ መጀመሪያ ጀምሮ, የሚቀጥለውን እገዳ መጠን እናሰላለን እና እንጨምራለን.

ይህንን የቡድን ቅርፀቶች "የሚጣበቁ" ፋይሎች መኖራቸውን የመፈተሽ ዘዴው መጠኑን ከላይ በተገለጹት ህጎች መሰረት ማስላት እና ከተጣራው ፋይል መጠን ጋር ማወዳደር ነው. የአሁኑ የፋይል መጠን ከተሰላው በጣም ያነሰ ከሆነ, ይህ የማጣበቅ እውነታን ያመለክታል. የ AVI ፋይሎችን በሚፈትሹበት ጊዜ, ድንበሩን ለማስተካከል የተጨመሩ ዜሮዎች በመኖራቸው የተሰላው መጠን ከፋይሉ መጠን ያነሰ ሊሆን እንደሚችል ይቀበላል. በዚህ ሁኔታ, ከተሰላው የፋይል መጠን በኋላ ዜሮዎችን ማረጋገጥ አስፈላጊ ነው.

የስብስብ ፋይል ሁለትዮሽ ቅርጸትን በመፈተሽ ላይ

ይህ በማይክሮሶፍት የተሰራው የፋይል ፎርማት OLE (Object Linking and Embedding) ወይም COM (Component Object Model) በመባልም ይታወቃል። DOC ፋይሎች፣ XLS ፣ PPT የ CFB ቅርጸቶች ቡድን ናቸው።

የ CFB ፋይል የውሂብ ዥረቶችን ወይም የአገልግሎት መረጃዎችን የሚያከማች 512-ባይት ራስጌ እና እኩል ርዝመት ያላቸውን ዘርፎች ያካትታል። እያንዳንዱ ዘርፍ የራሱ ያልሆነ አሉታዊ ቁጥር አለው, በስተቀር ጋር ልዩ ቁጥሮች: "-1" - የነጻውን ሴክተር ቁጥሮች, "-2" - ሰንሰለቱን የሚዘጋውን ሴክተር ቁጥሮች. ሁሉም የሴክተር ሰንሰለቶች በ FAT ሰንጠረዥ ውስጥ ተገልጸዋል.

አንድ አጥቂ የተወሰነ .doc ፋይል ቀይሮ ሌላ ፋይል እንደለጠፈ እናስብ። በርካቶች አሉ። በተለያዩ መንገዶችያግኙት ወይም በሰነዱ ውስጥ ያልተለመደ ነገር ያመልክቱ።

ያልተለመደ የፋይል መጠን

ከላይ እንደተጠቀሰው ማንኛውም የሲኤፍቢ ፋይል ራስጌ እና እኩል ርዝመት ያላቸውን ዘርፎች ያካትታል። የሴክተሩን መጠን ለማወቅ ከፋይሉ መጀመሪያ ጀምሮ በ 30 ን በማካካሻ ላይ ባለ ሁለት ባይት ቁጥር ማንበብ እና 2 ወደዚህ ቁጥር ኃይል ማሳደግ ያስፈልግዎታል. ይህ ቁጥር ከ 9 (0x0009) ወይም 12 (0x000C) ጋር እኩል መሆን አለበት፣ በቅደም ተከተል የፋይል ሴክተሩ መጠን 512 ወይም 4096 ባይት ነው። ዘርፉን ካገኙ በኋላ የሚከተለውን እኩልነት ማረጋገጥ ያስፈልግዎታል።

(ፋይል መጠን - 512) mod SectorSize = 0

ይህ እኩልነት ካልረካ ፋይሎቹን የማጣበቅ እውነታን ማመልከት ይችላሉ. ይሁን እንጂ ይህ ዘዴ ጉልህ የሆነ ጉድለት አለው. አጥቂ የሴክተሩን መጠን የሚያውቅ ከሆነ የተለጠፈው መረጃ መጠን የሴክተሩ መጠን ብዜት እንዲሆን የእሱን ፋይል እና ሌላ n ባይት መለጠፍ ብቻ ያስፈልገዋል።

ያልታወቀ ዘርፍ አይነት

አንድ አጥቂ የቀደመውን ቼክ ለማለፍ ስለ አንድ ዘዴ የሚያውቅ ከሆነ ይህ ዘዴ ያልተገለጹ ዓይነቶች ያላቸውን ዘርፎች መኖራቸውን ማወቅ ይችላል።

እኩልነትን እንግለጽ፡-

FileSize = 512 + CountReal * SectorSize፣ FileSize የፋይል መጠን ሲሆን ሴክተር መጠን የሴክተሩ መጠን ነው፣ CountReal የሴክተሮች ብዛት ነው።

እንዲሁም የሚከተሉትን ተለዋዋጮች እንገልጻለን፡

  1. CountFat - የ FAT ዘርፎች ብዛት. ከፋይሉ መጀመሪያ (4 ባይት) 44 ማካካሻ ላይ ይገኛል።
  2. CountMiniFAT - የ MiniFAT ዘርፎች ብዛት። ከፋይሉ መጀመሪያ (4 ባይት) 64 ማካካሻ ላይ ይገኛል።
  3. CountDIFAT - የ DIFAT ዘርፎች ብዛት። ከፋይሉ መጀመሪያ (4 ባይት) 72 ማካካሻ ላይ ይገኛል።
  4. CountDE - የማውጫ ማስገቢያ ዘርፎች ብዛት። ይህንን ተለዋዋጭ ለማግኘት በ 48 ላይ የሚገኘውን የመጀመሪያውን ሴክተር DE ማግኘት ያስፈልግዎታል። ከዚያም የ DE ሙሉ ውክልና ከስብ ማግኘት እና የ DE ሴክተሮችን ቁጥር መቁጠር አስፈላጊ ነው;
  5. CountStreams - የውሂብ ዥረቶች ያላቸው ዘርፎች ብዛት;
  6. CountFree - የነፃ ዘርፎች ብዛት;
  7. CountClassified - የተወሰነ ዓይነት ያላቸው ዘርፎች ብዛት;
CountClassified = CountFAT + CountMiniFAT + CountDIFAT + CountDE + CountStreams + CountFree

በግልጽ እንደሚታየው፣ CountClassified እና CountReal እኩል ካልሆኑ ፋይሎች ሊዋሃዱ ይችላሉ ብለን መደምደም እንችላለን።

አለቃዬ አንድ አስደሳች ሥራ ሰጠኝ። በአጭር ጊዜ ውስጥ፣ በፊርማዎች ላይ በመመስረት የቫይረስ አካላትን ለማግኘት እና ጥቅም ላይ የዋለውን ፓከር/ክሪፕተር የሚወስን የሚተገበር ፋይል ተንታኝ ይፃፉ። የተጠናቀቀው ምሳሌ በጥቂት ሰዓታት ውስጥ ታየ።

የደራሲው ቃል

የፊርማ ትንተና

ፊርማዎችን በመጠቀም ጎጂ ነገር መፈለግ ማንኛውም ጸረ-ቫይረስ ሊያደርገው የሚችለው ነገር ነው። በአጠቃላይ, ፊርማ የሚቃኘው ፋይል ቫይረስ እና በደንብ የተገለጸ ቫይረስ መሆኑን ለመወሰን የተወሰኑ ባህሪያትን መደበኛ መግለጫ ነው.

እዚህ የተለያዩ ቴክኒኮች አሉ. አማራጭ በN ባይት የተሰራውን ተንኮል አዘል ነገር መጠቀም ነው። በዚህ ሁኔታ ፣ የሞኝ ንፅፅር ማድረግ አይችሉም ፣ ግን አንዳንድ ጭንብል በመጠቀም ማነፃፀር (እንደ ባይት ኢቢ ?? ሲዲ 13 መፈለግ)። ወይም እንደ "እንደዚህ ያሉ እና እንደዚህ ያሉ ባይቶች ወደ ፕሮግራሙ መግቢያ ነጥብ ላይ መሆን አለባቸው" እና የመሳሰሉትን ተጨማሪ ሁኔታዎችን ያዘጋጁ. የማልዌር ፊርማ ልዩ ጉዳይ ነው።

በተመሳሳይ ሁኔታ አንዳንድ ምልክቶች ተገልጸዋል ይህም አንድ ሰው የሚፈፀመው ፋይል በአንድ ወይም በሌላ ክሪፕቶር ወይም ፓከር (ለምሳሌ የተለመደው ኤኤስፓክ) የታሸገ መሆኑን ማወቅ ይችላል። መጽሔታችንን በጥንቃቄ ካነበቡ ፣ ወደ እሱ የተላለፈው የ PE ፋይል በጣም በብዛት ጥቅም ላይ የዋሉ ፓኬጆችን ፣ ክሪፕተሮችን እና አቀናባሪዎችን (መረጃ ቋቱን ብዙ ፊርማዎች አሉት) ለመለየት የሚያስችል እንደ PEiD ያለ መሳሪያ በእርግጠኝነት ሰምተዋል ። . ወዮ ፣ የፕሮግራሙ አዲስ ስሪቶች ለረጅም ጊዜ አልተለቀቁም ፣ እና በቅርቡ በይፋዊው ድር ጣቢያ ላይ ፕሮጀክቱ ተጨማሪ ልማት እንደማይኖረው መልእክት ታየ። በጣም ያሳዝናል፣ ምክንያቱም የ PEiD (በተለይ የፕለጊን ሲስተምን ከግምት ውስጥ በማስገባት) ለእኔ ጠቃሚ ሊሆን ይችላል። ከጥቂት ትንታኔ በኋላ ይህ አማራጭ እንዳልሆነ ግልጽ ሆነ. ነገር ግን የእንግሊዝኛ ጦማሮችን ከቆፈርኩ በኋላ የሚስማማኝን በፍጥነት አገኘሁ። ያራ ፕሮጀክት (code.google.com/p/yara-project)።

YARA ምንድን ነው?

ከመጀመሪያው ጀምሮ በበይነመረቡ ላይ የሆነ ቦታ በአንድ የተወሰነ ፊርማ እና እየተመረመረ ባለው ፋይል መካከል ያለውን ግንኙነት የመወሰን ተግባር የሚወስድ ክፍት ምንጭ ልማት እንዳለ እርግጠኛ ነበርኩ። እንደዚህ አይነት ፕሮጀክት ካገኘሁ በቀላሉ በድር መተግበሪያ ሀዲድ ላይ ሊቀመጥ ይችላል, እዚያ የተለያዩ ፊርማዎችን ጨምር እና ከእኔ የሚፈለገውን ያግኙ. የYARA ፕሮጀክትን መግለጫ ሳነብ ዕቅዱ የበለጠ እውን መሆን ጀመረ።

የማልዌር ተመራማሪዎች ተንኮል-አዘል ናሙናዎችን ለይተው እንዲለዩ እና እንዲከፋፈሉ ለመርዳት ገንቢዎቹ እራሳቸው እንደ መሳሪያ አድርገው ያስቀምጣሉ። ተመራማሪው ለ ማብራሪያዎችን መፍጠር ይችላል የተለያዩ ዓይነቶችየማልዌር መደበኛ ባህሪያትን የሚገልጹ ጽሁፍ ወይም ሁለትዮሽ ቅጦችን በመጠቀም ማልዌር። ፊርማዎች የሚገኙት በዚህ መንገድ ነው። እንደ እውነቱ ከሆነ, እያንዳንዱ መግለጫ የመስመሮች ስብስብ እና አንዳንድ ምክንያታዊ አገላለጾችን ያካትታል, በዚህ መሠረት ትንታኔ ሰጪው ቀስቃሽ አመክንዮ ይወሰናል.

ለምርመራው ፋይል የአንዱ ደንቦች ሁኔታዎች ከተሟሉ, በዚህ መሰረት ይወሰናል (ለምሳሌ, እንደዚህ እና እንደዚህ ያለ ትል). እየተነጋገርን ያለነውን ለመረዳት ቀላል የሕግ ምሳሌ፡-

የዝምታ_ባንክ ሰራተኛ፡ የባንክ ሰራተኛ
{
ሜታ፡-
መግለጫ = "ይህ ምሳሌ ብቻ ነው"
ክር_ደረጃ = 3
በዱር_ውስጥ = እውነት
ሕብረቁምፊዎች
$a = (6A 40 68 00 30 00 00 6A 14 8D 91)
$b = (8D 4D B0 2B C1 83 C0 27 99 6A 4E 59 F7 F9)
$c = "UVODFRYSIHLNWPEJXQZAKCBGMT"
ሁኔታ፡
$a ወይም $b ወይም $c
}

በዚህ ህግ ውስጥ በ$a,$b,$c በተለዋዋጮች ውስጥ ከተገለጹት የናሙና ሕብረቁምፊዎች ውስጥ ቢያንስ አንዱን የያዘ ማንኛውም ፋይል እንደ silent_banker ትሮጃን መመደብ እንዳለበት እንነግረዋለን። እና ይህ በጣም ቀላል ህግ ነው. እንደ እውነቱ ከሆነ, ደንቦች በጣም ውስብስብ ሊሆኑ ይችላሉ (ከዚህ በታች ስለዚህ ጉዳይ እንነጋገራለን).
እሱን የሚጠቀሙት የፕሮጀክቶች ዝርዝር እንኳን ስለ YAARA ፕሮጀክት ስልጣን ይናገራል ፣ እና ይህ ነው-

  • VirusTotal ማልዌር ኢንተለጀንስ አገልግሎቶች (vt-mis.com);
  • jsunpack-n (jsunpack.jeek.org);
  • የእርስዎን ድር ጣቢያ (wewatchyourwebsite.com) እንመለከታለን።

ሁሉም ኮድ የተፃፈው በፓይዘን ነው፣ እና ተጠቃሚው ሁለቱንም ሞጁሉን በራሱ ለዕድገታቸው ጥቅም ላይ እንዲውል እና በቀላሉ YARAን እንደ ራሱን የቻለ መተግበሪያ እንዲጠቀምበት ሊተገበር የሚችል ፋይል ቀርቧል። እንደ ሥራዬ ፣ የመጀመሪያውን አማራጭ መርጫለሁ ፣ ግን በዚህ ጽሑፍ ውስጥ ቀላልነት በቀላሉ ትንታኔውን እንደ ኮንሶል መተግበሪያ እንጠቀማለን።

ከተወሰነ ቁፋሮ በኋላ፣ ለ YARA እንዴት ደንቦችን እንደምጽፍ፣ እንዲሁም የቫይረስ ፊርማዎችን ከፍሪዌር እና ከፒኢዲ ጋር እንዴት ማያያዝ እንዳለብኝ በፍጥነት አወቅሁ። ግን በመጫኑ እንጀምራለን.

መጫን

ቀደም ብዬ እንደተናገርኩት ፕሮጀክቱ በፓይዘን የተፃፈ በመሆኑ በቀላሉ በሊኑክስ፣ ዊንዶውስ እና ማክ ላይ መጫን ይችላል። መጀመሪያ ላይ ሁለትዮሽ ብቻ መውሰድ ይችላሉ. አፕሊኬሽኑን በኮንሶል ውስጥ ከጠራነው የማስጀመሪያ ደንቦቹን እናገኛለን።

$yar
አጠቃቀም፡ yara ... ... FILE | PID

ማለትም ፕሮግራሙን የመጥራት ቅርጸት እንደሚከተለው ነው-በመጀመሪያ የፕሮግራሙ ስም አለ ፣ ከዚያ የአማራጮች ዝርዝር ፣ ከዚያ በኋላ ህጎቹ ያለው ፋይል ይጠቁማል ፣ እና በመጨረሻ - የፋይሉ ስም ነው ። የተመረመረ (ወይም ፋይሎቹን የያዘው ማውጫ) ወይም የሂደቱ መለያ። አሁን እነዚህ በጣም ደንቦች እንዴት እንደተዘጋጁ በጥሩ ሁኔታ መግለጽ እፈልጋለሁ, ነገር ግን ወዲያውኑ በደረቅ ንድፈ ሃሳብ ልሸክምዎት አልፈልግም. ስለዚህ እኛ ነገሮችን በተለየ መንገድ እናደርጋለን እና የሌሎች ሰዎችን ፊርማ እንበስራለን YARA ካስቀመጥናቸው ተግባራት ውስጥ አንዱን - ሙሉ በሙሉ ቫይረሶችን በፊርማ መለየት።

የራስዎ ጸረ-ቫይረስ

በጣም አስፈላጊው ጥያቄ: የፊርማ ዳታቤዝ የት እንደሚገኝ የታወቁ ቫይረሶች? የጸረ-ቫይረስ ኩባንያዎች እንደዚህ ያሉ የውሂብ ጎታዎችን እርስ በርስ በንቃት ይጋራሉ (አንዳንዶቹ ለጋስ ሌሎች ደግሞ ያነሰ)። እውነቱን ለመናገር መጀመሪያ ላይ በይነመረብ ላይ አንድ ሰው እንደዚህ አይነት ነገሮችን በግልፅ እንደሚለጥፍ እጠራጠራለሁ. ነገር ግን, እንደ ተለወጠ, ጥሩ ሰዎች አሉ. ከታዋቂው የClamAV ጸረ-ቫይረስ ተስማሚ የመረጃ ቋት ለሁሉም ሰው ይገኛል (clamav.net/lang/en)። በ "የቅርብ ጊዜ የተረጋጋ ልቀት" ክፍል ውስጥ አገናኝ ማግኘት ይችላሉ የቅርብ ጊዜ ስሪትየጸረ-ቫይረስ ምርት፣ እንዲሁም የ ClamAV ቫይረስ የውሂብ ጎታዎችን ለማውረድ አገናኞች። በዋናነት በዋና.cvd (db.local.clamav.net/main.cvd) እና daily.cvd (db.local.clamav.net/daily.cvd) ፋይሎች ላይ ፍላጎት እናደርጋለን።

የመጀመሪያው የፊርማዎች ዋና ዳታቤዝ ይዟል, ሁለተኛው በጣም የተሟላ የውሂብ ጎታ ይዟል በአሁኑ ጊዜመሠረት ከተለያዩ ተጨማሪዎች ጋር. ከ100,000 በላይ የማልዌር እይታዎችን የያዘው Daily.cvd ለዚህ አላማ በቂ ነው። ሆኖም የClamAV ዳታቤዝ የYARA ዳታቤዝ አይደለም፣ስለዚህ ወደ ተፈለገው ቅርጸት መቀየር አለብን። ግን እንዴት? ደግሞም ስለ ClamAV ቅርጸት ወይም ስለ Yara ቅርጸት እስካሁን ምንም የምናውቀው ነገር የለም። ይህ ችግር የClamAV ቫይረስ ፊርማ ዳታቤዝ ወደ የYARA ደንቦች ስብስብ የሚቀይር ትንሽ ስክሪፕት በማዘጋጀት ከፊታችን ቀርቧል። ስክሪፕቱ clamav_to_yara.py ይባላል እና የተጻፈው በማቲው ሪቻርድ (bit.ly/ij5HVs) ነው። ስክሪፕቱን ያውርዱ እና የውሂብ ጎታዎቹን ይቀይሩ፡-

$ python clamav_to_yara.py -f daily.cvd -o clamav.yara

በውጤቱም፣ በclamav.yara ፋይል ​​ውስጥ ወዲያውኑ ለአገልግሎት ዝግጁ የሚሆን የፊርማ ዳታቤዝ ይደርሰናል። አሁን የYARA እና የClamAV ዳታቤዝ ጥምረት በተግባር እንሞክር። ፊርማ በመጠቀም ማህደርን መቃኘት በአንድ ነጠላ ትዕዛዝ ይከናወናል፡-

$ yara -r clamav.yara /pentest/msf3/data

የ -r አማራጭ ፍተሻው በሁሉም የአሁን አቃፊ ንዑስ አቃፊዎች ላይ በተደጋጋሚ መከናወን እንዳለበት ይገልጻል። በ /pentest/msf3/data ፎልደር (ቢያንስ በClamAV ዳታቤዝ ውስጥ ያሉ) የቫይረስ አካላት ከነበሩ YARA ወዲያውኑ ይህንን ሪፖርት ያደርጋል። በመርህ ደረጃ, ይህ ዝግጁ የሆነ የፊርማ ስካነር ነው. ለበለጠ ምቾት፣ የClamAV ዳታቤዝ ዝመናዎችን የሚፈትሽ፣ አዲስ ፊርማዎችን አውርጄ ወደ YARA ቅርጸት የሚቀይር ቀላል ስክሪፕት ጻፍኩ። ግን እነዚህ ቀድሞውኑ ዝርዝሮች ናቸው። የሥራው አንዱ ክፍል ተጠናቅቋል, አሁን ፓኬጆችን / ክሪፕተሮችን ለመለየት ደንቦችን ማዘጋጀት ይችላሉ. ግን ይህን ለማድረግ ትንሽ እነሱን መቋቋም ነበረብኝ.

እንደ ደንቦቹ ይጫወቱ

ስለዚህ, አንድ ደንብ ለአንድ የተወሰነ ምድብ የተወሰነ ፋይል እንዲመድቡ የሚያስችልዎ የፕሮግራሙ ዋና ዘዴ ነው. ደንቦቹ በተለየ ፋይል (ወይም ፋይሎች) ውስጥ ተገልጸዋል እና በመልክ ከ C / C ++ ቋንቋ ከ struct () ግንባታ ጋር በጣም ተመሳሳይ ናቸው.

BadBoy ደንብ
{
ሕብረቁምፊዎች
$a = "win.exe"
$b = "http://foo.com/badfi le1.exe"
$c = "http://bar.com/badfi le2.exe"
ሁኔታ፡
$a እና ($b ወይም $c)
}

በመርህ ደረጃ, ደንቦችን በመጻፍ ምንም የተወሳሰበ ነገር የለም. በዚህ ጽሑፍ ውስጥ ዋና ዋና ነጥቦችን ብቻ ነክቻለሁ, እና በመመሪያው ውስጥ ዝርዝሮችን ያገኛሉ. ለአሁን፣ አስር በጣም አስፈላጊ ነጥቦች፡-

1. እያንዳንዱ ህግ የሚጀምረው በቁልፍ ቃል ህግ ነው፣ ከዚያም ደንብ መለያው ይከተላል። መለያዎች በC/C++ ውስጥ ካሉ ተለዋዋጮች ጋር ተመሳሳይ ስሞች ሊኖራቸው ይችላል፣ ማለትም ፊደሎችን እና ቁጥሮችን ያቀፉ ሲሆን የመጀመሪያው ቁምፊ ቁጥር ሊሆን አይችልም። ከፍተኛው የመለያ ስም ርዝመት 128 ቁምፊዎች ነው።

2. በተለምዶ ደንቦች ሁለት ክፍሎችን ያቀፈ ነው-የፍቺ ክፍል (ሕብረቁምፊዎች) እና የሁኔታ ክፍል (ሁኔታ)። የሕብረቁምፊው ክፍል አንድ የተወሰነ ፋይል አንዳንድ ሁኔታዎችን ማሟላቱን ወይም አለመሆኑን የሚወስንበትን ሁኔታ መሠረት በማድረግ መረጃን ይገልጻል።

3. በሕብረቁምፊዎች ክፍል ውስጥ ያለው እያንዳንዱ መስመር የራሱ መለያ አለው ፣ እሱም በ$ ምልክት ይጀምራል - በአጠቃላይ ፣ በ PHP ውስጥ እንደ ተለዋዋጭ መግለጫ። YARA የተዘጉ መደበኛ ሕብረቁምፊዎችን ይደግፋል ድርብ ጥቅሶች("") እና ሄክሳዴሲማል ሕብረቁምፊዎች በተጠማዘዙ ማሰሪያዎች (())፣ እንዲሁም መደበኛ አባባሎች፡-

$my_text_string = "እዚህ ጽሑፍ"
$my_hex_string = ( E2 34 A1 C8 23 FB )

4. የሁኔታው ክፍል ሁሉንም የደንቡን አመክንዮዎች ይዟል. ይህ ክፍል አንድ ፋይል ወይም ሂደት ከህጉ ጋር መቼ እንደሚዛመዱ የሚወስን የቦሊያን አገላለጽ መያዝ አለበት። በተለምዶ ይህ ክፍል ቀደም ሲል የታወጁ መስመሮችን ያመለክታል. እና የሕብረቁምፊ ለዪው ሕብረቁምፊው በፋይል ወይም በሂደት ማህደረ ትውስታ ውስጥ ከተገኘ ወደ እውነት የሚመለስ እንደ ቡሊያን ተለዋዋጭ ነው የሚወሰደው፣ እና በሌላ መልኩ ውሸት ነው። ከላይ ያለው ህግ string win.exe የያዙ ፋይሎች እና ሂደቶች እና ከሁለቱ ዩአርኤሎች አንዱ እንደ BadBoy (በደንቡ ስም) መመደብ እንዳለበት ይገልጻል።

5. ሄክሳዴሲማል ሕብረቁምፊዎች የበለጠ ተለዋዋጭ የሚያደርጋቸው ሶስት ግንባታዎችን ይፈቅዳሉ፡ የዱር ካርዶች፣ መዝለሎች እና አማራጮች። ተተኪዎች በሕብረቁምፊ ውስጥ የማይታወቁ እና በማንኛውም እሴት ሊተኩ የሚችሉ ቦታዎች ናቸው። “?” በሚለው ምልክት ተጠቁመዋል፡-

$hex_string = ( E2 34 ?? C8 A? FB )

ይህ አቀራረብ ርዝመታቸው የሚታወቅባቸውን ሕብረቁምፊዎች ሲገልጹ በጣም ምቹ ነው, ነገር ግን ይዘቱ ሊለያይ ይችላል. የሕብረቁምፊው ክፍል የተለያየ ርዝመት ሊኖረው የሚችል ከሆነ ክልሎችን ለመጠቀም ምቹ ነው፡-

$hex_string = ( F4 23 62 B4 )

ይህ ግቤት ማለት በመስመሩ መሃል ከ 4 እስከ 6 የተለያዩ ባይቶች ሊኖሩ ይችላሉ. እንዲሁም አማራጭ ምርጫን መተግበር ይችላሉ፡-

$hex_string = ( F4 23 (62 B4 | 56) 45 )

ይህ ማለት በሶስተኛው ባይት ምትክ 62 B4 ወይም 56 ሊኖር ይችላል, እንዲህ ዓይነቱ ግቤት ከ F42362B445 ወይም F4235645 መስመሮች ጋር ይዛመዳል.

6. ምን ለማየት የተሰጠው መስመርበፋይሉ ወይም በሂደቱ የአድራሻ ቦታ ላይ በተወሰነ ማካካሻ ላይ የሚገኘው ኦፕሬተር ጥቅም ላይ ይውላል፡-

$a በ100 እና $b በ200

ሕብረቁምፊው በተወሰነ የአድራሻ ክልል ውስጥ ሊሆን የሚችል ከሆነ ኦፕሬተሩ ጥቅም ላይ ይውላል፡-

$a በ (0..100) እና $b በ (100..fi lesize)

አንዳንድ ጊዜ ፋይሉ ከተሰጠው ስብስብ የተወሰነ ቁጥር መያዝ እንዳለበት መግለፅ ሲያስፈልግ ሁኔታዎች ይከሰታሉ። ይህ ኦፕሬተርን በመጠቀም ይከናወናል-

የምሳሌ1 ደንብ
{
ሕብረቁምፊዎች
$foo1 = "dummy1"
$foo2 = "dummy2"
$foo3 = "dummy3"
ሁኔታ፡
2 የ ($foo1፣$foo2፣$foo3)
}

ከላይ ያለው ህግ ፋይሉ ከስብስቡ ((foo1,$foo2,$foo3) ሁለት መስመሮችን እንዲይዝ ይፈልጋል። በፋይሉ ውስጥ የተወሰኑ የመስመሮች ብዛት ከመግለጽ ይልቅ ተለዋዋጮችን ማንኛውንም (ቢያንስ አንድ መስመር ከተሰጠው ስብስብ) እና ሁሉንም (ሁሉም መስመሮች ከተሰጠው ስብስብ) መጠቀም ይችላሉ።

7. ደህና ፣ ሊታሰብበት የሚገባው የመጨረሻው አስደሳች ዕድል አንድ ሁኔታን ለብዙ ረድፎች መተግበር ነው። ይህ ባህሪ ከኦፕሬተር ጋር በጣም ተመሳሳይ ነው፣ የበለጠ ሀይለኛው ለ.ኦፕሬተር ብቻ ነው፡-

ለstring_set አገላለጽ፡ (ቦሊያን_ኤክስፕሬሽን)

ይህ ግቤት እንደዚህ መነበብ አለበት፡ በ string_ ስብስብ ውስጥ ከተገለጹት ሕብረቁምፊዎች ውስጥ፣ ቢያንስ የገለጻ ክፍሎች የቦሊያን_መግለጫ ሁኔታን ማሟላት አለባቸው። ወይም፣ በሌላ አነጋገር፡ የቦሊያን_አገላለፅ በstring_set ውስጥ ላለው እያንዳንዱ ሕብረቁምፊ ይገመገማል፣ እና የነሱ አገላለጾች እውነትን መመለስ አለባቸው። በመቀጠል ይህንን ግንባታ አንድ የተወሰነ ምሳሌ በመጠቀም እንመለከታለን.

ፒኢዲ ማድረግ

ስለዚህ ፣ ሁሉም ነገር ከህጎቹ ጋር የበለጠ ወይም ያነሰ ግልፅ ከሆነ ፣ በፕሮጀክታችን ውስጥ የፓከር እና ክሪፕቶር መፈለጊያ መተግበር እንጀምራለን ። መጀመሪያ ላይ፣ እንደ ምንጭ ማቴሪያል፣ የታወቁ ፓኬጆችን ፊርማ ከተመሳሳይ PEiD ወሰድኩ። በተሰኪዎች አቃፊ ውስጥ የምንፈልገውን የያዘ ፋይል userdb.txt አለ። በእኔ የውሂብ ጎታ ውስጥ 1850 ፊርማዎች ነበሩ።

በጣም ብዙ ፣ ስለዚህ እነሱን ሙሉ በሙሉ ለማስመጣት ፣ አንድ ዓይነት ስክሪፕት እንዲጽፉ እመክርዎታለሁ። የዚህ የውሂብ ጎታ ቅርጸት ቀላል ነው - የተለመደው ጥቅም ላይ ይውላል የጽሑፍ ፋይልመዝገቦችን የሚያከማች፣ እንደ፡-


ፊርማ = 50 E8 ?? ?? ?? ?? 58 25 ?? F0 FF FF 8B C8 83 C1 60 51 83 C0 40 83 EA 06 52 FF 20 9D C3
ep_only = እውነት

የመጀመሪያው መስመር የፓከርን ስም ይገልፃል, እሱም በ PEiD ውስጥ ይታያል, ለእኛ ግን ደንብ መለያ ይሆናል. ሁለተኛው ፊርማው ራሱ ነው. ሶስተኛው የep_only ባንዲራ ነው፣ እሱም የተሰጠውን መስመር በመግቢያ ነጥቡ አድራሻ ብቻ መፈለግ አለመፈለጉን ወይም በአጠቃላይ ፋይሉን በሙሉ ያሳያል።

ደህና ፣ ለ ASPack እንበል ፣ ደንብ ለመፍጠር እንሞክር? እንደ ተለወጠ, በዚህ ውስጥ ምንም የተወሳሰበ ነገር የለም. በመጀመሪያ, ህጎቹን ለማከማቸት ፋይል እንፍጠር እና ለምሳሌ, packers.yara ብለን እንጠራዋለን. ከዚያ የ PEiD ዳታቤዝ በስማቸው ውስጥ ASPackን ያካተቱ ፊርማዎችን ፈልገን ወደ ደንቡ እናስተላልፋለን።

ደንብ ASPack
{
ሕብረቁምፊዎች
$ = ( 60 E8 ?? ????
$ = ( 60 ኢቢ ?? 5D ኢቢ ?? FF ???????
[... ተቆርጧል..]
$ = ( 60 E8 03 00 00 00 E9 EB 04 5D 45 55 C3 E8 01 )
ሁኔታ፡
ለማንኛቸውም: (በመግቢያ ቦታ)
}

ሁሉም የተገኙ መዝገቦች የኢፒ_ብቻ ባንዲራ ወደ እውነት ተቀናብሯል፣ ማለትም፣ እነዚህ መስመሮች በመግቢያ ነጥብ አድራሻ ላይ መቀመጥ አለባቸው። ስለዚህ, የሚከተለውን ሁኔታ እንጽፋለን: "ለማንኛቸውም: ($ በመግቢያ ቦታ)".

ስለዚህ, ከተሰጡት መስመሮች ውስጥ ቢያንስ አንዱ በመግቢያ ነጥብ አድራሻ ላይ መገኘቱ ፋይሉ በ ASPack የተሞላ ነው ማለት ነው. እባክዎ በ ውስጥ መሆኑንም ልብ ይበሉ ይህ ደንብሁሉም ሕብረቁምፊዎች በቀላሉ የ$ ምልክትን በመጠቀም ነው የተገለጹት፣ ያለ መለያ። ይህ ሊሆን የቻለው በሁኔታው ክፍል ውስጥ የትኛውንም የተለየ አንደርስም, ነገር ግን ሙሉውን ስብስብ ይጠቀሙ.

የውጤቱን ስርዓት ተግባራዊነት ለመፈተሽ ትዕዛዙን በኮንሶሉ ውስጥ ብቻ ያሂዱ፡-

$ yara -r packers.yara somefi le.exe

እዚያ ከ ASPack ጋር የታሸጉ ሁለት መተግበሪያዎችን ከመገብኩ በኋላ ሁሉም ነገር እንደሰራ እርግጠኛ ነበርኩ!

ዝግጁ ፕሮቶታይፕ

YARA በጣም ግልጽ እና ግልጽ መሳሪያ ሆኖ ተገኝቷል። ለእሱ webadmin መጻፍ እና እንደ የድር አገልግሎት እንድሰራ ማዋቀር ለእኔ ከባድ አልነበረም። በትንሽ ፈጠራ ፣ የተተነተነው ደረቅ ውጤት ቀድሞውኑ በተለያዩ ቀለሞች ያሸበረቀ ነው ፣ ይህም የተገኘውን የማልዌር አደጋ መጠን ያሳያል። የመረጃ ቋቱ ትንሽ ዝማኔ እና ለብዙዎቹ ክሪፕቶርቶች አጭር መግለጫ እና አንዳንዴም የማሸግ መመሪያዎች አሉ። ምሳሌው ተፈጥሯል እና በትክክል ይሰራል ፣ እና አለቆቹ በደስታ እየጨፈሩ ነው!

ጽንሰ-ሐሳብ " አስማት ቁጥር"በፕሮግራም አወጣጥ ውስጥ ሦስት ትርጉሞች አሉት።

  • የውሂብ ፊርማ
  • እንደ ሌሎች እሴቶች (እንደ UUID ያሉ) ተመሳሳይ መሆን የሌለባቸው የተመረጡ ልዩ እሴቶች
  • መጥፎ የፕሮግራም አሠራር.

የውሂብ ፊርማ

አስማት ቁጥር, ወይም ፊርማ, - ኢንቲጀር ወይም ቋሚ የጽሑፍ ቋሚ ሀብት ወይም ውሂብ ለመለየት ጥቅም ላይ ይውላል። እንዲህ ዓይነቱ ቁጥር በራሱ ምንም ትርጉም የለውም እና በፕሮግራሙ ኮድ ውስጥ ከተገቢው አውድ ወይም አስተያየት ውጭ ከታየ ግራ መጋባትን ሊያስከትል ይችላል, ወደ ሌላ ለመለወጥ መሞከር, ሌላው ቀርቶ በዋጋ ቅርበት ያለው, ሙሉ በሙሉ ወደማይታወቅ ውጤት ሊያመራ ይችላል. በዚህ ምክንያት, እንደዚህ ያሉ ቁጥሮች በሚያስገርም ሁኔታ አስማት ቁጥሮች ይባላሉ. በአሁኑ ጊዜ, ይህ ስም እንደ ቃል በጥብቅ የተመሰረተ ነው. ለምሳሌ፣ ማንኛውም የተጠናቀረ የጃቫ ቋንቋ ክፍል የሚጀምረው በሄክሳዴሲማል “አስማት ቁጥር” 0xCAFEBABE ነው። ሁለተኛው በሰፊው የሚታወቀው ምሳሌ ማንኛውም የ OS executable ፋይል ነው። ማይክሮሶፍት ዊንዶውስበቅጥያው .exe በባይት ቅደም ተከተል 0x4D5A ይጀምራል (ይህም ከ ASCII ቁምፊዎች MZ ጋር ይዛመዳል - የ MS-DOS ፈጣሪዎች አንዱ የሆነው የማርቆስ Zbikowski የመጀመሪያ ፊደላት). ትንሽ የሚታወቀው ምሳሌ የማይክሮሶፍት ቪዥዋል ሲ++ (ከ2005 ጀምሮ) ውስጥ ያልታወቀ ጠቋሚ ነው። የማይክሮሶፍት ስሪቶችቪዥዋል ስቱዲዮ)፣ እሱም በአራሚ ሁነታ አድራሻው 0xDEADBEEF ነው።

በ UNIX መሰል ስርዓተ ክወናዎችየስሙ ማራዘሚያ ምንም ይሁን ምን የፋይሉ አይነት ብዙውን ጊዜ በፋይል ፊርማ ይወሰናል. የፋይል ፊርማውን ለመተርጎም መደበኛ የፋይል መገልገያ ይሰጣሉ.

መጥፎ የፕሮግራም አሠራር

በተጨማሪም "አስማት ቁጥሮች" ተብሎ የሚጠራው መጥፎ የፕሮግራም አወጣጥ ልምምድ ነው, የቁጥር እሴት በምንጭ ጽሑፍ ውስጥ ሲከሰት እና ምን ማለት እንደሆነ ግልጽ አይደለም. ለምሳሌ፣ በጃቫ የተጻፈ እንደዚህ ያለ ቅንጣቢ መጥፎ ይሆናል፡-

drawSprite (53, 320, 240);

የመጨረሻ int SCREEN_WIDTH = 640;

የመጨረሻ int SCREEN_HEIGHT = 480;

የመጨረሻ int SCREEN_X_CENTER = SCREEN_WIDTH / 2;

  • የመጨረሻ int SCREEN_Y_CENTER = SCREEN_HEIGHT / 2;
  • የመጨረሻ int SPRIT_CROSSHAIR = 53;
  • ... drawSprite(SPRITE_CROSSHAIR፣ SCREEN_X_CENTER፣ SCREEN_Y_CENTER);
  • አሁን ግልጽ ነው-ይህ መስመር በስክሪኑ መሃል ላይ ስፕሪት - የእይታ መስቀለኛ መንገድ ያሳያል። በአብዛኛዎቹ የፕሮግራም አወጣጥ ቋንቋዎች ለእንደዚህ ዓይነቶቹ ቋሚዎች ጥቅም ላይ የሚውሉ ሁሉም እሴቶች በተጠናቀረ ጊዜ ይሰላሉ እና እሴቶቹ ጥቅም ላይ በሚውሉባቸው ቦታዎች ይተካሉ ። ስለዚህ, በምንጭ ጽሁፍ ላይ እንዲህ ዓይነቱ ለውጥ የፕሮግራሙን አፈፃፀም አያዋርድም.

በተጨማሪም አስማታዊ ቁጥሮች በፕሮግራሙ ውስጥ ሊሆኑ የሚችሉ የስህተት ምንጭ ናቸው፡-

አንዳንድ ጊዜ አስማታዊ ቁጥሮች የመድረክ ኮድን ይጎዳሉ። እውነታው ግን በ C ውስጥ በ 32 እና 64 ቢት ኦፕሬቲንግ ሲስተሞች ላይ የቻር መጠን, አጭር እና ረጅም ረጅም ዓይነቶች ዋስትና ተሰጥቷቸዋል, የ int, ረጅም, መጠን_t እና ptrdiff_t መጠን ሊለወጥ ይችላል (ለመጀመሪያዎቹ ሁለት, እንደ ኮምፕሌተር ገንቢዎች ምርጫዎች, ለመጨረሻዎቹ ሁለት - እንደ ዒላማው ስርዓት ትንሽ አቅም ይወሰናል). በአሮጌ ወይም በደንብ ባልተፃፈ ኮድ ውስጥ የአንድን አይነት መጠን የሚያመለክቱ “አስማታዊ ቁጥሮች” ሊኖሩ ይችላሉ - ወደ ሌላ ትንሽ አቅም ወደ ማሽኖች ሲዘዋወሩ ወደ ስውር ስህተቶች ሊመሩ ይችላሉ።

ለምሳሌ፡-

const size_t NUMBER_OF_ELEMENTS = 10; ረጅም a[NUMBER_OF_ELEMENTS]; memset (a, 0, 10 * 4); // የተሳሳተ - ረዥም 4 ባይት ነው ተብሎ ይታሰባል, የአስማት ቁጥር ንጥረ ነገሮች ጥቅም ላይ ይውላሉ memset(a, 0, NUMBER_OF_ELEMENTS * 4); // የተሳሳተ - ረዥም 4 ባይት ነው ተብሎ ይታሰባል memset (a, 0, NUMBER_OF_ELEMENTS * መጠን (ረጅም)); // ሙሉ በሙሉ ትክክል አይደለም - የአይነት ስም ማባዛት (አይነቱ ከተቀየረ እዚህም መቀየር አለብዎት) memset (a, 0, NUMBER_OF_ELEMENTS * መጠን (a [0])); // ትክክል፣ ዜሮ ላልሆኑ ተለዋዋጭ ድርድሮች ምርጥ

memset(a, 0, sizeof(a));

// ትክክል፣ ለስታቲክ ድርድሮች በጣም ጥሩ