.DOC íì¼ì´ë?
íì¥ìê° .docì¸ íì¼ì Microsoft Word ëë 기í ìë íë¡ì¸ì± 문ììì ìì±ë 문ì를 ë°ì´ë리 íì¼ íìì¼ë¡ ëíë ëë¤. íì¥ì ì²ìì ì¬ë¬ ì´ì ì²´ì ì ì¼ë° í ì¤í¸ 문ìì ì¬ì©ëììµëë¤. ì¬ê¸°ìë ì´ë¯¸ì§, ììì´ ì§ì ë ì¼ë° í ì¤í¸, ê·¸ëí, ì°¨í¸, í¬í¨ë ê°ì²´, ë§í¬, íì´ì§, íì´ì§ ìì, ì¸ì ì¤ì ë° ê¸°í ì¬ë¬ ê°ì§ ì íì ë°ì´í°ê° í¬í¨ë ì ììµëë¤. ì´ íìì 매ë´ì¼, ì ìì, ì¬ì, ì´ë ¥ì, ê¸°ì¬ ëë ì ì¬í 문ì를 ìì±í기 ìí´ ì¬ì©ììê² ì ê³µíë ë¤ìí ìµì ì¼ë¡ ì¸í´ 모ë ì¢ ë¥ì 문ìì ë리 ì¬ì©ëììµëë¤. DOCì ì ë°ì´í¸ë ë²ì ì DOCXì´ë©° ì¬ìì´ ê³µê°ë Office OpenXMLì 기ë°ì¼ë¡ í©ëë¤.
ê°ëµí ìì¬
Corelì ì íì¸ WordPerfectë ê³ ì íìì íì¥ì¼ë¡ DOC를 ì¬ì©íìµëë¤. 1980ë ëì WordPerfectë ì¬ì´ ê°ì©ì±, ëë¶ë¶ì ì»´í¨í° ìì¤í ë° ì´ì ì²´ì ìì ì í©ì±ì¼ë¡ ì¸í´ ëë¶ë¶ì ì»´í¨í°ìì ê³ì ì¬ì©ëììµëë¤. ê·¸ë¬ë WordPerfectë Microsoftê° ë¬¸ì íì¼ íìì ìí ì íì¼ë¡ Microsoft Word를 ëì íê³ ë ì íìì¼ë¡ DOC íì¥ì ì ííì ë Windows OSìì 몰ë½ì ë³´ììµëë¤. Microsoft Wordê° ì ì ë ëì¤íë¨ì ë°ë¼ DOC íì¼ íìì Microsoft Word 97 - 2003ìì ì¬ë¬ ê°ì ì 거쳤ìµëë¤. 기본 DOC íì¼ íìì´ Office Open XML íì(DOCXë¡ ìë ¤ì§)ì¼ë¡ ëì²´ëìê³ ì ë²ì ì Microsoft Wordë ì´ì ì´ ìë¡ì´ íì¥ì를 기본 íì¼ íìì¼ë¡ ì¬ì©í©ëë¤.
DOC íì¼ íì ì¬ì - ì¶ê° ì ë³´
Microsoftë 2008ë ê¹ì§ ì¤ë«ëì DOC íì¼ íì ì¬ìì ë°ííì§ ìììµëë¤. 2008ë 2ì Microsoft Open Specification Promiseì ë°ë¼ .doc íì¼ íìì ëí íì ì¬ìì´ ë°íëììµëë¤. ì¬ìì´ DOC íììì ì¬ì©íë 모ë 기ë¥ì ì¤ëª íì§ë ìì§ë§ ì´ íì¼ íìì¼ë¡ ìì íë ë° íìí ì§ìì ëí ì¶©ë¶í ì 보를 ì ê³µí©ëë¤. ê·¸ë¬ë ì¬ì© ê°ë¥í ì 보를 ì¬ì©íë ¤ë©´ 리ë²ì¤ ìì§ëì´ë§ì´ íìí©ëë¤. ì¬ìì ì¬ë¬ ë² ì ë°ì´í¸ëìì¼ë©° ìµì revisionì 2018ë 8ìì ì ë°ì´í¸ë 8.0ì ëë¤. .
ëª ê°ì§ 기본 ê°ë
DOCì íì¼ íì ì¬ìì ëí´ ìì¸í ìì보기 ì ì ì´ íì¼ íìì¼ë¡ ìì íë ¤ë©´ ëª ê°ì§ 기본 ê°ë ì ì´í´í´ì¼ í©ëë¤.
íì¼ ì ë³´ 기ë°(Fib): Fib 구조ë 문ìì ëí ì 보를 í¬í¨íê³ ë¬¸ì를 구ì±íë ë¤ìí ë¶ë¶ì ëí íì¼ í¬ì¸í°ë¥¼ ì§ì í©ëë¤. Fibë ê°ë³ ê¸¸ì´ êµ¬ì¡°ì ëë¤. í¬ê¸°ê° ê³ ì ë 기본 ë¶ë¶ì ì ì¸íê³ ëª¨ë ì¹ì ìì ë¤ì ì¹ì ì í¬ê¸°ë¥¼ ì§ì íë ê°ì íëê° ììµëë¤.
문ì ìì¹: CP ëë 문ì ìì¹ë 문ì í ì¤í¸ìì 문ìì 0ë¶í° ììíë ì¸ë±ì¤ ìí ì íë ë¶í¸ ìë 32ë¹í¸ ì ì를 ëíë ëë¤. íì¼ì ìë ê° ë¬¸ìì ìì¹ì í¬ê¸°ë ì§ì ê²ìí ì ìì¼ë©° 미리 ì§ì ë ìê³ ë¦¬ì¦ì ì¬ì©íì¬ ê³ì°í´ì¼ í©ëë¤. 문ìë ë¤ìê³¼ ê°ìµëë¤.
- 문ìì í ì¤í¸
- ê°ì£¼ ëë í ì¤í¸ ììì ê°ì ê°ì²´ì ìµì»¤
- ë¨ë½ ê¸°í¸ ë° í ì íìì ê°ì ì ì´ ë¬¸ì
PLC: PLC 구조ë ë°ì´í° ììì ë°°ì´ì´ ë¤ë°ë¥´ë CP ë°°ì´ì ëë¤. 모ë PLCì ë°ì´í° ììë 0ë°ì´í¸ ì´ìì ëì¼í í¬ê¸°ì¬ì¼ íë©°, ì´ë¬í ì´ì ë¡ CPì ìë ë°ì´í° ììì ìë³´ë¤ íë ë ë§ìì¼ í©ëë¤. PLC 구조ë ê° ì íì´ í´ë¹ ì íì ëí´ ì¤ë³µ CPê° íì©ëëì§ ì¬ë¶ë¥¼ ì§ì íë ìë¡ ë¤ë¥¸ ì íì ëë¤. PLC 구조ë ë¤ìì¼ë¡ 구ì±ë©ëë¤.
- aCP(ê°ë³ 길ì´): CP ììì ë°°ì´ì ëë¤. PLC 구조ì ê° ì íì CP ììì ì미ì íì© ë²ì를 ì§ì í©ëë¤.
- aData(ê°ë³ 길ì´): PLC 구조ì ê° ì íì ë°ì´í° ììì 구조ì ì미, ë°ì´í° ìì ìì ëí ì í ì¬í, í¬í¨ë ë°ì´í°ì ëí ì í ì¬íì ì§ì í©ëë¤. ëí ë°ì´í° ììì í´ë¹ CP ê°ì ê´ê³ë¥¼ ì§ì í©ëë¤.
ì í¨í ì í: .DOC íì¼ êµ¬ì±ì ì£¼ë¡ ë¤ìí CPë¡ ì¤ëª ë©ëë¤. ì´ë¬í ê²½ì° Microsoftìì ì¤ìí´ì¼ íë ì¬ë¬ ê·ì¹ì´ ììµëë¤.
STTB: STTBë í¤ëì ìì ë°°ì´ë¡ 구ì±ë 문ìì´ í ì´ë¸ì ëë¤. cData ê°ì ë°°ì´ì í¬í¨ë ììì ì를 ì§ì í©ëë¤.
ìì± ì ì¥ì: ìë íì¼ìë í ì¤í¸, ë¨ë½, í, 그림 ë° ì¹ì ê³¼ ê°ì ë¤ë¥¸ ììê° ìì ì ìì¼ë©° ê° ììë ê³ ì í ìì±ì ê°ì§ ì ììµëë¤. ì´ë¤ ìì±ì 기본ê°ê³¼ ë¤ë¥¸ ì ì¼ë¡ Word íì¼ì ì ì¥ë©ëë¤. ì´ë¬í ì°¨ì´ì ì ë¨ì¼ ìì± ìì ì(Sprm) ë° í´ë¹ í¼ì°ì°ìë¡ êµ¬ì±ë PR1ì ìí´ ì§ì ë©ëë¤. ìì© íë¡ê·¸ë¨ì Prl 목ë¡ì ì ì©íì¬ ìì±ì ìµì¢ ì§í©ì ê²°ì í ì ììµëë¤.
ìí¸ ë³´í¸: Word íì¼ë ìí¸ë¡ ë³´í¸í ì ìì¼ë©° ë¤ì ë©ì»¤ëì¦ ì¤ íë를 ì¬ì©í ì ììµëë¤.
- XOR ëë í
- Office ë°ì´ë리 문ì RC4 ìí¸í
- Office ë°ì´ë리 문ì RC4 CryptoAPI ìí¸í
FibBase.fEncrypted ë° FibBase.fObfuscationì´ ëª¨ë 1ì´ë©´ íì¼ì XOR ëë í를 ì¬ì©íì¬ ëë íë©ëë¤.
FibBase.fEncryptedê° 1ì´ê³ FibBase.fObfuscationì´ 0ì´ë©´ íì¼ì Office ë°ì´ë리 문ì RC4 ìí¸í ëë Office ë°ì´ë리 문ì RC4 CryptoAPI ìí¸í를 ì¬ì©íì¬ ìí¸íëë©°, EncryptionHeaderë í ì´ë¸ ì¤í¸ë¦¼ì 첫 ë²ì§¸ FibBase.lKey ë°ì´í¸ì ì ì¥ë©ëë¤. EncryptionHeader.EncryptionVersionInfoë íì¼ì ìí¸ííë ë° ì¬ì©ë ìí¸í ë©ì»¤ëì¦ì ì§ì í©ëë¤.
íì¼ êµ¬ì¡°
ìëì ì´ì§ Word íì¼ì ì¬ë¬ ì ì¥ìì ì¤í¸ë¦¼ì¼ë¡ 구ì±ë OLE ë³µí© íì¼ì ëë¤. ì´ë¬í ì ì¥ìì ì¤í¸ë¦¼ì ì°ê¸° ë° ì½ê¸°ë¥¼ ìí 매ê°ë³ì를 ì§ì íë ê³ ì í 구조ì í¬ê¸°ë¥¼ ê°ì§ê³ ììµëë¤. ì´ê²ë¤ì:
WordDocument ì¤í¸ë¦¼
ì´ ì¤í¸ë¦¼ìë íì¼ì ë¤ë¥¸ ë¶ë¶ìì 참조ëë 문ì í ì¤í¸ ë° ê¸°í ì ë³´ê° í¬í¨ë©ëë¤. ì¤í¸ë¦¼ìë íìì´ë©° ì¤íì 0ì ìì´ì¼ íë ìì ë¶ë¶ì FIB ì¸ì 미리 ì ìë êµ¬ì¡°ê° ììµëë¤. ì´ ì¤í¸ë¦¼ì 2147MBë³´ë¤ ì»¤ìë ì ë©ëë¤.
1TableStream ëë 0TableStream
ì´ì§ Word íì¼ìë 1Table ì¤í¸ë¦¼ ëë 0Table ì¤í¸ë¦¼ì¼ë¡ ìë ¤ì§ í ì´ë¸ ì¤í¸ë¦¼ì´ í¬í¨ë ì ììµëë¤. ì´ ì¤ ì ì´ë íëë 문ìì ìì´ì¼ í©ëë¤. ê·¸ë¬ë 문ìì 1Table ì¤í¸ë¦¼ê³¼ 0Table ì¤í¸ë¦¼ì´ 모ë í¬í¨ë ê²½ì° base.fWhichTblStmìì 참조íë ì¤í¸ë¦¼ë§ ì¬ì©ë©ëë¤. 참조ëì§ ìì ì¤í¸ë¦¼ì 무ìëì´ì¼ í©ëë¤(MUST). í ì´ë¸ ì¤í¸ë¦¼ì 2147MBë³´ë¤ ì»¤ìë ìë©ëë¤(MUST NOT).
ë°ì´í° ì¤í¸ë¦¼
ë°ì´í° ì¤í¸ë¦¼ìë ì¬ì ì ìë êµ¬ì¡°ê° ììµëë¤. ì¬ê¸°ìë FIB ëë íì¼ì ë¤ë¥¸ ë¶ë¶ìì 참조ëë ë°ì´í°ê° í¬í¨ë©ëë¤. ì´ ì¤í¸ë¦¼ì ëí ì°¸ì¡°ê° ìì¼ë©´ ì´ ì¤í¸ë¦¼ì´ ìì´ë ë©ëë¤. ë°ì´í° ì¤í¸ë¦¼ì 2147MBë³´ë¤ ì»¤ìë ì ë©ëë¤(MUST NOT).
ì¤ë¸ì í¸ í ì¤í 리ì§
ê°ì²´ í ì ì¥ììë í¬í¨ë OLE ê°ì²´ì ëí ì ì¥ìê° í¬í¨ë©ëë¤. 문ìì í¬í¨ë OLE ê°ì²´ê° ìì¼ë©´ ì´ ì ì¥ìê° ìì´ë ë©ëë¤.
ì¬ì©ì ì§ì XML ë°ì´í° ì ì¥ì
ì¬ì©ì ì§ì XML ë°ì´í° ì ì¥ìë ì´ë¦ì´ “MsoDataStore"ì¬ì¼ íë ì íì ì ì¥ìì ëë¤.
ìì½ ì ë³´ ì¤í¸ë¦¼
ìì½ ì ë³´ ì¤í¸ë¦¼ì ì´ë¦ì´ “\005SummaryInformation"ì´ì´ì¼ íë ì íì ì¤í¸ë¦¼ì ëë¤. ì¬ê¸°ì \005ë 문ìì´ ë¦¬í°ë´ “\005"ê° ìëë¼ ê°ì´ 0x0005ì¸ ë¬¸ìì ëë¤.
문ì ìì½ ì ë³´ ì¤í¸ë¦¼
문ì ìì½ ì ë³´ ì¤í¸ë¦¼ì ì´ë¦ì´ “\005DocumentSummaryInformation"ì´ì´ì¼ íë ì íì ì¤í¸ë¦¼ì ëë¤. ì¬ê¸°ì \005ë 문ìì´ ë¦¬í°ë´ “\005"ê° ìëë¼ ê°ì´ 0x0005ì¸ ë¬¸ìì ëë¤.
ìí¸í ì¤í¸ë¦¼
ìí¸í ì¤í¸ë¦¼ì ì´ë¦ì´ “ìí¸í"ì¬ì¼ íë ì íì ì¤í¸ë¦¼ì ëë¤. ì´ ì¤í¸ë¦¼ì ë¤ì ì¡°ê±´ì´ ëª¨ë 충족ëì§ ìë í ì¡´ì¬í´ìë ì ë©ëë¤(MUST NOT).
- 문ìë Office Binary Document RC4 CryptoAPI ìí¸íë¡ ìí¸íë©ëë¤.
- fDocProps ê°ì EncryptionHeader.Flagsì ì¤ì ë©ëë¤.
매í¬ë¡ ì ì¥ì
매í¬ë¡ ì ì¥ìë íì¼ì ëí 매í¬ë¡ë¥¼ í¬í¨íë ì íì ì ì¥ìì ëë¤. ìë ê²½ì° íë¡ì í¸ ë£¨í¸ ì ì¥ìì¬ì¼ í©ëë¤.
XML ìëª ì ì¥ì
XML ìëª ì ì¥ìë ì´ë¦ì´ “_xmlsignatures"ì¬ì¼ íë ì íì ì ì¥ìì ëë¤.
ìëª ì¤í¸ë¦¼
ìëª ì¤í¸ë¦¼ì ì´ë¦ì´ “_signatures"ì¬ì¼ íë ì íì ì¤í¸ë¦¼ì ëë¤. ì´ ì¤í¸ë¦¼ìë ëì§í¸ ìëª ì´ í¬í¨ëì´ ììµëë¤.
ì ë³´ ê¶í ê´ë¦¬ ë°ì´í° ê³µê° ì¤í 리ì§
ì ë³´ ê¶í ê´ë¦¬ ë°ì´í° ê³µê° ì ì¥ìë ì´ë¦ì´ “\006DataSpaces"ì¬ì¼ íë ì íì ì ì¥ìì ëë¤. ì¬ê¸°ì \006ì 문ìì´ ë¦¬í°ë´ “\006"ì´ ìëë¼ ê°ì´ 0x0006ì¸ ë¬¸ìì ëë¤. ì´ ì ì¥ìê° ìë ê²½ì° ë³´í¸ ì½í ì¸ ì¤í¸ë¦¼ë ìì´ì¼ í©ëë¤(MUST). ì´ ì ì¥ìê° ìë ê²½ì° ì´ ì ì¥ì ë° ë³´í¸ë ì½í ì¸ ì¤í¸ë¦¼ì ì ì¸í 모ë ì§ì ë ì¤í¸ë¦¼ ë° ì ì¥ìë [MS-OFFCRYPTO]ì ì§ì ë ëë¡ ë³´í¸ë ì½í ì¸ ì¤í¸ë¦¼ìì ì½ì´ì¼ íë©° ì´ë¬í ì¤í¸ë¦¼ ë° ì ì¥ìê° ë³´í¸ë ì½í ì¸ ì¸ë¶ì ì¡´ì¬íë ê²½ì° ì¤í¸ë¦¼, ê·¸ë¤ì 무ìëì´ì¼ í©ëë¤.
ë³´í¸ë ì½í ì¸ ì¤í¸ë¦¼
ë³´í¸ë ì½í ì¸ ì¤í¸ë¦¼ì ì´ë¦ì´ “\009DRMContent"ì¬ì¼ íë ì íì ì¤í¸ë¦¼ì ëë¤. ì¬ê¸°ì \009ë 문ìì´ ë¦¬í°ë´ “\009"ê° ìëë¼ ê°ì´ 0x0009ì¸ ë¬¸ìì ëë¤. ì´ ì¤í¸ë¦¼ì´ ìì¼ë©´ ì ë³´ ê¶í ê´ë¦¬ ë°ì´í° ê³µê° ì ì¥ìë ìì´ì¼ í©ëë¤(MUST).