diff --git a/capa/render/proto/__init__.py b/capa/render/proto/__init__.py index 58486f43..0b43f2c1 100644 --- a/capa/render/proto/__init__.py +++ b/capa/render/proto/__init__.py @@ -502,27 +502,36 @@ def metadata_from_pb2(meta: capa_pb2.Metadata) -> rd.Metadata: rules=tuple(meta.analysis.rules), base_address=addr_from_pb2(meta.analysis.base_address), layout=rd.Layout( - functions=[ - rd.FunctionLayout( - address=addr_from_pb2(f.address), - matched_basic_blocks=[ - rd.BasicBlockLayout(address=addr_from_pb2(bb.address)) for bb in f.matched_basic_blocks - ], - ) - for f in meta.analysis.layout.functions - ] + functions=tuple( + [ + rd.FunctionLayout( + address=addr_from_pb2(f.address), + matched_basic_blocks=tuple( + [ + rd.BasicBlockLayout(address=addr_from_pb2(bb.address)) + for bb in f.matched_basic_blocks + ] + ), + ) + for f in meta.analysis.layout.functions + ] + ) ), feature_counts=rd.FeatureCounts( file=meta.analysis.feature_counts.file, - functions=[ - rd.FunctionFeatureCount(address=addr_from_pb2(f.address), count=f.count) - for f in meta.analysis.feature_counts.functions - ], + functions=tuple( + [ + rd.FunctionFeatureCount(address=addr_from_pb2(f.address), count=f.count) + for f in meta.analysis.feature_counts.functions + ] + ), + ), + library_functions=tuple( + [ + rd.LibraryFunction(address=addr_from_pb2(lf.address), name=lf.name) + for lf in meta.analysis.library_functions + ] ), - library_functions=[ - rd.LibraryFunction(address=addr_from_pb2(lf.address), name=lf.name) - for lf in meta.analysis.library_functions - ], ), ) @@ -585,13 +594,13 @@ def feature_from_pb2(f: capa_pb2.FeatureNode) -> frzf.Feature: return frzf.ExportFeature(export=ff.export, description=ff.description or None) elif type_ == "import_": ff = f.import_ - return frzf.ImportFeature(import_=ff.import_, description=ff.description or None) + return frzf.ImportFeature(import_=ff.import_, description=ff.description or None) # type: ignore elif type_ == "section": ff = f.section return frzf.SectionFeature(section=ff.section, description=ff.description or None) elif type_ == "function_name": ff = f.function_name - return frzf.FunctionNameFeature(function_name=ff.function_name, description=ff.description or None) + return frzf.FunctionNameFeature(function_name=ff.function_name, description=ff.description or None) # type: ignore elif type_ == "substring": ff = f.substring return frzf.SubstringFeature(substring=ff.substring, description=ff.description or None) @@ -603,7 +612,7 @@ def feature_from_pb2(f: capa_pb2.FeatureNode) -> frzf.Feature: return frzf.StringFeature(string=ff.string, description=ff.description or None) elif type_ == "class_": ff = f.class_ - return frzf.ClassFeature(class_=ff.class_, description=ff.description or None) + return frzf.ClassFeature(class_=ff.class_, description=ff.description or None) # type: ignore elif type_ == "namespace": ff = f.namespace return frzf.NamespaceFeature(namespace=ff.namespace, description=ff.description or None) @@ -629,12 +638,12 @@ def feature_from_pb2(f: capa_pb2.FeatureNode) -> frzf.Feature: ff = f.operand_number return frzf.OperandNumberFeature( index=ff.index, operand_number=number_from_pb2(ff.operand_number), description=ff.description or None - ) + ) # type: ignore elif type_ == "operand_offset": ff = f.operand_offset return frzf.OperandOffsetFeature( index=ff.index, operand_offset=int_from_pb2(ff.operand_offset), description=ff.description or None - ) + ) # type: ignore elif type_ == "basic_block": ff = f.basic_block return frzf.BasicBlockFeature(description=ff.description or None) @@ -651,16 +660,16 @@ def match_from_pb2(match: capa_pb2.Match) -> rd.Match: return rd.Match( success=match.success, node=rd.StatementNode(statement=statement_from_pb2(match.statement)), - children=children, - locations=locations, + children=tuple(children), + locations=tuple(locations), captures={}, ) elif node_type == "feature": return rd.Match( success=match.success, node=rd.FeatureNode(feature=feature_from_pb2(match.feature)), - children=children, - locations=locations, + children=tuple(children), + locations=tuple(locations), captures={capture: tuple(map(addr_from_pb2, locs.address)) for capture, locs in match.captures.items()}, ) else: @@ -694,7 +703,8 @@ def maec_from_pb2(pb: capa_pb2.MaecMetadata) -> rd.MaecMetadata: malware_family=pb.malware_family or None, malware_category=pb.malware_category or None, malware_category_ov=pb.malware_category_ov or None, - ) + ) # type: ignore + # Mypy is unable to recognise arguments due to alias def rule_metadata_from_pb2(pb: capa_pb2.RuleMetadata) -> rd.RuleMetadata: @@ -711,7 +721,8 @@ def rule_metadata_from_pb2(pb: capa_pb2.RuleMetadata) -> rd.RuleMetadata: lib=pb.lib, is_subscope_rule=pb.is_subscope_rule, maec=maec_from_pb2(pb.maec), - ) + ) # type: ignore + # Mypy is unable to recognise `attack` and `is_subscope_rule` as arguments due to alias def doc_from_pb2(doc: capa_pb2.ResultDocument) -> rd.ResultDocument: diff --git a/capa/render/proto/capa_pb2.py b/capa/render/proto/capa_pb2.py index d4ca17d0..ad9dc304 100644 --- a/capa/render/proto/capa_pb2.py +++ b/capa/render/proto/capa_pb2.py @@ -6,132 +6,132 @@ from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x63\x61pa/render/proto/capa.proto\"Q\n\nAPIFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0b\n\x03\x61pi\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"l\n\x07\x41\x64\x64ress\x12\x1a\n\x04type\x18\x01 \x01(\x0e\x32\x0c.AddressType\x12\x15\n\x01v\x18\x02 \x01(\x0b\x32\x08.IntegerH\x00\x12%\n\x0ctoken_offset\x18\x03 \x01(\x0b\x32\r.Token_OffsetH\x00\x42\x07\n\x05value\"\xe4\x01\n\x08\x41nalysis\x12\x0e\n\x06\x66ormat\x18\x01 \x01(\t\x12\x0c\n\x04\x61rch\x18\x02 \x01(\t\x12\n\n\x02os\x18\x03 \x01(\t\x12\x11\n\textractor\x18\x04 \x01(\t\x12\r\n\x05rules\x18\x05 \x03(\t\x12\x1e\n\x0c\x62\x61se_address\x18\x06 \x01(\x0b\x32\x08.Address\x12\x17\n\x06layout\x18\x07 \x01(\x0b\x32\x07.Layout\x12&\n\x0e\x66\x65\x61ture_counts\x18\x08 \x01(\x0b\x32\x0e.FeatureCounts\x12+\n\x11library_functions\x18\t \x03(\x0b\x32\x10.LibraryFunction\"S\n\x0b\x41rchFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0c\n\x04\x61rch\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"`\n\nAttackSpec\x12\r\n\x05parts\x18\x01 \x03(\t\x12\x0e\n\x06tactic\x18\x02 \x01(\t\x12\x11\n\ttechnique\x18\x03 \x01(\t\x12\x14\n\x0csubtechnique\x18\x04 \x01(\t\x12\n\n\x02id\x18\x05 \x01(\t\"K\n\x11\x42\x61sicBlockFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"-\n\x10\x42\x61sicBlockLayout\x12\x19\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0b\x32\x08.Address\"U\n\x0c\x42ytesFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\r\n\x05\x62ytes\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"g\n\x15\x43haracteristicFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x16\n\x0e\x63haracteristic\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"V\n\x0c\x43lassFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06\x63lass_\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"K\n\x11\x43ompoundStatement\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"W\n\rExportFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06\x65xport\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"G\n\rFeatureCounts\x12\x0c\n\x04\x66ile\x18\x01 \x01(\x04\x12(\n\tfunctions\x18\x02 \x03(\x0b\x32\x15.FunctionFeatureCount\"\xf7\x06\n\x0b\x46\x65\x61tureNode\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x18\n\x02os\x18\x02 \x01(\x0b\x32\n.OSFeatureH\x00\x12\x1c\n\x04\x61rch\x18\x03 \x01(\x0b\x32\x0c.ArchFeatureH\x00\x12 \n\x06\x66ormat\x18\x04 \x01(\x0b\x32\x0e.FormatFeatureH\x00\x12\x1e\n\x05match\x18\x05 \x01(\x0b\x32\r.MatchFeatureH\x00\x12\x30\n\x0e\x63haracteristic\x18\x06 \x01(\x0b\x32\x16.CharacteristicFeatureH\x00\x12 \n\x06\x65xport\x18\x07 \x01(\x0b\x32\x0e.ExportFeatureH\x00\x12!\n\x07import_\x18\x08 \x01(\x0b\x32\x0e.ImportFeatureH\x00\x12\"\n\x07section\x18\t \x01(\x0b\x32\x0f.SectionFeatureH\x00\x12-\n\rfunction_name\x18\n \x01(\x0b\x32\x14.FunctionNameFeatureH\x00\x12&\n\tsubstring\x18\x0b \x01(\x0b\x32\x11.SubstringFeatureH\x00\x12\x1e\n\x05regex\x18\x0c \x01(\x0b\x32\r.RegexFeatureH\x00\x12 \n\x06string\x18\r \x01(\x0b\x32\x0e.StringFeatureH\x00\x12\x1f\n\x06\x63lass_\x18\x0e \x01(\x0b\x32\r.ClassFeatureH\x00\x12&\n\tnamespace\x18\x0f \x01(\x0b\x32\x11.NamespaceFeatureH\x00\x12\x1a\n\x03\x61pi\x18\x10 \x01(\x0b\x32\x0b.APIFeatureH\x00\x12%\n\tproperty_\x18\x11 \x01(\x0b\x32\x10.PropertyFeatureH\x00\x12 \n\x06number\x18\x12 \x01(\x0b\x32\x0e.NumberFeatureH\x00\x12\x1e\n\x05\x62ytes\x18\x13 \x01(\x0b\x32\r.BytesFeatureH\x00\x12 \n\x06offset\x18\x14 \x01(\x0b\x32\x0e.OffsetFeatureH\x00\x12$\n\x08mnemonic\x18\x15 \x01(\x0b\x32\x10.MnemonicFeatureH\x00\x12/\n\x0eoperand_number\x18\x16 \x01(\x0b\x32\x15.OperandNumberFeatureH\x00\x12/\n\x0eoperand_offset\x18\x17 \x01(\x0b\x32\x15.OperandOffsetFeatureH\x00\x12)\n\x0b\x62\x61sic_block\x18\x18 \x01(\x0b\x32\x12.BasicBlockFeatureH\x00\x42\t\n\x07\x66\x65\x61ture\"W\n\rFormatFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06\x66ormat\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"@\n\x14\x46unctionFeatureCount\x12\x19\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0b\x32\x08.Address\x12\r\n\x05\x63ount\x18\x02 \x01(\x04\"\\\n\x0e\x46unctionLayout\x12\x19\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0b\x32\x08.Address\x12/\n\x14matched_basic_blocks\x18\x02 \x03(\x0b\x32\x11.BasicBlockLayout\"d\n\x13\x46unctionNameFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x15\n\rfunction_name\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"X\n\rImportFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0f\n\x07import_\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\",\n\x06Layout\x12\"\n\tfunctions\x18\x01 \x03(\x0b\x32\x0f.FunctionLayout\":\n\x0fLibraryFunction\x12\x19\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0b\x32\x08.Address\x12\x0c\n\x04name\x18\x02 \x01(\t\"Y\n\x07MBCSpec\x12\r\n\x05parts\x18\x01 \x03(\t\x12\x11\n\tobjective\x18\x02 \x01(\t\x12\x10\n\x08\x62\x65havior\x18\x03 \x01(\t\x12\x0e\n\x06method\x18\x04 \x01(\t\x12\n\n\x02id\x18\x05 \x01(\t\"\x9a\x01\n\x0cMaecMetadata\x12\x1b\n\x13\x61nalysis_conclusion\x18\x01 \x01(\t\x12\x1e\n\x16\x61nalysis_conclusion_ov\x18\x02 \x01(\t\x12\x16\n\x0emalware_family\x18\x03 \x01(\t\x12\x18\n\x10malware_category\x18\x04 \x01(\t\x12\x1b\n\x13malware_category_ov\x18\x05 \x01(\t\"\x82\x02\n\x05Match\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12#\n\tstatement\x18\x02 \x01(\x0b\x32\x0e.StatementNodeH\x00\x12\x1f\n\x07\x66\x65\x61ture\x18\x03 \x01(\x0b\x32\x0c.FeatureNodeH\x00\x12\x18\n\x08\x63hildren\x18\x05 \x03(\x0b\x32\x06.Match\x12\x1b\n\tlocations\x18\x06 \x03(\x0b\x32\x08.Address\x12&\n\x08\x63\x61ptures\x18\x07 \x03(\x0b\x32\x14.Match.CapturesEntry\x1a;\n\rCapturesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x19\n\x05value\x18\x02 \x01(\x0b\x32\n.Addresses:\x02\x38\x01\x42\x06\n\x04node\"U\n\x0cMatchFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\r\n\x05match\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"r\n\x08Metadata\x12\x11\n\ttimestamp\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x0c\n\x04\x61rgv\x18\x03 \x03(\t\x12\x17\n\x06sample\x18\x04 \x01(\x0b\x32\x07.Sample\x12\x1b\n\x08\x61nalysis\x18\x05 \x01(\x0b\x32\t.Analysis\"[\n\x0fMnemonicFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x10\n\x08mnemonic\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"]\n\x10NamespaceFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"`\n\rNumberFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x17\n\x06number\x18\x02 \x01(\x0b\x32\x07.Number\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"O\n\tOSFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\n\n\x02os\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"a\n\rOffsetFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x18\n\x06offset\x18\x02 \x01(\x0b\x32\x08.Integer\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"\x7f\n\x14OperandNumberFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\r\n\x05index\x18\x02 \x01(\r\x12 \n\x0eoperand_number\x18\x03 \x01(\x0b\x32\x08.Integer\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"\x7f\n\x14OperandOffsetFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\r\n\x05index\x18\x02 \x01(\r\x12 \n\x0eoperand_offset\x18\x03 \x01(\x0b\x32\x08.Integer\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"|\n\x0fPropertyFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x11\n\tproperty_\x18\x02 \x01(\t\x12\x13\n\x06\x61\x63\x63\x65ss\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\t\n\x07_accessB\x0e\n\x0c_description\"\x7f\n\x0eRangeStatement\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0b\n\x03min\x18\x02 \x01(\x04\x12\x0b\n\x03max\x18\x03 \x01(\x04\x12\x1b\n\x05\x63hild\x18\x04 \x01(\x0b\x32\x0c.FeatureNode\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"U\n\x0cRegexFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\r\n\x05regex\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"\x90\x01\n\x0eResultDocument\x12\x17\n\x04meta\x18\x01 \x01(\x0b\x32\t.Metadata\x12)\n\x05rules\x18\x02 \x03(\x0b\x32\x1a.ResultDocument.RulesEntry\x1a:\n\nRulesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1b\n\x05value\x18\x02 \x01(\x0b\x32\x0c.RuleMatches:\x02\x38\x01\"`\n\x0bRuleMatches\x12\x1b\n\x04meta\x18\x01 \x01(\x0b\x32\r.RuleMetadata\x12\x0e\n\x06source\x18\x02 \x01(\t\x12$\n\x07matches\x18\x03 \x03(\x0b\x32\x13.Pair_Address_Match\"\x8a\x02\n\x0cRuleMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x0f\n\x07\x61uthors\x18\x03 \x03(\t\x12\x15\n\x05scope\x18\x04 \x01(\x0e\x32\x06.Scope\x12\x1b\n\x06\x61ttack\x18\x05 \x03(\x0b\x32\x0b.AttackSpec\x12\x15\n\x03mbc\x18\x06 \x03(\x0b\x32\x08.MBCSpec\x12\x12\n\nreferences\x18\x07 \x03(\t\x12\x10\n\x08\x65xamples\x18\x08 \x03(\t\x12\x13\n\x0b\x64\x65scription\x18\t \x01(\t\x12\x0b\n\x03lib\x18\n \x01(\x08\x12\x1b\n\x04maec\x18\x0b \x01(\x0b\x32\r.MaecMetadata\x12\x18\n\x10is_subscope_rule\x18\x0c \x01(\x08\"A\n\x06Sample\x12\x0b\n\x03md5\x18\x01 \x01(\t\x12\x0c\n\x04sha1\x18\x02 \x01(\t\x12\x0e\n\x06sha256\x18\x03 \x01(\t\x12\x0c\n\x04path\x18\x04 \x01(\t\"Y\n\x0eSectionFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0f\n\x07section\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"V\n\rSomeStatement\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"\xbc\x01\n\rStatementNode\x12\x0c\n\x04type\x18\x01 \x01(\t\x12 \n\x05range\x18\x02 \x01(\x0b\x32\x0f.RangeStatementH\x00\x12\x1e\n\x04some\x18\x03 \x01(\x0b\x32\x0e.SomeStatementH\x00\x12&\n\x08subscope\x18\x04 \x01(\x0b\x32\x12.SubscopeStatementH\x00\x12&\n\x08\x63ompound\x18\x05 \x01(\x0b\x32\x12.CompoundStatementH\x00\x42\x0b\n\tstatement\"W\n\rStringFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06string\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"b\n\x11SubscopeStatement\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x15\n\x05scope\x18\x02 \x01(\x0e\x32\x06.Scope\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"]\n\x10SubstringFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x11\n\tsubstring\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"&\n\tAddresses\x12\x19\n\x07\x61\x64\x64ress\x18\x01 \x03(\x0b\x32\x08.Address\"F\n\x12Pair_Address_Match\x12\x19\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0b\x32\x08.Address\x12\x15\n\x05match\x18\x02 \x01(\x0b\x32\x06.Match\"7\n\x0cToken_Offset\x12\x17\n\x05token\x18\x01 \x01(\x0b\x32\x08.Integer\x12\x0e\n\x06offset\x18\x02 \x01(\x04\",\n\x07Integer\x12\x0b\n\x01u\x18\x01 \x01(\x04H\x00\x12\x0b\n\x01i\x18\x02 \x01(\x12H\x00\x42\x07\n\x05value\"8\n\x06Number\x12\x0b\n\x01u\x18\x01 \x01(\x04H\x00\x12\x0b\n\x01i\x18\x02 \x01(\x12H\x00\x12\x0b\n\x01\x66\x18\x03 \x01(\x01H\x00\x42\x07\n\x05value*\xcb\x01\n\x0b\x41\x64\x64ressType\x12\x1b\n\x17\x41\x44\x44RESSTYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14\x41\x44\x44RESSTYPE_ABSOLUTE\x10\x01\x12\x18\n\x14\x41\x44\x44RESSTYPE_RELATIVE\x10\x02\x12\x14\n\x10\x41\x44\x44RESSTYPE_FILE\x10\x03\x12\x18\n\x14\x41\x44\x44RESSTYPE_DN_TOKEN\x10\x04\x12\x1f\n\x1b\x41\x44\x44RESSTYPE_DN_TOKEN_OFFSET\x10\x05\x12\x1a\n\x16\x41\x44\x44RESSTYPE_NO_ADDRESS\x10\x06*p\n\x05Scope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x0e\n\nSCOPE_FILE\x10\x01\x12\x12\n\x0eSCOPE_FUNCTION\x10\x02\x12\x15\n\x11SCOPE_BASIC_BLOCK\x10\x03\x12\x15\n\x11SCOPE_INSTRUCTION\x10\x04\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x1c\x63\x61pa/render/proto/capa.proto"Q\n\nAPIFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0b\n\x03\x61pi\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"l\n\x07\x41\x64\x64ress\x12\x1a\n\x04type\x18\x01 \x01(\x0e\x32\x0c.AddressType\x12\x15\n\x01v\x18\x02 \x01(\x0b\x32\x08.IntegerH\x00\x12%\n\x0ctoken_offset\x18\x03 \x01(\x0b\x32\r.Token_OffsetH\x00\x42\x07\n\x05value"\xe4\x01\n\x08\x41nalysis\x12\x0e\n\x06\x66ormat\x18\x01 \x01(\t\x12\x0c\n\x04\x61rch\x18\x02 \x01(\t\x12\n\n\x02os\x18\x03 \x01(\t\x12\x11\n\textractor\x18\x04 \x01(\t\x12\r\n\x05rules\x18\x05 \x03(\t\x12\x1e\n\x0c\x62\x61se_address\x18\x06 \x01(\x0b\x32\x08.Address\x12\x17\n\x06layout\x18\x07 \x01(\x0b\x32\x07.Layout\x12&\n\x0e\x66\x65\x61ture_counts\x18\x08 \x01(\x0b\x32\x0e.FeatureCounts\x12+\n\x11library_functions\x18\t \x03(\x0b\x32\x10.LibraryFunction"S\n\x0b\x41rchFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0c\n\x04\x61rch\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"`\n\nAttackSpec\x12\r\n\x05parts\x18\x01 \x03(\t\x12\x0e\n\x06tactic\x18\x02 \x01(\t\x12\x11\n\ttechnique\x18\x03 \x01(\t\x12\x14\n\x0csubtechnique\x18\x04 \x01(\t\x12\n\n\x02id\x18\x05 \x01(\t"K\n\x11\x42\x61sicBlockFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"-\n\x10\x42\x61sicBlockLayout\x12\x19\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0b\x32\x08.Address"U\n\x0c\x42ytesFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\r\n\x05\x62ytes\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"g\n\x15\x43haracteristicFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x16\n\x0e\x63haracteristic\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"V\n\x0c\x43lassFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06\x63lass_\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"K\n\x11\x43ompoundStatement\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"W\n\rExportFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06\x65xport\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"G\n\rFeatureCounts\x12\x0c\n\x04\x66ile\x18\x01 \x01(\x04\x12(\n\tfunctions\x18\x02 \x03(\x0b\x32\x15.FunctionFeatureCount"\xf7\x06\n\x0b\x46\x65\x61tureNode\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x18\n\x02os\x18\x02 \x01(\x0b\x32\n.OSFeatureH\x00\x12\x1c\n\x04\x61rch\x18\x03 \x01(\x0b\x32\x0c.ArchFeatureH\x00\x12 \n\x06\x66ormat\x18\x04 \x01(\x0b\x32\x0e.FormatFeatureH\x00\x12\x1e\n\x05match\x18\x05 \x01(\x0b\x32\r.MatchFeatureH\x00\x12\x30\n\x0e\x63haracteristic\x18\x06 \x01(\x0b\x32\x16.CharacteristicFeatureH\x00\x12 \n\x06\x65xport\x18\x07 \x01(\x0b\x32\x0e.ExportFeatureH\x00\x12!\n\x07import_\x18\x08 \x01(\x0b\x32\x0e.ImportFeatureH\x00\x12"\n\x07section\x18\t \x01(\x0b\x32\x0f.SectionFeatureH\x00\x12-\n\rfunction_name\x18\n \x01(\x0b\x32\x14.FunctionNameFeatureH\x00\x12&\n\tsubstring\x18\x0b \x01(\x0b\x32\x11.SubstringFeatureH\x00\x12\x1e\n\x05regex\x18\x0c \x01(\x0b\x32\r.RegexFeatureH\x00\x12 \n\x06string\x18\r \x01(\x0b\x32\x0e.StringFeatureH\x00\x12\x1f\n\x06\x63lass_\x18\x0e \x01(\x0b\x32\r.ClassFeatureH\x00\x12&\n\tnamespace\x18\x0f \x01(\x0b\x32\x11.NamespaceFeatureH\x00\x12\x1a\n\x03\x61pi\x18\x10 \x01(\x0b\x32\x0b.APIFeatureH\x00\x12%\n\tproperty_\x18\x11 \x01(\x0b\x32\x10.PropertyFeatureH\x00\x12 \n\x06number\x18\x12 \x01(\x0b\x32\x0e.NumberFeatureH\x00\x12\x1e\n\x05\x62ytes\x18\x13 \x01(\x0b\x32\r.BytesFeatureH\x00\x12 \n\x06offset\x18\x14 \x01(\x0b\x32\x0e.OffsetFeatureH\x00\x12$\n\x08mnemonic\x18\x15 \x01(\x0b\x32\x10.MnemonicFeatureH\x00\x12/\n\x0eoperand_number\x18\x16 \x01(\x0b\x32\x15.OperandNumberFeatureH\x00\x12/\n\x0eoperand_offset\x18\x17 \x01(\x0b\x32\x15.OperandOffsetFeatureH\x00\x12)\n\x0b\x62\x61sic_block\x18\x18 \x01(\x0b\x32\x12.BasicBlockFeatureH\x00\x42\t\n\x07\x66\x65\x61ture"W\n\rFormatFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06\x66ormat\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"@\n\x14\x46unctionFeatureCount\x12\x19\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0b\x32\x08.Address\x12\r\n\x05\x63ount\x18\x02 \x01(\x04"\\\n\x0e\x46unctionLayout\x12\x19\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0b\x32\x08.Address\x12/\n\x14matched_basic_blocks\x18\x02 \x03(\x0b\x32\x11.BasicBlockLayout"d\n\x13\x46unctionNameFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x15\n\rfunction_name\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"X\n\rImportFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0f\n\x07import_\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description",\n\x06Layout\x12"\n\tfunctions\x18\x01 \x03(\x0b\x32\x0f.FunctionLayout":\n\x0fLibraryFunction\x12\x19\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0b\x32\x08.Address\x12\x0c\n\x04name\x18\x02 \x01(\t"Y\n\x07MBCSpec\x12\r\n\x05parts\x18\x01 \x03(\t\x12\x11\n\tobjective\x18\x02 \x01(\t\x12\x10\n\x08\x62\x65havior\x18\x03 \x01(\t\x12\x0e\n\x06method\x18\x04 \x01(\t\x12\n\n\x02id\x18\x05 \x01(\t"\x9a\x01\n\x0cMaecMetadata\x12\x1b\n\x13\x61nalysis_conclusion\x18\x01 \x01(\t\x12\x1e\n\x16\x61nalysis_conclusion_ov\x18\x02 \x01(\t\x12\x16\n\x0emalware_family\x18\x03 \x01(\t\x12\x18\n\x10malware_category\x18\x04 \x01(\t\x12\x1b\n\x13malware_category_ov\x18\x05 \x01(\t"\x82\x02\n\x05Match\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12#\n\tstatement\x18\x02 \x01(\x0b\x32\x0e.StatementNodeH\x00\x12\x1f\n\x07\x66\x65\x61ture\x18\x03 \x01(\x0b\x32\x0c.FeatureNodeH\x00\x12\x18\n\x08\x63hildren\x18\x05 \x03(\x0b\x32\x06.Match\x12\x1b\n\tlocations\x18\x06 \x03(\x0b\x32\x08.Address\x12&\n\x08\x63\x61ptures\x18\x07 \x03(\x0b\x32\x14.Match.CapturesEntry\x1a;\n\rCapturesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x19\n\x05value\x18\x02 \x01(\x0b\x32\n.Addresses:\x02\x38\x01\x42\x06\n\x04node"U\n\x0cMatchFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\r\n\x05match\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"r\n\x08Metadata\x12\x11\n\ttimestamp\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x0c\n\x04\x61rgv\x18\x03 \x03(\t\x12\x17\n\x06sample\x18\x04 \x01(\x0b\x32\x07.Sample\x12\x1b\n\x08\x61nalysis\x18\x05 \x01(\x0b\x32\t.Analysis"[\n\x0fMnemonicFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x10\n\x08mnemonic\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"]\n\x10NamespaceFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"`\n\rNumberFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x17\n\x06number\x18\x02 \x01(\x0b\x32\x07.Number\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"O\n\tOSFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\n\n\x02os\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"a\n\rOffsetFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x18\n\x06offset\x18\x02 \x01(\x0b\x32\x08.Integer\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"\x7f\n\x14OperandNumberFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\r\n\x05index\x18\x02 \x01(\r\x12 \n\x0eoperand_number\x18\x03 \x01(\x0b\x32\x08.Integer\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"\x7f\n\x14OperandOffsetFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\r\n\x05index\x18\x02 \x01(\r\x12 \n\x0eoperand_offset\x18\x03 \x01(\x0b\x32\x08.Integer\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"|\n\x0fPropertyFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x11\n\tproperty_\x18\x02 \x01(\t\x12\x13\n\x06\x61\x63\x63\x65ss\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\t\n\x07_accessB\x0e\n\x0c_description"\x7f\n\x0eRangeStatement\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0b\n\x03min\x18\x02 \x01(\x04\x12\x0b\n\x03max\x18\x03 \x01(\x04\x12\x1b\n\x05\x63hild\x18\x04 \x01(\x0b\x32\x0c.FeatureNode\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"U\n\x0cRegexFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\r\n\x05regex\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"\x90\x01\n\x0eResultDocument\x12\x17\n\x04meta\x18\x01 \x01(\x0b\x32\t.Metadata\x12)\n\x05rules\x18\x02 \x03(\x0b\x32\x1a.ResultDocument.RulesEntry\x1a:\n\nRulesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1b\n\x05value\x18\x02 \x01(\x0b\x32\x0c.RuleMatches:\x02\x38\x01"`\n\x0bRuleMatches\x12\x1b\n\x04meta\x18\x01 \x01(\x0b\x32\r.RuleMetadata\x12\x0e\n\x06source\x18\x02 \x01(\t\x12$\n\x07matches\x18\x03 \x03(\x0b\x32\x13.Pair_Address_Match"\x8a\x02\n\x0cRuleMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x0f\n\x07\x61uthors\x18\x03 \x03(\t\x12\x15\n\x05scope\x18\x04 \x01(\x0e\x32\x06.Scope\x12\x1b\n\x06\x61ttack\x18\x05 \x03(\x0b\x32\x0b.AttackSpec\x12\x15\n\x03mbc\x18\x06 \x03(\x0b\x32\x08.MBCSpec\x12\x12\n\nreferences\x18\x07 \x03(\t\x12\x10\n\x08\x65xamples\x18\x08 \x03(\t\x12\x13\n\x0b\x64\x65scription\x18\t \x01(\t\x12\x0b\n\x03lib\x18\n \x01(\x08\x12\x1b\n\x04maec\x18\x0b \x01(\x0b\x32\r.MaecMetadata\x12\x18\n\x10is_subscope_rule\x18\x0c \x01(\x08"A\n\x06Sample\x12\x0b\n\x03md5\x18\x01 \x01(\t\x12\x0c\n\x04sha1\x18\x02 \x01(\t\x12\x0e\n\x06sha256\x18\x03 \x01(\t\x12\x0c\n\x04path\x18\x04 \x01(\t"Y\n\x0eSectionFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0f\n\x07section\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"V\n\rSomeStatement\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"\xbc\x01\n\rStatementNode\x12\x0c\n\x04type\x18\x01 \x01(\t\x12 \n\x05range\x18\x02 \x01(\x0b\x32\x0f.RangeStatementH\x00\x12\x1e\n\x04some\x18\x03 \x01(\x0b\x32\x0e.SomeStatementH\x00\x12&\n\x08subscope\x18\x04 \x01(\x0b\x32\x12.SubscopeStatementH\x00\x12&\n\x08\x63ompound\x18\x05 \x01(\x0b\x32\x12.CompoundStatementH\x00\x42\x0b\n\tstatement"W\n\rStringFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06string\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"b\n\x11SubscopeStatement\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x15\n\x05scope\x18\x02 \x01(\x0e\x32\x06.Scope\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"]\n\x10SubstringFeature\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x11\n\tsubstring\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description"&\n\tAddresses\x12\x19\n\x07\x61\x64\x64ress\x18\x01 \x03(\x0b\x32\x08.Address"F\n\x12Pair_Address_Match\x12\x19\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0b\x32\x08.Address\x12\x15\n\x05match\x18\x02 \x01(\x0b\x32\x06.Match"7\n\x0cToken_Offset\x12\x17\n\x05token\x18\x01 \x01(\x0b\x32\x08.Integer\x12\x0e\n\x06offset\x18\x02 \x01(\x04",\n\x07Integer\x12\x0b\n\x01u\x18\x01 \x01(\x04H\x00\x12\x0b\n\x01i\x18\x02 \x01(\x12H\x00\x42\x07\n\x05value"8\n\x06Number\x12\x0b\n\x01u\x18\x01 \x01(\x04H\x00\x12\x0b\n\x01i\x18\x02 \x01(\x12H\x00\x12\x0b\n\x01\x66\x18\x03 \x01(\x01H\x00\x42\x07\n\x05value*\xcb\x01\n\x0b\x41\x64\x64ressType\x12\x1b\n\x17\x41\x44\x44RESSTYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14\x41\x44\x44RESSTYPE_ABSOLUTE\x10\x01\x12\x18\n\x14\x41\x44\x44RESSTYPE_RELATIVE\x10\x02\x12\x14\n\x10\x41\x44\x44RESSTYPE_FILE\x10\x03\x12\x18\n\x14\x41\x44\x44RESSTYPE_DN_TOKEN\x10\x04\x12\x1f\n\x1b\x41\x44\x44RESSTYPE_DN_TOKEN_OFFSET\x10\x05\x12\x1a\n\x16\x41\x44\x44RESSTYPE_NO_ADDRESS\x10\x06*p\n\x05Scope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\x00\x12\x0e\n\nSCOPE_FILE\x10\x01\x12\x12\n\x0eSCOPE_FUNCTION\x10\x02\x12\x15\n\x11SCOPE_BASIC_BLOCK\x10\x03\x12\x15\n\x11SCOPE_INSTRUCTION\x10\x04\x62\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'capa.render.proto.capa_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "capa.render.proto.capa_pb2", globals()) if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - _MATCH_CAPTURESENTRY._options = None - _MATCH_CAPTURESENTRY._serialized_options = b'8\001' - _RESULTDOCUMENT_RULESENTRY._options = None - _RESULTDOCUMENT_RULESENTRY._serialized_options = b'8\001' - _ADDRESSTYPE._serialized_start=6006 - _ADDRESSTYPE._serialized_end=6209 - _SCOPE._serialized_start=6211 - _SCOPE._serialized_end=6323 - _APIFEATURE._serialized_start=32 - _APIFEATURE._serialized_end=113 - _ADDRESS._serialized_start=115 - _ADDRESS._serialized_end=223 - _ANALYSIS._serialized_start=226 - _ANALYSIS._serialized_end=454 - _ARCHFEATURE._serialized_start=456 - _ARCHFEATURE._serialized_end=539 - _ATTACKSPEC._serialized_start=541 - _ATTACKSPEC._serialized_end=637 - _BASICBLOCKFEATURE._serialized_start=639 - _BASICBLOCKFEATURE._serialized_end=714 - _BASICBLOCKLAYOUT._serialized_start=716 - _BASICBLOCKLAYOUT._serialized_end=761 - _BYTESFEATURE._serialized_start=763 - _BYTESFEATURE._serialized_end=848 - _CHARACTERISTICFEATURE._serialized_start=850 - _CHARACTERISTICFEATURE._serialized_end=953 - _CLASSFEATURE._serialized_start=955 - _CLASSFEATURE._serialized_end=1041 - _COMPOUNDSTATEMENT._serialized_start=1043 - _COMPOUNDSTATEMENT._serialized_end=1118 - _EXPORTFEATURE._serialized_start=1120 - _EXPORTFEATURE._serialized_end=1207 - _FEATURECOUNTS._serialized_start=1209 - _FEATURECOUNTS._serialized_end=1280 - _FEATURENODE._serialized_start=1283 - _FEATURENODE._serialized_end=2170 - _FORMATFEATURE._serialized_start=2172 - _FORMATFEATURE._serialized_end=2259 - _FUNCTIONFEATURECOUNT._serialized_start=2261 - _FUNCTIONFEATURECOUNT._serialized_end=2325 - _FUNCTIONLAYOUT._serialized_start=2327 - _FUNCTIONLAYOUT._serialized_end=2419 - _FUNCTIONNAMEFEATURE._serialized_start=2421 - _FUNCTIONNAMEFEATURE._serialized_end=2521 - _IMPORTFEATURE._serialized_start=2523 - _IMPORTFEATURE._serialized_end=2611 - _LAYOUT._serialized_start=2613 - _LAYOUT._serialized_end=2657 - _LIBRARYFUNCTION._serialized_start=2659 - _LIBRARYFUNCTION._serialized_end=2717 - _MBCSPEC._serialized_start=2719 - _MBCSPEC._serialized_end=2808 - _MAECMETADATA._serialized_start=2811 - _MAECMETADATA._serialized_end=2965 - _MATCH._serialized_start=2968 - _MATCH._serialized_end=3226 - _MATCH_CAPTURESENTRY._serialized_start=3159 - _MATCH_CAPTURESENTRY._serialized_end=3218 - _MATCHFEATURE._serialized_start=3228 - _MATCHFEATURE._serialized_end=3313 - _METADATA._serialized_start=3315 - _METADATA._serialized_end=3429 - _MNEMONICFEATURE._serialized_start=3431 - _MNEMONICFEATURE._serialized_end=3522 - _NAMESPACEFEATURE._serialized_start=3524 - _NAMESPACEFEATURE._serialized_end=3617 - _NUMBERFEATURE._serialized_start=3619 - _NUMBERFEATURE._serialized_end=3715 - _OSFEATURE._serialized_start=3717 - _OSFEATURE._serialized_end=3796 - _OFFSETFEATURE._serialized_start=3798 - _OFFSETFEATURE._serialized_end=3895 - _OPERANDNUMBERFEATURE._serialized_start=3897 - _OPERANDNUMBERFEATURE._serialized_end=4024 - _OPERANDOFFSETFEATURE._serialized_start=4026 - _OPERANDOFFSETFEATURE._serialized_end=4153 - _PROPERTYFEATURE._serialized_start=4155 - _PROPERTYFEATURE._serialized_end=4279 - _RANGESTATEMENT._serialized_start=4281 - _RANGESTATEMENT._serialized_end=4408 - _REGEXFEATURE._serialized_start=4410 - _REGEXFEATURE._serialized_end=4495 - _RESULTDOCUMENT._serialized_start=4498 - _RESULTDOCUMENT._serialized_end=4642 - _RESULTDOCUMENT_RULESENTRY._serialized_start=4584 - _RESULTDOCUMENT_RULESENTRY._serialized_end=4642 - _RULEMATCHES._serialized_start=4644 - _RULEMATCHES._serialized_end=4740 - _RULEMETADATA._serialized_start=4743 - _RULEMETADATA._serialized_end=5009 - _SAMPLE._serialized_start=5011 - _SAMPLE._serialized_end=5076 - _SECTIONFEATURE._serialized_start=5078 - _SECTIONFEATURE._serialized_end=5167 - _SOMESTATEMENT._serialized_start=5169 - _SOMESTATEMENT._serialized_end=5255 - _STATEMENTNODE._serialized_start=5258 - _STATEMENTNODE._serialized_end=5446 - _STRINGFEATURE._serialized_start=5448 - _STRINGFEATURE._serialized_end=5535 - _SUBSCOPESTATEMENT._serialized_start=5537 - _SUBSCOPESTATEMENT._serialized_end=5635 - _SUBSTRINGFEATURE._serialized_start=5637 - _SUBSTRINGFEATURE._serialized_end=5730 - _ADDRESSES._serialized_start=5732 - _ADDRESSES._serialized_end=5770 - _PAIR_ADDRESS_MATCH._serialized_start=5772 - _PAIR_ADDRESS_MATCH._serialized_end=5842 - _TOKEN_OFFSET._serialized_start=5844 - _TOKEN_OFFSET._serialized_end=5899 - _INTEGER._serialized_start=5901 - _INTEGER._serialized_end=5945 - _NUMBER._serialized_start=5947 - _NUMBER._serialized_end=6003 + DESCRIPTOR._options = None + _MATCH_CAPTURESENTRY._options = None + _MATCH_CAPTURESENTRY._serialized_options = b"8\001" + _RESULTDOCUMENT_RULESENTRY._options = None + _RESULTDOCUMENT_RULESENTRY._serialized_options = b"8\001" + _ADDRESSTYPE._serialized_start = 6006 + _ADDRESSTYPE._serialized_end = 6209 + _SCOPE._serialized_start = 6211 + _SCOPE._serialized_end = 6323 + _APIFEATURE._serialized_start = 32 + _APIFEATURE._serialized_end = 113 + _ADDRESS._serialized_start = 115 + _ADDRESS._serialized_end = 223 + _ANALYSIS._serialized_start = 226 + _ANALYSIS._serialized_end = 454 + _ARCHFEATURE._serialized_start = 456 + _ARCHFEATURE._serialized_end = 539 + _ATTACKSPEC._serialized_start = 541 + _ATTACKSPEC._serialized_end = 637 + _BASICBLOCKFEATURE._serialized_start = 639 + _BASICBLOCKFEATURE._serialized_end = 714 + _BASICBLOCKLAYOUT._serialized_start = 716 + _BASICBLOCKLAYOUT._serialized_end = 761 + _BYTESFEATURE._serialized_start = 763 + _BYTESFEATURE._serialized_end = 848 + _CHARACTERISTICFEATURE._serialized_start = 850 + _CHARACTERISTICFEATURE._serialized_end = 953 + _CLASSFEATURE._serialized_start = 955 + _CLASSFEATURE._serialized_end = 1041 + _COMPOUNDSTATEMENT._serialized_start = 1043 + _COMPOUNDSTATEMENT._serialized_end = 1118 + _EXPORTFEATURE._serialized_start = 1120 + _EXPORTFEATURE._serialized_end = 1207 + _FEATURECOUNTS._serialized_start = 1209 + _FEATURECOUNTS._serialized_end = 1280 + _FEATURENODE._serialized_start = 1283 + _FEATURENODE._serialized_end = 2170 + _FORMATFEATURE._serialized_start = 2172 + _FORMATFEATURE._serialized_end = 2259 + _FUNCTIONFEATURECOUNT._serialized_start = 2261 + _FUNCTIONFEATURECOUNT._serialized_end = 2325 + _FUNCTIONLAYOUT._serialized_start = 2327 + _FUNCTIONLAYOUT._serialized_end = 2419 + _FUNCTIONNAMEFEATURE._serialized_start = 2421 + _FUNCTIONNAMEFEATURE._serialized_end = 2521 + _IMPORTFEATURE._serialized_start = 2523 + _IMPORTFEATURE._serialized_end = 2611 + _LAYOUT._serialized_start = 2613 + _LAYOUT._serialized_end = 2657 + _LIBRARYFUNCTION._serialized_start = 2659 + _LIBRARYFUNCTION._serialized_end = 2717 + _MBCSPEC._serialized_start = 2719 + _MBCSPEC._serialized_end = 2808 + _MAECMETADATA._serialized_start = 2811 + _MAECMETADATA._serialized_end = 2965 + _MATCH._serialized_start = 2968 + _MATCH._serialized_end = 3226 + _MATCH_CAPTURESENTRY._serialized_start = 3159 + _MATCH_CAPTURESENTRY._serialized_end = 3218 + _MATCHFEATURE._serialized_start = 3228 + _MATCHFEATURE._serialized_end = 3313 + _METADATA._serialized_start = 3315 + _METADATA._serialized_end = 3429 + _MNEMONICFEATURE._serialized_start = 3431 + _MNEMONICFEATURE._serialized_end = 3522 + _NAMESPACEFEATURE._serialized_start = 3524 + _NAMESPACEFEATURE._serialized_end = 3617 + _NUMBERFEATURE._serialized_start = 3619 + _NUMBERFEATURE._serialized_end = 3715 + _OSFEATURE._serialized_start = 3717 + _OSFEATURE._serialized_end = 3796 + _OFFSETFEATURE._serialized_start = 3798 + _OFFSETFEATURE._serialized_end = 3895 + _OPERANDNUMBERFEATURE._serialized_start = 3897 + _OPERANDNUMBERFEATURE._serialized_end = 4024 + _OPERANDOFFSETFEATURE._serialized_start = 4026 + _OPERANDOFFSETFEATURE._serialized_end = 4153 + _PROPERTYFEATURE._serialized_start = 4155 + _PROPERTYFEATURE._serialized_end = 4279 + _RANGESTATEMENT._serialized_start = 4281 + _RANGESTATEMENT._serialized_end = 4408 + _REGEXFEATURE._serialized_start = 4410 + _REGEXFEATURE._serialized_end = 4495 + _RESULTDOCUMENT._serialized_start = 4498 + _RESULTDOCUMENT._serialized_end = 4642 + _RESULTDOCUMENT_RULESENTRY._serialized_start = 4584 + _RESULTDOCUMENT_RULESENTRY._serialized_end = 4642 + _RULEMATCHES._serialized_start = 4644 + _RULEMATCHES._serialized_end = 4740 + _RULEMETADATA._serialized_start = 4743 + _RULEMETADATA._serialized_end = 5009 + _SAMPLE._serialized_start = 5011 + _SAMPLE._serialized_end = 5076 + _SECTIONFEATURE._serialized_start = 5078 + _SECTIONFEATURE._serialized_end = 5167 + _SOMESTATEMENT._serialized_start = 5169 + _SOMESTATEMENT._serialized_end = 5255 + _STATEMENTNODE._serialized_start = 5258 + _STATEMENTNODE._serialized_end = 5446 + _STRINGFEATURE._serialized_start = 5448 + _STRINGFEATURE._serialized_end = 5535 + _SUBSCOPESTATEMENT._serialized_start = 5537 + _SUBSCOPESTATEMENT._serialized_end = 5635 + _SUBSTRINGFEATURE._serialized_start = 5637 + _SUBSTRINGFEATURE._serialized_end = 5730 + _ADDRESSES._serialized_start = 5732 + _ADDRESSES._serialized_end = 5770 + _PAIR_ADDRESS_MATCH._serialized_start = 5772 + _PAIR_ADDRESS_MATCH._serialized_end = 5842 + _TOKEN_OFFSET._serialized_start = 5844 + _TOKEN_OFFSET._serialized_end = 5899 + _INTEGER._serialized_start = 5901 + _INTEGER._serialized_end = 5945 + _NUMBER._serialized_start = 5947 + _NUMBER._serialized_end = 6003 # @@protoc_insertion_point(module_scope) diff --git a/capa/render/proto/capa_pb2.pyi b/capa/render/proto/capa_pb2.pyi index 174b1a97..861a155c 100644 --- a/capa/render/proto/capa_pb2.pyi +++ b/capa/render/proto/capa_pb2.pyi @@ -22,7 +22,9 @@ class _AddressType: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _AddressTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_AddressType.ValueType], builtins.type): +class _AddressTypeEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_AddressType.ValueType], builtins.type +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor ADDRESSTYPE_UNSPECIFIED: _AddressType.ValueType # 0 ADDRESSTYPE_ABSOLUTE: _AddressType.ValueType # 1 @@ -47,7 +49,9 @@ class _Scope: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _ScopeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Scope.ValueType], builtins.type): +class _ScopeEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Scope.ValueType], builtins.type +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor SCOPE_UNSPECIFIED: _Scope.ValueType # 0 SCOPE_FILE: _Scope.ValueType # 1 @@ -81,9 +85,18 @@ class APIFeature(google.protobuf.message.Message): api: builtins.str = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "api", b"api", "description", b"description", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "api", b"api", "description", b"description", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___APIFeature = APIFeature @@ -106,9 +119,18 @@ class Address(google.protobuf.message.Message): v: global___Integer | None = ..., token_offset: global___Token_Offset | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["token_offset", b"token_offset", "v", b"v", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["token_offset", b"token_offset", "type", b"type", "v", b"v", "value", b"value"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["value", b"value"]) -> typing_extensions.Literal["v", "token_offset"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["token_offset", b"token_offset", "v", b"v", "value", b"value"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "token_offset", b"token_offset", "type", b"type", "v", b"v", "value", b"value" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["value", b"value"] + ) -> typing_extensions.Literal["v", "token_offset"] | None: ... global___Address = Address @@ -138,7 +160,9 @@ class Analysis(google.protobuf.message.Message): @property def feature_counts(self) -> global___FeatureCounts: ... @property - def library_functions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LibraryFunction]: ... + def library_functions( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LibraryFunction]: ... def __init__( self, *, @@ -152,8 +176,35 @@ class Analysis(google.protobuf.message.Message): feature_counts: global___FeatureCounts | None = ..., library_functions: collections.abc.Iterable[global___LibraryFunction] | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["base_address", b"base_address", "feature_counts", b"feature_counts", "layout", b"layout"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["arch", b"arch", "base_address", b"base_address", "extractor", b"extractor", "feature_counts", b"feature_counts", "format", b"format", "layout", b"layout", "library_functions", b"library_functions", "os", b"os", "rules", b"rules"]) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "base_address", b"base_address", "feature_counts", b"feature_counts", "layout", b"layout" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "arch", + b"arch", + "base_address", + b"base_address", + "extractor", + b"extractor", + "feature_counts", + b"feature_counts", + "format", + b"format", + "layout", + b"layout", + "library_functions", + b"library_functions", + "os", + b"os", + "rules", + b"rules", + ], + ) -> None: ... global___Analysis = Analysis @@ -174,9 +225,18 @@ class ArchFeature(google.protobuf.message.Message): arch: builtins.str = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "arch", b"arch", "description", b"description", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "arch", b"arch", "description", b"description", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___ArchFeature = ArchFeature @@ -204,7 +264,21 @@ class AttackSpec(google.protobuf.message.Message): subtechnique: builtins.str = ..., id: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "parts", b"parts", "subtechnique", b"subtechnique", "tactic", b"tactic", "technique", b"technique"]) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "id", + b"id", + "parts", + b"parts", + "subtechnique", + b"subtechnique", + "tactic", + b"tactic", + "technique", + b"technique", + ], + ) -> None: ... global___AttackSpec = AttackSpec @@ -222,9 +296,18 @@ class BasicBlockFeature(google.protobuf.message.Message): type: builtins.str = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "description", b"description", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___BasicBlockFeature = BasicBlockFeature @@ -262,9 +345,18 @@ class BytesFeature(google.protobuf.message.Message): bytes: builtins.str = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "bytes", b"bytes", "description", b"description", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "bytes", b"bytes", "description", b"description", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___BytesFeature = BytesFeature @@ -285,9 +377,25 @@ class CharacteristicFeature(google.protobuf.message.Message): characteristic: builtins.str = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "characteristic", b"characteristic", "description", b"description", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", + b"_description", + "characteristic", + b"characteristic", + "description", + b"description", + "type", + b"type", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___CharacteristicFeature = CharacteristicFeature @@ -309,9 +417,18 @@ class ClassFeature(google.protobuf.message.Message): class_: builtins.str = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "class_", b"class_", "description", b"description", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "class_", b"class_", "description", b"description", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___ClassFeature = ClassFeature @@ -329,9 +446,18 @@ class CompoundStatement(google.protobuf.message.Message): type: builtins.str = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "description", b"description", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___CompoundStatement = CompoundStatement @@ -352,9 +478,18 @@ class ExportFeature(google.protobuf.message.Message): export: builtins.str = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "export", b"export", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "description", b"description", "export", b"export", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___ExportFeature = ExportFeature @@ -366,7 +501,9 @@ class FeatureCounts(google.protobuf.message.Message): FUNCTIONS_FIELD_NUMBER: builtins.int file: builtins.int @property - def functions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FunctionFeatureCount]: ... + def functions( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FunctionFeatureCount]: ... def __init__( self, *, @@ -482,9 +619,144 @@ class FeatureNode(google.protobuf.message.Message): operand_offset: global___OperandOffsetFeature | None = ..., basic_block: global___BasicBlockFeature | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["api", b"api", "arch", b"arch", "basic_block", b"basic_block", "bytes", b"bytes", "characteristic", b"characteristic", "class_", b"class_", "export", b"export", "feature", b"feature", "format", b"format", "function_name", b"function_name", "import_", b"import_", "match", b"match", "mnemonic", b"mnemonic", "namespace", b"namespace", "number", b"number", "offset", b"offset", "operand_number", b"operand_number", "operand_offset", b"operand_offset", "os", b"os", "property_", b"property_", "regex", b"regex", "section", b"section", "string", b"string", "substring", b"substring"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["api", b"api", "arch", b"arch", "basic_block", b"basic_block", "bytes", b"bytes", "characteristic", b"characteristic", "class_", b"class_", "export", b"export", "feature", b"feature", "format", b"format", "function_name", b"function_name", "import_", b"import_", "match", b"match", "mnemonic", b"mnemonic", "namespace", b"namespace", "number", b"number", "offset", b"offset", "operand_number", b"operand_number", "operand_offset", b"operand_offset", "os", b"os", "property_", b"property_", "regex", b"regex", "section", b"section", "string", b"string", "substring", b"substring", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["feature", b"feature"]) -> typing_extensions.Literal["os", "arch", "format", "match", "characteristic", "export", "import_", "section", "function_name", "substring", "regex", "string", "class_", "namespace", "api", "property_", "number", "bytes", "offset", "mnemonic", "operand_number", "operand_offset", "basic_block"] | None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "api", + b"api", + "arch", + b"arch", + "basic_block", + b"basic_block", + "bytes", + b"bytes", + "characteristic", + b"characteristic", + "class_", + b"class_", + "export", + b"export", + "feature", + b"feature", + "format", + b"format", + "function_name", + b"function_name", + "import_", + b"import_", + "match", + b"match", + "mnemonic", + b"mnemonic", + "namespace", + b"namespace", + "number", + b"number", + "offset", + b"offset", + "operand_number", + b"operand_number", + "operand_offset", + b"operand_offset", + "os", + b"os", + "property_", + b"property_", + "regex", + b"regex", + "section", + b"section", + "string", + b"string", + "substring", + b"substring", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "api", + b"api", + "arch", + b"arch", + "basic_block", + b"basic_block", + "bytes", + b"bytes", + "characteristic", + b"characteristic", + "class_", + b"class_", + "export", + b"export", + "feature", + b"feature", + "format", + b"format", + "function_name", + b"function_name", + "import_", + b"import_", + "match", + b"match", + "mnemonic", + b"mnemonic", + "namespace", + b"namespace", + "number", + b"number", + "offset", + b"offset", + "operand_number", + b"operand_number", + "operand_offset", + b"operand_offset", + "os", + b"os", + "property_", + b"property_", + "regex", + b"regex", + "section", + b"section", + "string", + b"string", + "substring", + b"substring", + "type", + b"type", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["feature", b"feature"] + ) -> ( + typing_extensions.Literal[ + "os", + "arch", + "format", + "match", + "characteristic", + "export", + "import_", + "section", + "function_name", + "substring", + "regex", + "string", + "class_", + "namespace", + "api", + "property_", + "number", + "bytes", + "offset", + "mnemonic", + "operand_number", + "operand_offset", + "basic_block", + ] + | None + ): ... global___FeatureNode = FeatureNode @@ -505,9 +777,18 @@ class FormatFeature(google.protobuf.message.Message): format: builtins.str = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "format", b"format", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "description", b"description", "format", b"format", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___FormatFeature = FormatFeature @@ -540,7 +821,9 @@ class FunctionLayout(google.protobuf.message.Message): @property def address(self) -> global___Address: ... @property - def matched_basic_blocks(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BasicBlockLayout]: ... + def matched_basic_blocks( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BasicBlockLayout]: ... def __init__( self, *, @@ -548,7 +831,10 @@ class FunctionLayout(google.protobuf.message.Message): matched_basic_blocks: collections.abc.Iterable[global___BasicBlockLayout] | None = ..., ) -> None: ... def HasField(self, field_name: typing_extensions.Literal["address", b"address"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["address", b"address", "matched_basic_blocks", b"matched_basic_blocks"]) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["address", b"address", "matched_basic_blocks", b"matched_basic_blocks"], + ) -> None: ... global___FunctionLayout = FunctionLayout @@ -569,9 +855,25 @@ class FunctionNameFeature(google.protobuf.message.Message): function_name: builtins.str = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "function_name", b"function_name", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", + b"_description", + "description", + b"description", + "function_name", + b"function_name", + "type", + b"type", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___FunctionNameFeature = FunctionNameFeature @@ -592,9 +894,18 @@ class ImportFeature(google.protobuf.message.Message): import_: builtins.str = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "import_", b"import_", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "description", b"description", "import_", b"import_", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___ImportFeature = ImportFeature @@ -604,7 +915,9 @@ class Layout(google.protobuf.message.Message): FUNCTIONS_FIELD_NUMBER: builtins.int @property - def functions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FunctionLayout]: ... + def functions( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FunctionLayout]: ... def __init__( self, *, @@ -658,7 +971,12 @@ class MBCSpec(google.protobuf.message.Message): method: builtins.str = ..., id: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal["behavior", b"behavior", "id", b"id", "method", b"method", "objective", b"objective", "parts", b"parts"]) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "behavior", b"behavior", "id", b"id", "method", b"method", "objective", b"objective", "parts", b"parts" + ], + ) -> None: ... global___MBCSpec = MBCSpec @@ -685,7 +1003,21 @@ class MaecMetadata(google.protobuf.message.Message): malware_category: builtins.str = ..., malware_category_ov: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal["analysis_conclusion", b"analysis_conclusion", "analysis_conclusion_ov", b"analysis_conclusion_ov", "malware_category", b"malware_category", "malware_category_ov", b"malware_category_ov", "malware_family", b"malware_family"]) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "analysis_conclusion", + b"analysis_conclusion", + "analysis_conclusion_ov", + b"analysis_conclusion_ov", + "malware_category", + b"malware_category", + "malware_category_ov", + b"malware_category_ov", + "malware_family", + b"malware_family", + ], + ) -> None: ... global___MaecMetadata = MaecMetadata @@ -738,9 +1070,31 @@ class Match(google.protobuf.message.Message): locations: collections.abc.Iterable[global___Address] | None = ..., captures: collections.abc.Mapping[builtins.str, global___Addresses] | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["feature", b"feature", "node", b"node", "statement", b"statement"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["captures", b"captures", "children", b"children", "feature", b"feature", "locations", b"locations", "node", b"node", "statement", b"statement", "success", b"success"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["node", b"node"]) -> typing_extensions.Literal["statement", "feature"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["feature", b"feature", "node", b"node", "statement", b"statement"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "captures", + b"captures", + "children", + b"children", + "feature", + b"feature", + "locations", + b"locations", + "node", + b"node", + "statement", + b"statement", + "success", + b"success", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["node", b"node"] + ) -> typing_extensions.Literal["statement", "feature"] | None: ... global___Match = Match @@ -761,9 +1115,18 @@ class MatchFeature(google.protobuf.message.Message): match: builtins.str = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "match", b"match", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "description", b"description", "match", b"match", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___MatchFeature = MatchFeature @@ -794,8 +1157,24 @@ class Metadata(google.protobuf.message.Message): sample: global___Sample | None = ..., analysis: global___Analysis | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["analysis", b"analysis", "sample", b"sample"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["analysis", b"analysis", "argv", b"argv", "sample", b"sample", "timestamp", b"timestamp", "version", b"version"]) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["analysis", b"analysis", "sample", b"sample"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "analysis", + b"analysis", + "argv", + b"argv", + "sample", + b"sample", + "timestamp", + b"timestamp", + "version", + b"version", + ], + ) -> None: ... global___Metadata = Metadata @@ -816,9 +1195,18 @@ class MnemonicFeature(google.protobuf.message.Message): mnemonic: builtins.str = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "mnemonic", b"mnemonic", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "description", b"description", "mnemonic", b"mnemonic", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___MnemonicFeature = MnemonicFeature @@ -839,9 +1227,18 @@ class NamespaceFeature(google.protobuf.message.Message): namespace: builtins.str = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "namespace", b"namespace", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "description", b"description", "namespace", b"namespace", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___NamespaceFeature = NamespaceFeature @@ -864,9 +1261,21 @@ class NumberFeature(google.protobuf.message.Message): number: global___Number | None = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "number", b"number"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "number", b"number", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "description", b"description", "number", b"number" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "description", b"description", "number", b"number", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___NumberFeature = NumberFeature @@ -887,9 +1296,18 @@ class OSFeature(google.protobuf.message.Message): os: builtins.str = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "os", b"os", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "description", b"description", "os", b"os", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___OSFeature = OSFeature @@ -912,9 +1330,21 @@ class OffsetFeature(google.protobuf.message.Message): offset: global___Integer | None = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "offset", b"offset"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "offset", b"offset", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "description", b"description", "offset", b"offset" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "description", b"description", "offset", b"offset", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___OffsetFeature = OffsetFeature @@ -940,9 +1370,30 @@ class OperandNumberFeature(google.protobuf.message.Message): operand_number: global___Integer | None = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "operand_number", b"operand_number"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "index", b"index", "operand_number", b"operand_number", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "description", b"description", "operand_number", b"operand_number" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", + b"_description", + "description", + b"description", + "index", + b"index", + "operand_number", + b"operand_number", + "type", + b"type", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___OperandNumberFeature = OperandNumberFeature @@ -967,9 +1418,30 @@ class OperandOffsetFeature(google.protobuf.message.Message): operand_offset: global___Integer | None = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "operand_offset", b"operand_offset"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "index", b"index", "operand_offset", b"operand_offset", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "description", b"description", "operand_offset", b"operand_offset" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", + b"_description", + "description", + b"description", + "index", + b"index", + "operand_offset", + b"operand_offset", + "type", + b"type", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___OperandOffsetFeature = OperandOffsetFeature @@ -994,12 +1466,37 @@ class PropertyFeature(google.protobuf.message.Message): access: builtins.str | None = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_access", b"_access", "_description", b"_description", "access", b"access", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_access", b"_access", "_description", b"_description", "access", b"access", "description", b"description", "property_", b"property_", "type", b"type"]) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_access", b"_access", "_description", b"_description", "access", b"access", "description", b"description" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_access", + b"_access", + "_description", + b"_description", + "access", + b"access", + "description", + b"description", + "property_", + b"property_", + "type", + b"type", + ], + ) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal["_access", b"_access"]) -> typing_extensions.Literal["access"] | None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_access", b"_access"] + ) -> typing_extensions.Literal["access"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___PropertyFeature = PropertyFeature @@ -1028,9 +1525,32 @@ class RangeStatement(google.protobuf.message.Message): child: global___FeatureNode | None = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "child", b"child", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "child", b"child", "description", b"description", "max", b"max", "min", b"min", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "child", b"child", "description", b"description" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", + b"_description", + "child", + b"child", + "description", + b"description", + "max", + b"max", + "min", + b"min", + "type", + b"type", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___RangeStatement = RangeStatement @@ -1051,9 +1571,18 @@ class RegexFeature(google.protobuf.message.Message): regex: builtins.str = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "regex", b"regex", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "description", b"description", "regex", b"regex", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___RegexFeature = RegexFeature @@ -1107,7 +1636,9 @@ class RuleMatches(google.protobuf.message.Message): def meta(self) -> global___RuleMetadata: ... source: builtins.str @property - def matches(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Pair_Address_Match]: ... + def matches( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Pair_Address_Match]: ... def __init__( self, *, @@ -1116,7 +1647,9 @@ class RuleMatches(google.protobuf.message.Message): matches: collections.abc.Iterable[global___Pair_Address_Match] | None = ..., ) -> None: ... def HasField(self, field_name: typing_extensions.Literal["meta", b"meta"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["matches", b"matches", "meta", b"meta", "source", b"source"]) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["matches", b"matches", "meta", b"meta", "source", b"source"] + ) -> None: ... global___RuleMatches = RuleMatches @@ -1171,7 +1704,35 @@ class RuleMetadata(google.protobuf.message.Message): is_subscope_rule: builtins.bool = ..., ) -> None: ... def HasField(self, field_name: typing_extensions.Literal["maec", b"maec"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["attack", b"attack", "authors", b"authors", "description", b"description", "examples", b"examples", "is_subscope_rule", b"is_subscope_rule", "lib", b"lib", "maec", b"maec", "mbc", b"mbc", "name", b"name", "namespace", b"namespace", "references", b"references", "scope", b"scope"]) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "attack", + b"attack", + "authors", + b"authors", + "description", + b"description", + "examples", + b"examples", + "is_subscope_rule", + b"is_subscope_rule", + "lib", + b"lib", + "maec", + b"maec", + "mbc", + b"mbc", + "name", + b"name", + "namespace", + b"namespace", + "references", + b"references", + "scope", + b"scope", + ], + ) -> None: ... global___RuleMetadata = RuleMetadata @@ -1195,7 +1756,10 @@ class Sample(google.protobuf.message.Message): sha256: builtins.str = ..., path: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal["md5", b"md5", "path", b"path", "sha1", b"sha1", "sha256", b"sha256"]) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["md5", b"md5", "path", b"path", "sha1", b"sha1", "sha256", b"sha256"], + ) -> None: ... global___Sample = Sample @@ -1216,9 +1780,18 @@ class SectionFeature(google.protobuf.message.Message): section: builtins.str = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "section", b"section", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "description", b"description", "section", b"section", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___SectionFeature = SectionFeature @@ -1239,9 +1812,18 @@ class SomeStatement(google.protobuf.message.Message): count: builtins.int = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "count", b"count", "description", b"description", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "count", b"count", "description", b"description", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___SomeStatement = SomeStatement @@ -1272,9 +1854,41 @@ class StatementNode(google.protobuf.message.Message): subscope: global___SubscopeStatement | None = ..., compound: global___CompoundStatement | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["compound", b"compound", "range", b"range", "some", b"some", "statement", b"statement", "subscope", b"subscope"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["compound", b"compound", "range", b"range", "some", b"some", "statement", b"statement", "subscope", b"subscope", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["statement", b"statement"]) -> typing_extensions.Literal["range", "some", "subscope", "compound"] | None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "compound", + b"compound", + "range", + b"range", + "some", + b"some", + "statement", + b"statement", + "subscope", + b"subscope", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "compound", + b"compound", + "range", + b"range", + "some", + b"some", + "statement", + b"statement", + "subscope", + b"subscope", + "type", + b"type", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["statement", b"statement"] + ) -> typing_extensions.Literal["range", "some", "subscope", "compound"] | None: ... global___StatementNode = StatementNode @@ -1295,9 +1909,18 @@ class StringFeature(google.protobuf.message.Message): string: builtins.str = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "string", b"string", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "description", b"description", "string", b"string", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___StringFeature = StringFeature @@ -1318,9 +1941,18 @@ class SubscopeStatement(google.protobuf.message.Message): scope: global___Scope.ValueType = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "scope", b"scope", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "description", b"description", "scope", b"scope", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___SubscopeStatement = SubscopeStatement @@ -1341,9 +1973,18 @@ class SubstringFeature(google.protobuf.message.Message): substring: builtins.str = ..., description: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description", "substring", b"substring", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["_description", b"_description", "description", b"description"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_description", b"_description", "description", b"description", "substring", b"substring", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_description", b"_description"] + ) -> typing_extensions.Literal["description"] | None: ... global___SubstringFeature = SubstringFeature @@ -1379,7 +2020,9 @@ class Pair_Address_Match(google.protobuf.message.Message): address: global___Address | None = ..., match: global___Match | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["address", b"address", "match", b"match"]) -> builtins.bool: ... + def HasField( + self, field_name: typing_extensions.Literal["address", b"address", "match", b"match"] + ) -> builtins.bool: ... def ClearField(self, field_name: typing_extensions.Literal["address", b"address", "match", b"match"]) -> None: ... global___Pair_Address_Match = Pair_Address_Match @@ -1419,9 +2062,13 @@ class Integer(google.protobuf.message.Message): u: builtins.int = ..., i: builtins.int = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["i", b"i", "u", b"u", "value", b"value"]) -> builtins.bool: ... + def HasField( + self, field_name: typing_extensions.Literal["i", b"i", "u", b"u", "value", b"value"] + ) -> builtins.bool: ... def ClearField(self, field_name: typing_extensions.Literal["i", b"i", "u", b"u", "value", b"value"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["value", b"value"]) -> typing_extensions.Literal["u", "i"] | None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["value", b"value"] + ) -> typing_extensions.Literal["u", "i"] | None: ... global___Integer = Integer @@ -1442,8 +2089,14 @@ class Number(google.protobuf.message.Message): i: builtins.int = ..., f: builtins.float = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["f", b"f", "i", b"i", "u", b"u", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["f", b"f", "i", b"i", "u", b"u", "value", b"value"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["value", b"value"]) -> typing_extensions.Literal["u", "i", "f"] | None: ... + def HasField( + self, field_name: typing_extensions.Literal["f", b"f", "i", b"i", "u", b"u", "value", b"value"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["f", b"f", "i", b"i", "u", b"u", "value", b"value"] + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["value", b"value"] + ) -> typing_extensions.Literal["u", "i", "f"] | None: ... global___Number = Number