SYMBOL INDEX (192 symbols across 19 files) FILE: msoffcrypto/__init__.py function OfficeFile (line 8) | def OfficeFile(file): FILE: msoffcrypto/__main__.py function _get_version (line 15) | def _get_version(): function ifWIN32SetBinary (line 26) | def ifWIN32SetBinary(io): function is_encrypted (line 34) | def is_encrypted(file): function main (line 61) | def main(): FILE: msoffcrypto/exceptions/__init__.py class FileFormatError (line 1) | class FileFormatError(Exception): class ParseError (line 7) | class ParseError(Exception): class DecryptionError (line 13) | class DecryptionError(Exception): class EncryptionError (line 19) | class EncryptionError(Exception): class InvalidKeyError (line 25) | class InvalidKeyError(DecryptionError): FILE: msoffcrypto/format/base.py class BaseOfficeFile (line 8) | class BaseOfficeFile(ABC): method __init__ (line 9) | def __init__(self): method load_key (line 13) | def load_key(self): method decrypt (line 17) | def decrypt(self, outfile): method is_encrypted (line 21) | def is_encrypted(self) -> bool: FILE: msoffcrypto/format/common.py function _parse_encryptionheader (line 10) | def _parse_encryptionheader(blob): function _parse_encryptionverifier (line 36) | def _parse_encryptionverifier(blob, algorithm: str): function _parse_header_RC4CryptoAPI (line 62) | def _parse_header_RC4CryptoAPI(encryptionHeader): FILE: msoffcrypto/format/doc97.py function _parseFibBase (line 57) | def _parseFibBase(blob): function _packFibBase (line 170) | def _packFibBase(fibbase): function _parseFib (line 244) | def _parseFib(blob): function _parse_header_RC4 (line 250) | def _parse_header_RC4(encryptionHeader): class Doc97File (line 263) | class Doc97File(base.BaseOfficeFile): method __init__ (line 279) | def __init__(self, file): method load_key (line 301) | def load_key(self, password=None): method decrypt (line 366) | def decrypt(self, outfile): method is_encrypted (line 488) | def is_encrypted(self): FILE: msoffcrypto/format/ooxml.py function _is_ooxml (line 20) | def _is_ooxml(file): function _parseinfo_standard (line 40) | def _parseinfo_standard(ole): function _parseinfo_agile (line 63) | def _parseinfo_agile(ole): function _parseinfo (line 114) | def _parseinfo(ole): class OOXMLFile (line 129) | class OOXMLFile(base.BaseOfficeFile): method __init__ (line 145) | def __init__(self, file): method load_key (line 181) | def load_key( method decrypt (line 247) | def decrypt(self, outfile, verify_integrity=False): method encrypt (line 297) | def encrypt(self, password, outfile): method is_encrypted (line 317) | def is_encrypted(self): FILE: msoffcrypto/format/ppt97.py function _parseRecordHeader (line 30) | def _parseRecordHeader(blob): function _packRecordHeader (line 53) | def _packRecordHeader(rh): function _parseCurrentUserAtom (line 96) | def _parseCurrentUserAtom(blob): function _packCurrentUserAtom (line 150) | def _packCurrentUserAtom(currentuseratom): function _parseCurrentUser (line 184) | def _parseCurrentUser(blob): function _packCurrentUser (line 190) | def _packCurrentUser(currentuser): function _parseUserEditAtom (line 220) | def _parseUserEditAtom(blob): function _packUserEditAtom (line 277) | def _packUserEditAtom(usereditatom): function _parsePersistDirectoryEntry (line 320) | def _parsePersistDirectoryEntry(blob): function _packPersistDirectoryEntry (line 346) | def _packPersistDirectoryEntry(directoryentry): function _parsePersistDirectoryAtom (line 377) | def _parsePersistDirectoryAtom(blob): function _packPersistDirectoryAtom (line 407) | def _packPersistDirectoryAtom(directoryatom): function _parseCryptSession10Container (line 422) | def _parseCryptSession10Container(blob): function construct_persistobjectdirectory (line 452) | def construct_persistobjectdirectory(data): class Ppt97File (line 511) | class Ppt97File(base.BaseOfficeFile): method __init__ (line 527) | def __init__(self, file): method __del__ (line 546) | def __del__(self): method load_key (line 554) | def load_key(self, password=None): method decrypt (line 607) | def decrypt(self, outfile): method is_encrypted (line 812) | def is_encrypted(self): FILE: msoffcrypto/format/xls97.py function _parse_header_RC4 (line 379) | def _parse_header_RC4(encryptionInfo): class _BIFFStream (line 392) | class _BIFFStream: method __init__ (line 393) | def __init__(self, data): method has_record (line 396) | def has_record(self, target): method skip_to (line 410) | def skip_to(self, target): method iter_record (line 421) | def iter_record(self): class Xls97File (line 431) | class Xls97File(base.BaseOfficeFile): method __init__ (line 451) | def __init__(self, file): method __del__ (line 467) | def __del__(self): method load_key (line 472) | def load_key(self, password=None): method decrypt (line 552) | def decrypt(self, outfile): method is_encrypted (line 649) | def is_encrypted(self): FILE: msoffcrypto/method/container/ecma376_encrypted.py function datetime2filetime (line 28) | def datetime2filetime(dt): class RedBlack (line 41) | class RedBlack: class DirectoryEntryType (line 46) | class DirectoryEntryType: class SectorTypes (line 55) | class SectorTypes: class DSPos (line 64) | class DSPos: class DefaultContent (line 81) | class DefaultContent: class Header (line 91) | class Header: method __init__ (line 95) | def __init__(self): method write_to (line 110) | def write_to(self, obuf): class DirectoryEntry (line 151) | class DirectoryEntry: method __init__ (line 152) | def __init__( method write_header_to (line 180) | def write_header_to(self, obuf): method write_filetime (line 220) | def write_filetime(self, obuf, ft): method Name (line 225) | def Name(self): method Name (line 229) | def Name(self, n): method CLSID (line 239) | def CLSID(self): method CLSID (line 243) | def CLSID(self, c): method LeftSiblingId (line 250) | def LeftSiblingId(self): method LeftSiblingId (line 254) | def LeftSiblingId(self, id): method RightSiblingId (line 259) | def RightSiblingId(self): method RightSiblingId (line 263) | def RightSiblingId(self, id): method ChildId (line 268) | def ChildId(self): method ChildId (line 272) | def ChildId(self, id): method _valid_id (line 276) | def _valid_id(self, id): class ECMA376EncryptedLayout (line 281) | class ECMA376EncryptedLayout: method __init__ (line 282) | def __init__(self, sectorSize): method fatPos (line 295) | def fatPos(self): method miniFatPos (line 299) | def miniFatPos(self): method directoryEntryPos (line 303) | def directoryEntryPos(self): method miniFatDataPos (line 307) | def miniFatDataPos(self): method contentSectorNum (line 311) | def contentSectorNum(self): method encryptionPackagePos (line 320) | def encryptionPackagePos(self): method totalSectors (line 324) | def totalSectors(self): method totalSize (line 328) | def totalSize(self): method offsetDirectoryEntries (line 332) | def offsetDirectoryEntries(self): method offsetMiniFatData (line 336) | def offsetMiniFatData(self): method offsetFat (line 340) | def offsetFat(self): method offsetMiniFat (line 344) | def offsetMiniFat(self): method offsetDifat (line 347) | def offsetDifat(self, n): method offsetData (line 350) | def offsetData(self, startingSectorLocation): method offsetMiniData (line 353) | def offsetMiniData(self, startingSectorLocation): class ECMA376Encrypted (line 357) | class ECMA376Encrypted: method __init__ (line 358) | def __init__(self, encryptedPackage=b"", encryptionInfo=b""): method write_to (line 364) | def write_to(self, obuf): method set_payload (line 378) | def set_payload(self, encryptedPackage, encryptionInfo): method _get_default_header (line 382) | def _get_default_header(self): method _get_directory_entries (line 385) | def _get_directory_entries(self): method _write_to (line 484) | def _write_to(self, obuf): method _write_directory_entries (line 523) | def _write_directory_entries(self, obuf, layout: ECMA376EncryptedLayout): method _write_Content (line 535) | def _write_Content(self, obuf, layout: ECMA376EncryptedLayout): method _write_FAT_start (line 547) | def _write_FAT_start(self, obuf, layout: ECMA376EncryptedLayout): method _write_MiniFAT (line 561) | def _write_MiniFAT(self, obuf, layout: ECMA376EncryptedLayout): method _write_FAT (line 567) | def _write_FAT(self, obuf, entries, blockSize): method _write_DIFAT (line 602) | def _write_DIFAT(self, obuf, layout: ECMA376EncryptedLayout): method _detect_sector_num (line 627) | def _detect_sector_num(self, layout: ECMA376EncryptedLayout): method _set_sector_locations_of_streams (line 656) | def _set_sector_locations_of_streams(self, layout: ECMA376EncryptedLay... method _get_MiniFAT_sector_number (line 696) | def _get_MiniFAT_sector_number(self, size): method _get_block_num (line 699) | def _get_block_num(self, x, block): FILE: msoffcrypto/method/ecma376_agile.py function _random_buffer (line 39) | def _random_buffer(sz): function _get_num_blocks (line 43) | def _get_num_blocks(sz, block): function _round_up (line 47) | def _round_up(sz, block): function _resize_buffer (line 51) | def _resize_buffer(buf, n, c=b"\0"): function _normalize_key (line 58) | def _normalize_key(key, n): function _get_hash_func (line 62) | def _get_hash_func(algorithm): function _decrypt_aes_cbc (line 66) | def _decrypt_aes_cbc(data, key, iv): function _encrypt_aes_cbc (line 73) | def _encrypt_aes_cbc(data, key, iv): function _encrypt_aes_cbc_padded (line 82) | def _encrypt_aes_cbc_padded(data, key, iv, blockSize): function _get_salt (line 91) | def _get_salt(salt_value=None, salt_size=16): class ECMA376AgileCipherParams (line 104) | class ECMA376AgileCipherParams: method __init__ (line 105) | def __init__(self): function _enc64 (line 115) | def _enc64(b): class ECMA376AgileEncryptionInfo (line 119) | class ECMA376AgileEncryptionInfo: method __init__ (line 120) | def __init__(self): method getEncryptionDescriptorHeader (line 131) | def getEncryptionDescriptorHeader(self): method toEncryptionDescriptor (line 135) | def toEncryptionDescriptor(self): function _generate_iv (line 156) | def _generate_iv(params: ECMA376AgileCipherParams, blkKey, salt_value): class ECMA376Agile (line 165) | class ECMA376Agile: method __init__ (line 166) | def __init__(self): method _derive_iterated_hash_from_password (line 170) | def _derive_iterated_hash_from_password( method _derive_encryption_key (line 193) | def _derive_encryption_key(h, blockKey, hashAlgorithm, keyBits): method decrypt (line 206) | def decrypt(key, keyDataSalt, hashAlgorithm, ibuf): method encrypt (line 246) | def encrypt(key, ibuf, salt_value=None, spin_count=100000): method get_encryption_information (line 271) | def get_encryption_information( method generate_encryption_parameters (line 292) | def generate_encryption_parameters(key, salt_value=None, spin_count=10... method encrypt_payload (line 359) | def encrypt_payload(ibuf, params: ECMA376AgileCipherParams, secret_key... method generate_integrity_parameter (line 402) | def generate_integrity_parameter( method verify_password (line 423) | def verify_password( method verify_integrity (line 469) | def verify_integrity( method makekey_from_privkey (line 500) | def makekey_from_privkey(privkey, encryptedKeyValue): method makekey_from_password (line 508) | def makekey_from_password( FILE: msoffcrypto/method/ecma376_extensible.py class ECMA376Extensible (line 1) | class ECMA376Extensible: method __init__ (line 2) | def __init__(self): FILE: msoffcrypto/method/ecma376_standard.py class ECMA376Standard (line 13) | class ECMA376Standard: method __init__ (line 14) | def __init__(self): method decrypt (line 18) | def decrypt(key, ibuf): method verifykey (line 35) | def verifykey(key, encryptedVerifier, encryptedVerifierHash): method makekey_from_password (line 57) | def makekey_from_password( FILE: msoffcrypto/method/rc4.py function _makekey (line 21) | def _makekey(password, salt, block): class DocumentRC4 (line 45) | class DocumentRC4: method __init__ (line 46) | def __init__(self): method verifypw (line 50) | def verifypw(password, salt, encryptedVerifier, encryptedVerifierHash): method decrypt (line 73) | def decrypt(password, salt, ibuf, blocksize=0x200): FILE: msoffcrypto/method/rc4_cryptoapi.py function _makekey (line 22) | def _makekey(password, salt, keyLength, block, algIdHash=0x00008004): class DocumentRC4CryptoAPI (line 38) | class DocumentRC4CryptoAPI: method __init__ (line 39) | def __init__(self): method verifypw (line 43) | def verifypw( method decrypt (line 67) | def decrypt(password, salt, keySize, ibuf, blocksize=0x200, block=0): FILE: msoffcrypto/method/xor_obfuscation.py function _makekey (line 10) | def _makekey(password, salt, block): class DocumentXOR (line 34) | class DocumentXOR: method __init__ (line 35) | def __init__(self): method verifypw (line 182) | def verifypw(password, verificationBytes): method xor_ror (line 216) | def xor_ror(byte1, byte2): method create_xor_key_method1 (line 220) | def create_xor_key_method1(password): method create_xor_array_method1 (line 237) | def create_xor_array_method1(password): method ror (line 306) | def ror(n, rotations, width): method rol (line 310) | def rol(n, rotations, width): method decrypt (line 314) | def decrypt(password, ibuf, plaintext, records, base): FILE: tests/test_cli.py class CLITest (line 5) | class CLITest(unittest.TestCase): method test_cli (line 6) | def test_cli(self): FILE: tests/test_compare_known_output.py class KnownOutputCompare (line 49) | class KnownOutputCompare(unittest.TestCase): method test_known_output (line 52) | def test_known_output(self): FILE: tests/test_file_handle.py class FileHandleTest (line 13) | class FileHandleTest(unittest.TestCase): method test_file_handle_open (line 16) | def test_file_handle_open(self):