CAPE-parsers 0.1.61__tar.gz → 0.1.62__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/PKG-INFO +1 -1
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/AsyncRAT.py +2 -1
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/DCRat.py +2 -1
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/LokiBot.py +1 -1
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/Stealc.py +3 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/VenomRAT.py +2 -1
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/XWorm.py +2 -1
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/XenoRAT.py +2 -1
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/BumbleBee.py +2 -1
- cape_parsers-0.1.62/cape_parsers/CAPE/core/HijackLoader.py +39 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/PikaBot.py +2 -1
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/Remcos.py +2 -1
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/TSCookie.py +2 -1
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/utils/blzpack_lib.so +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/utils/strings.py +69 -32
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/pyproject.toml +1 -1
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/LICENSE +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/README.md +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/__init__.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/AgentTesla.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/Amadey.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/Amatera.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/Arkei.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/AuroraStealer.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/Carbanak.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/CobaltStrikeBeacon.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/CobaltStrikeStager.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/Fareit.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/KoiLoader.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/Lumma.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/MonsterV2.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/MyKings.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/NanoCore.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/Nighthawk.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/Njrat.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/PhemedroneStealer.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/QuasarRAT.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/README.md +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/Snake.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/SparkRAT.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/WinosStager.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/__init__.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/AdaptixBeacon.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/AuraStealer.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/Azorult.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/BitPaymer.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/BlackDropper.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/Blister.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/BruteRatel.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/DarkGate.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/DoppelPaymer.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/DridexLoader.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/Formbook.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/GuLoader.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/IcedID.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/IcedIDLoader.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/Latrodectus.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/NitroBunnyDownloader.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/Oyster.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/PlugX.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/QakBot.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/Quickbind.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/README.md +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/RedLine.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/Rhadamanthys.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/SmokeLoader.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/Socks5Systemz.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/SquirrelWaffle.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/Strrat.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/WarzoneRAT.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/Zloader.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/__init__.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/core/test_cape.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/RATDecoders/README.md +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/RATDecoders/__init__.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/RATDecoders/test_rats.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/__init__.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/BackOffLoader.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/BackOffPOS.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/BlackNix.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/BuerLoader.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/ChChes.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/Emotet.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/Enfal.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/EvilGrab.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/Greame.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/Hancitor.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/HttpBrowser.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/JavaDropper.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/Nymaim.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/Pandora.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/PoisonIvy.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/PredatorPain.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/Punisher.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/RCSession.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/REvil.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/RedLeaf.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/Retefe.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/Rozena.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/SmallNet.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/TrickBot.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/UrsnifV3.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/_ShadowTech.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/_VirusRat.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/_jRat.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/unrecom.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/deprecated/xRAT.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/malduck/LICENSE +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/malduck/README.md +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/malduck/__init__.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/malduck/test_malduck.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/mwcp/README.md +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/mwcp/__init__.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/mwcp/test_mwcp.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/utils/__init__.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/utils/aplib.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/utils/blzpack.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/utils/dotnet_utils.py +0 -0
- {cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/utils/lznt1.py +0 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
from contextlib import suppress
|
|
2
|
+
|
|
3
|
+
try:
|
|
4
|
+
from cape_parsers.utils.strings import extract_strings
|
|
5
|
+
except ImportError as e:
|
|
6
|
+
print(f"Problem importing extract_strings: {e}")
|
|
7
|
+
|
|
8
|
+
import logging
|
|
9
|
+
log = logging.getLogger(__name__)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def extract_config(data: bytes):
|
|
13
|
+
config = {}
|
|
14
|
+
|
|
15
|
+
with suppress(Exception):
|
|
16
|
+
if data[:2] == b"MZ":
|
|
17
|
+
return
|
|
18
|
+
|
|
19
|
+
header_data = data[:1024]
|
|
20
|
+
lines = extract_strings(data=header_data, minchars=3, dedup=False)
|
|
21
|
+
|
|
22
|
+
if len(lines) < 4:
|
|
23
|
+
return None
|
|
24
|
+
|
|
25
|
+
if '\\' in lines[2]:
|
|
26
|
+
config.setdefault("raw", {})["directory"] = (lines[1].strip() + '\\' + lines[0].strip()).replace(' ', ' ')
|
|
27
|
+
config.setdefault("raw", {})["inject_dll"] = lines[2].strip()
|
|
28
|
+
if '.exe' in lines[3]:
|
|
29
|
+
config.setdefault("raw", {})["exe_name"] = lines[3].strip()
|
|
30
|
+
|
|
31
|
+
if config:
|
|
32
|
+
config.setdefault("raw", config)
|
|
33
|
+
return config
|
|
34
|
+
|
|
35
|
+
if __name__ == "__main__":
|
|
36
|
+
import sys
|
|
37
|
+
|
|
38
|
+
with open(sys.argv[1], "rb") as f:
|
|
39
|
+
print(extract_config(f.read()))
|
|
@@ -85,7 +85,8 @@ def decode_resource(rc_data, key_end, fname):
|
|
|
85
85
|
enc_data = rc_data[:-RC4_KEY_LENGTH]
|
|
86
86
|
rc4key = rc_data[-RC4_KEY_LENGTH:-4] + key_end
|
|
87
87
|
dec_data = rc4(enc_data, rc4key)
|
|
88
|
-
open(fname, "wb")
|
|
88
|
+
with open(fname, "wb") as f:
|
|
89
|
+
f.write(dec_data.encode("utf-8") if isinstance(dec_data, str) else dec_data)
|
|
89
90
|
except Exception:
|
|
90
91
|
return
|
|
91
92
|
return dec_data
|
|
File without changes
|
|
@@ -1,18 +1,10 @@
|
|
|
1
1
|
# Copyright (C) 2010-2015 Cuckoo Foundation, Optiv, Inc. (brad.spengler@optiv.com)
|
|
2
2
|
# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
|
|
3
3
|
# See the file 'docs/LICENSE' for copying permission.
|
|
4
|
+
import yara
|
|
4
5
|
import logging
|
|
5
6
|
from pathlib import Path
|
|
6
7
|
|
|
7
|
-
try:
|
|
8
|
-
import re2 as re
|
|
9
|
-
|
|
10
|
-
HAVE_RE2 = True
|
|
11
|
-
except ImportError:
|
|
12
|
-
import re
|
|
13
|
-
|
|
14
|
-
HAVE_RE2 = False
|
|
15
|
-
|
|
16
8
|
|
|
17
9
|
log = logging.getLogger(__name__)
|
|
18
10
|
|
|
@@ -66,41 +58,86 @@ def bytes2str(convert):
|
|
|
66
58
|
return convert
|
|
67
59
|
|
|
68
60
|
|
|
69
|
-
def extract_strings(filepath: str = False, data: bytes = False,
|
|
70
|
-
"""Extract strings from
|
|
71
|
-
@return: list of printable strings.
|
|
72
|
-
"""
|
|
61
|
+
def extract_strings(filepath: str = False, data: bytes = False, dedup: bool = False, minchars: int = 5):
|
|
62
|
+
"""Extract ASCII and UTF-16LE strings from a file or byte string using YARA.
|
|
73
63
|
|
|
74
|
-
|
|
64
|
+
Args:
|
|
65
|
+
filepath: Path to the file to extract strings from.
|
|
66
|
+
data: Byte string to extract strings from. If filepath is provided, this is ignored.
|
|
67
|
+
dedup: If True, duplicate strings are removed.
|
|
68
|
+
minchars: Minimum length of strings to extract.
|
|
69
|
+
|
|
70
|
+
Returns:
|
|
71
|
+
A list of extracted strings.
|
|
72
|
+
"""
|
|
75
73
|
if minchars == 0:
|
|
76
74
|
minchars = 5
|
|
77
75
|
|
|
78
76
|
if filepath:
|
|
79
77
|
p = Path(filepath)
|
|
80
78
|
if not p.exists():
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
79
|
+
return []
|
|
80
|
+
data = p.read_bytes()
|
|
81
|
+
|
|
82
|
+
if not data or not isinstance(data, bytes):
|
|
83
|
+
return []
|
|
84
|
+
|
|
85
|
+
rule_source = r"""
|
|
86
|
+
rule GetStrings {
|
|
87
|
+
strings:
|
|
88
|
+
$s = /[\x20-\x7e]{""" + str(int(minchars)) + r""",}/ ascii wide
|
|
89
|
+
condition:
|
|
90
|
+
$s
|
|
91
|
+
}
|
|
92
|
+
"""
|
|
88
93
|
|
|
89
|
-
|
|
90
|
-
|
|
94
|
+
try:
|
|
95
|
+
rule = yara.compile(source=rule_source)
|
|
96
|
+
matches = rule.match(data=data)
|
|
97
|
+
except yara.Error:
|
|
98
|
+
return []
|
|
91
99
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
100
|
+
all_instances = [
|
|
101
|
+
{
|
|
102
|
+
'offset': instance.offset,
|
|
103
|
+
'data': instance.matched_data,
|
|
104
|
+
'length': len(instance.matched_data),
|
|
105
|
+
}
|
|
106
|
+
for match in matches
|
|
107
|
+
for string_match in match.strings
|
|
108
|
+
for instance in string_match.instances
|
|
109
|
+
]
|
|
99
110
|
|
|
100
|
-
|
|
101
|
-
|
|
111
|
+
all_instances.sort(key=lambda x: x['offset'])
|
|
112
|
+
|
|
113
|
+
strings = []
|
|
114
|
+
last_end_offset = -1
|
|
115
|
+
|
|
116
|
+
for inst in all_instances:
|
|
117
|
+
current_start = inst['offset']
|
|
118
|
+
current_end = current_start + inst['length']
|
|
119
|
+
|
|
120
|
+
if current_start < last_end_offset:
|
|
121
|
+
continue
|
|
122
|
+
|
|
123
|
+
val = inst['data']
|
|
124
|
+
decoded = None
|
|
125
|
+
|
|
126
|
+
if b"\x00" in val:
|
|
127
|
+
try:
|
|
128
|
+
decoded = val.decode("utf-16le")
|
|
129
|
+
except UnicodeDecodeError:
|
|
130
|
+
pass
|
|
131
|
+
|
|
132
|
+
if not decoded:
|
|
133
|
+
decoded = val.decode("ascii", errors="ignore")
|
|
134
|
+
|
|
135
|
+
if decoded:
|
|
136
|
+
strings.append(decoded)
|
|
137
|
+
last_end_offset = current_end
|
|
102
138
|
|
|
103
139
|
if dedup:
|
|
104
140
|
strings = list(set(strings))
|
|
105
141
|
|
|
106
142
|
return strings
|
|
143
|
+
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/CobaltStrikeBeacon.py
RENAMED
|
File without changes
|
{cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/CobaltStrikeStager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cape_parsers-0.1.61 → cape_parsers-0.1.62}/cape_parsers/CAPE/community/PhemedroneStealer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|