angr 9.2.178__cp310-abi3-macosx_11_0_arm64.whl → 9.2.180__cp310-abi3-macosx_11_0_arm64.whl

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.

Potentially problematic release.


This version of angr might be problematic. Click here for more details.

@@ -357,26 +357,27 @@ class ProximityGraphAnalysis(Analysis):
357
357
  def _handle_Call(
358
358
  stmt_idx: int, stmt: ailment.Stmt.Call, block: ailment.Block | None # pylint:disable=unused-argument
359
359
  ): # pylint:disable=unused-argument
360
- func_node = self.kb.functions[stmt.target.value]
361
- ref_at = {stmt.ins_addr}
362
-
363
- # extract arguments
364
- args = []
365
- if stmt.args:
366
- for arg in stmt.args:
367
- self._arg_handler(arg, args, string_refs)
368
-
369
- if (
370
- self._expand_funcs and func_node.addr in self._expand_funcs
371
- ): # pylint:disable=unsupported-membership-test
372
- new_node = FunctionProxiNode(func_node, ref_at=ref_at)
373
- if new_node not in to_expand:
374
- to_expand.append(new_node)
375
- else:
376
- new_node = CallProxiNode(func_node, ref_at=ref_at, args=tuple(args) if args is not None else None)
360
+ if isinstance(stmt.target, ailment.Expr.Const) and self.kb.functions.contains_addr(stmt.target.value):
361
+ func_node = self.kb.functions[stmt.target.value]
362
+ ref_at = {stmt.ins_addr}
363
+
364
+ # extract arguments
365
+ args = []
366
+ if stmt.args:
367
+ for arg in stmt.args:
368
+ self._arg_handler(arg, args, string_refs)
369
+
370
+ if (
371
+ self._expand_funcs and func_node.addr in self._expand_funcs
372
+ ): # pylint:disable=unsupported-membership-test
373
+ new_node = FunctionProxiNode(func_node, ref_at=ref_at)
374
+ if new_node not in to_expand:
375
+ to_expand.append(new_node)
376
+ else:
377
+ new_node = CallProxiNode(func_node, ref_at=ref_at, args=tuple(args) if args is not None else None)
377
378
 
378
- # stmt has been properly handled, add the proxi node to the list
379
- self.handled_stmts.append(new_node)
379
+ # stmt has been properly handled, add the proxi node to the list
380
+ self.handled_stmts.append(new_node)
380
381
 
381
382
  # This should have the same functionality as the previous handler
382
383
  def _handle_CallExpr(
angr/flirt/__init__.py CHANGED
@@ -26,6 +26,60 @@ LIBRARY_TO_SIGNATURES: dict[str, list[FlirtSignature]] = defaultdict(list)
26
26
  STRING_TO_LIBRARIES: dict[str, set[str]] = defaultdict(set)
27
27
 
28
28
 
29
+ def load_signature(sig_path: str, meta_path: str | None = None) -> tuple[str, FlirtSignature] | None:
30
+ """
31
+ Load a single FLIRT signature from a specific path.
32
+
33
+ :param sig_path: Location of the FLIRT signature.
34
+ :return: A FlirtSignature object if loading was successful, None otherwise.
35
+ """
36
+
37
+ # parse it
38
+ try:
39
+ with open(sig_path, "rb") as f:
40
+ sig_parsed = FlirtSignatureParsed.parse(f)
41
+ except FlirtSignatureError:
42
+ return None
43
+
44
+ # is there a meta data file?
45
+ if meta_path is not None and os.path.isfile(meta_path):
46
+ # yes!
47
+ with open(meta_path) as f:
48
+ meta = json.load(f)
49
+
50
+ arch = str(meta.get("arch", "Unknown"))
51
+ platform = str(meta.get("platform", "UnknownOS"))
52
+ os_name = meta.get("os", None)
53
+ os_version = meta.get("os_version", None)
54
+ compiler = meta.get("compiler", None)
55
+ compiler_version = meta.get("compiler_version", None)
56
+ unique_strings = meta.get("unique_strings", None)
57
+
58
+ else:
59
+ # nope... we need to extract information from the signature file
60
+ arch = flirt_arch_to_arch_name(sig_parsed.arch, sig_parsed.app_types)
61
+ platform = flirt_os_type_to_os_name(sig_parsed.os_types)
62
+ os_name = None
63
+ os_version = None
64
+ unique_strings = None
65
+ compiler = None
66
+ compiler_version = None
67
+
68
+ signature = FlirtSignature(
69
+ arch,
70
+ platform,
71
+ sig_parsed.libname,
72
+ sig_path,
73
+ unique_strings=unique_strings,
74
+ compiler=compiler,
75
+ compiler_version=compiler_version,
76
+ os_name=os_name,
77
+ os_version=os_version,
78
+ )
79
+
80
+ return arch, signature
81
+
82
+
29
83
  def load_signatures(path: str) -> None:
30
84
  """
31
85
  Recursively load all FLIRT signatures under a specific path.
@@ -40,52 +94,14 @@ def load_signatures(path: str) -> None:
40
94
  for root, _, filenames in os.walk(path):
41
95
  for filename in filenames:
42
96
  if filename.endswith(".sig"):
43
- # parse it
44
97
  sig_path = os.path.join(root, filename)
45
- try:
46
- with open(sig_path, "rb") as f:
47
- sig_parsed = FlirtSignatureParsed.parse(f)
48
- except FlirtSignatureError:
98
+ meta_path = os.path.join(root, filename[:-4] + ".meta")
99
+ r = load_signature(sig_path, meta_path=meta_path)
100
+ if r is None:
49
101
  _l.warning("Failed to load FLIRT signature file %s.", sig_path)
50
102
  continue
51
103
 
52
- # is there a meta data file?
53
- meta_path = os.path.join(root, filename[:-4] + ".meta")
54
- if os.path.isfile(meta_path):
55
- # yes!
56
- with open(meta_path) as f:
57
- meta = json.load(f)
58
-
59
- arch = str(meta.get("arch", "Unknown"))
60
- platform = str(meta.get("platform", "UnknownOS"))
61
- os_name = meta.get("os", None)
62
- os_version = meta.get("os_version", None)
63
- compiler = meta.get("compiler", None)
64
- compiler_version = meta.get("compiler_version", None)
65
- unique_strings = meta.get("unique_strings", None)
66
-
67
- else:
68
- # nope... we need to extract information from the signature file
69
- arch = flirt_arch_to_arch_name(sig_parsed.arch, sig_parsed.app_types)
70
- platform = flirt_os_type_to_os_name(sig_parsed.os_types)
71
- os_name = None
72
- os_version = None
73
- unique_strings = None
74
- compiler = None
75
- compiler_version = None
76
-
77
- signature = FlirtSignature(
78
- arch,
79
- platform,
80
- sig_parsed.libname,
81
- sig_path,
82
- unique_strings=unique_strings,
83
- compiler=compiler,
84
- compiler_version=compiler_version,
85
- os_name=os_name,
86
- os_version=os_version,
87
- )
88
-
104
+ arch, signature = r
89
105
  FLIRT_SIGNATURES_BY_ARCH[arch].append(signature)
90
106
 
91
107
  # fill in LIBRARY_TO_SIGNATURES and STRING_TO_LIBRARIES
@@ -95,3 +111,14 @@ def load_signatures(path: str) -> None:
95
111
  if sig.unique_strings:
96
112
  for us in sig.unique_strings:
97
113
  STRING_TO_LIBRARIES[us].add(sig.sig_name)
114
+
115
+
116
+ __all__ = (
117
+ "FLIRT_SIGNATURES_BY_ARCH",
118
+ "FS",
119
+ "LIBRARY_TO_SIGNATURES",
120
+ "STRING_TO_LIBRARIES",
121
+ "FlirtSignature",
122
+ "load_signature",
123
+ "load_signatures",
124
+ )
@@ -419,7 +419,8 @@ class LiveDefinitions:
419
419
  sp_v = sp_values.one_value()
420
420
  if sp_v is None:
421
421
  values = [v for v in next(iter(sp_values.values())) if self.get_stack_offset(v) is not None]
422
- assert len({self.get_stack_offset(v) for v in values}) == 1
422
+ if len({self.get_stack_offset(v) for v in values}) != 1:
423
+ return None
423
424
  return self.get_stack_offset(values[0])
424
425
 
425
426
  return self.get_stack_offset(sp_v)
angr/rustylib.abi3.so CHANGED
Binary file
angr/unicornlib.dylib CHANGED
Binary file
angr/utils/types.py CHANGED
@@ -97,6 +97,8 @@ def dereference_simtype(
97
97
  continue
98
98
  if real_type is None:
99
99
  raise AngrMissingTypeError(f"Missing type {t.name}")
100
+ if t._arch is not None:
101
+ real_type = real_type.with_arch(t._arch)
100
102
  return dereference_simtype(real_type, type_collections, memo=memo)
101
103
 
102
104
  # the following code prepares a real_type SimType object that will be returned at the end of this method
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: angr
3
- Version: 9.2.178
3
+ Version: 9.2.180
4
4
  Summary: A multi-architecture binary analysis toolkit, with the ability to perform dynamic symbolic execution and various static analyses on binaries
5
5
  License: BSD-2-Clause
6
6
  Project-URL: Homepage, https://angr.io/
@@ -16,12 +16,12 @@ Description-Content-Type: text/markdown
16
16
  License-File: LICENSE
17
17
  Requires-Dist: cxxheaderparser
18
18
  Requires-Dist: GitPython
19
- Requires-Dist: archinfo==9.2.178
19
+ Requires-Dist: archinfo==9.2.180
20
20
  Requires-Dist: cachetools
21
21
  Requires-Dist: capstone==5.0.3
22
22
  Requires-Dist: cffi>=1.14.0
23
- Requires-Dist: claripy==9.2.178
24
- Requires-Dist: cle==9.2.178
23
+ Requires-Dist: claripy==9.2.180
24
+ Requires-Dist: cle==9.2.180
25
25
  Requires-Dist: msgspec
26
26
  Requires-Dist: mulpyplexer
27
27
  Requires-Dist: networkx!=2.8.1,>=2.0
@@ -31,7 +31,7 @@ Requires-Dist: pycparser>=2.18
31
31
  Requires-Dist: pydemumble
32
32
  Requires-Dist: pyformlang
33
33
  Requires-Dist: pypcode<4.0,>=3.2.1
34
- Requires-Dist: pyvex==9.2.178
34
+ Requires-Dist: pyvex==9.2.180
35
35
  Requires-Dist: rich>=13.1.0
36
36
  Requires-Dist: sortedcontainers
37
37
  Requires-Dist: sympy
@@ -66,7 +66,7 @@ Project repository: https://github.com/angr/angr
66
66
 
67
67
  Documentation: https://docs.angr.io
68
68
 
69
- API Documentation: https://api.angr.io/en/latest/
69
+ API Documentation: https://docs.angr.io/en/latest/api.html
70
70
 
71
71
  ## What is angr?
72
72
 
@@ -80,7 +80,7 @@ angr is a suite of Python 3 libraries that let you load a binary and do a lot of
80
80
  - Value-set analysis (VSA)
81
81
  - Decompilation
82
82
 
83
- The most common angr operation is loading a binary: `p = angr.Project('/bin/bash')` If you do this in an enhanced REPL like IPython, you can use tab-autocomplete to browse the [top-level-accessible methods](https://docs.angr.io/docs/toplevel) and their docstrings.
83
+ The most common angr operation is loading a binary: `p = angr.Project('/bin/bash')` If you do this in an enhanced REPL like IPython, you can use tab-autocomplete to browse the [top-level-accessible methods](https://docs.angr.io/core-concepts/toplevel) and their docstrings.
84
84
 
85
85
  The short version of "how to install angr" is `mkvirtualenv --python=$(which python3) angr && python -m pip install angr`.
86
86
 
@@ -108,5 +108,5 @@ project.execute()
108
108
  - Documentation as [HTML](https://docs.angr.io/) and sources in the angr [Github repository](https://github.com/angr/angr/tree/master/docs)
109
109
  - Dive right in: [top-level-accessible methods](https://docs.angr.io/core-concepts/toplevel)
110
110
  - [Examples using angr to solve CTF challenges](https://docs.angr.io/examples).
111
- - [API Reference](https://angr.io/api-doc/)
111
+ - [API Reference](https://docs.angr.io/en/latest/api.html)
112
112
  - [awesome-angr repo](https://github.com/degrigis/awesome-angr)
@@ -1,17 +1,23 @@
1
+ angr-9.2.180.dist-info/RECORD,,
2
+ angr-9.2.180.dist-info/WHEEL,sha256=kFn0Fg1gyV9Pk02-Hr4CbqbhAvYPyosBpF5pwZB07jU,135
3
+ angr-9.2.180.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
4
+ angr-9.2.180.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
5
+ angr-9.2.180.dist-info/METADATA,sha256=FrAAYo2drnFnR8J3PO9dqr21gCdCMF1lc5NSMAwVOsc,4445
6
+ angr-9.2.180.dist-info/licenses/LICENSE,sha256=PmWf0IlSz6Jjp9n7nyyBQA79Q5C2ma68LRykY1V3GF0,1456
1
7
  angr/vaults.py,sha256=D_gkDegCyPlZMKGC5E8zINYAaZfSXNWbmhX0rXCYpvM,9718
2
- angr/unicornlib.dylib,sha256=I63V6zKOQHoPRNohN06z4IyiigGt4OD1YMhFiTHW7w0,234064
8
+ angr/unicornlib.dylib,sha256=CX5lk467Y4yWOcGSobhVDfj_uiwiyEpv1i9rnKstLfU,234064
3
9
  angr/state_hierarchy.py,sha256=qDQCUGXmQm3vOxE3CSoiqTH4OAFFOWZZt9BLhNpeOhA,8484
4
10
  angr/callable.py,sha256=j9Orwd4H4fPqOYylcEt5GuLGPV7ZOqyA_OYO2bp5PAA,6437
5
11
  angr/sim_type.py,sha256=8AJjzu_hp4GvgXogz8KnLiPXSnxBGUy-D3G8w4wEicQ,144714
6
12
  angr/knowledge_base.py,sha256=hRoSLuLaOXmddTSF9FN5TVs7liftpBGq_IICz5AaYBk,4533
7
13
  angr/emulator.py,sha256=aZXi8-jQ_9uelN2zvlecR2ZYXPey4PHyju6yVJIWDAk,4708
8
- angr/rustylib.abi3.so,sha256=LoK2BUZxT4aUd3fBgo884clsFeP-Rg9JWGJjdfMwrFE,4772320
14
+ angr/rustylib.abi3.so,sha256=7jWwz0kikkRqO8M9W3d1yK6sRZyL_-LJdwsOF-U2JYo,4768352
9
15
  angr/codenode.py,sha256=hCrQRp4Ebb2X6JicNmY1PXo3_Pm8GDxVivVW0Pwe84k,3918
10
16
  angr/graph_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
17
  angr/sim_manager.py,sha256=w7yTfWR-P9yoN5x85eeiNpj9dTrnjpJ3o5aoFpDAPnc,39396
12
18
  angr/serializable.py,sha256=l908phj_KcqopEEL_oCufbP_H6cm3Wc9v-5xdux1-6g,1533
13
19
  angr/code_location.py,sha256=kXNJDEMge9VRHadrK4E6HQ8wDdCaHSXNqyAZuHDEGuM,5397
14
- angr/__init__.py,sha256=vN_wwQPUaez8llCxHPyGbA0xDZPdNi9jbjCSU0hqngI,9246
20
+ angr/__init__.py,sha256=N3ua9-w9Q01-Id9XrkKAweYGX66vX0iiOx_JPukGv8Q,9246
15
21
  angr/blade.py,sha256=OGGW-oggqI9_LvgZhiQuh9Ktkvf3vhRBmH0XviNyZ6o,15801
16
22
  angr/factory.py,sha256=PPNWvTiWaIgzxzyoTr8ObSF-TXp1hCdbY2e-0xBePNc,17815
17
23
  angr/sim_state_options.py,sha256=dsMY3UefvL7yZKXloubMhzUET3N2Crw-Fpw2Vd1ouZQ,12468
@@ -684,7 +690,7 @@ angr/procedures/win32_kernel/ExFreePoolWithTag.py,sha256=ok_CG6yILlPGZzg-VvBxWMX
684
690
  angr/procedures/java_io/write.py,sha256=zYTD5OYySQEfj4Z8t54AEoM1gUR5AXdeCa6AmNabwXk,662
685
691
  angr/procedures/java_io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
686
692
  angr/procedures/java_io/read.py,sha256=PWQjyUErAHcoL5JYG4IhSqeRc5s30IeHM2mpsWdBqgI,384
687
- angr/ailment/converter_vex.py,sha256=yIe0hFwuc_2mHVWw_F31u7hDPBQ-7VwuPXaQyNmqfXo,28159
693
+ angr/ailment/converter_vex.py,sha256=PSZvU83HCtRpVax87QUJXWiAshuZ02pNjyU9TbyJ8iU,29091
688
694
  angr/ailment/converter_common.py,sha256=6MxxI3PRZBlFlIP2uZhQAa8vDvJr0nMDd-QnTbPLn6o,180
689
695
  angr/ailment/tagged_object.py,sha256=48xIMC5WKebEpA12Zq6dQz3evvKxT3ULEu2cPdw9w-Y,1566
690
696
  angr/ailment/statement.py,sha256=3JEhg-JDRrNjaeHFgO-liEIrZRW6v5sIsOqcGHiuM3A,30472
@@ -755,7 +761,7 @@ angr/utils/graph.py,sha256=-8cipOvaBeD4owh2cksAwBgcIx2jOeKZa-zcFk73WeM,34787
755
761
  angr/utils/constants.py,sha256=kY8SvX3475AT7JWD2uKHiLKuFEAMxn6OFVtnfbIJzaE,281
756
762
  angr/utils/cowdict.py,sha256=qx2iO1rrCDTQUGX9dqi9ZAly2Dgm6bCEgdSAQw9MxRM,2159
757
763
  angr/utils/__init__.py,sha256=kBUIJCp9WSgzb62zMg4puUUeheMSl9U4RFqkfiL3en8,1159
758
- angr/utils/types.py,sha256=688trvR0_j93sfeRgFT1npcmjNGSx99m_IPe9Xyy9WY,4967
764
+ angr/utils/types.py,sha256=_DklLSyARlUJyEf4Viub95lYWF7Yh9PmKAd74munutQ,5052
759
765
  angr/utils/formatting.py,sha256=OWzSfAlKcL09cEtcqxszYWHsRO9tih7hvXD2K9kUZc8,4343
760
766
  angr/utils/orderedset.py,sha256=aGfmLdOS77nzz2eoPpCqRICqzaAeBnuis1Et_I_hiZg,2047
761
767
  angr/utils/cpp.py,sha256=k6ZOUNIqYxLd5WSRKP2T3li-3zt06PtneLgaBWPOtiU,516
@@ -889,7 +895,7 @@ angr/knowledge_plugins/key_definitions/constants.py,sha256=n1h_yQbwD9qUOmuBFRNZO
889
895
  angr/knowledge_plugins/key_definitions/__init__.py,sha256=-x1VGH3LHMze3T-RygodvUG3oXXa5jhKvjXoPKyiU_0,432
890
896
  angr/knowledge_plugins/key_definitions/rd_model.py,sha256=wJUpQ1-QkNNOTYqPrlCY840SrG3KUns8fJahIqvcdTM,7105
891
897
  angr/knowledge_plugins/key_definitions/heap_address.py,sha256=YF5k7saQTQA7cz3Sz0PbW7N3qpNZoVrlpOvq1L6gvFI,919
892
- angr/knowledge_plugins/key_definitions/live_definitions.py,sha256=Cehc8UIj8D174Iy7wLvHfElRq-caFCms09AbxGVpWu4,38964
898
+ angr/knowledge_plugins/key_definitions/live_definitions.py,sha256=y5oFS8du8TYSDN_d26aW-83WaZ8_PGs1TkaDcAdZwYA,38989
893
899
  angr/knowledge_plugins/key_definitions/undefined.py,sha256=9_lhbftnUqPGBc1boOoZtUQnNFn0eXsl3Xty0y79z2A,1273
894
900
  angr/knowledge_plugins/key_definitions/definition.py,sha256=AAePJW3BYV0Ju3ZFdqVJdQebPAkB1ASdTiuU9sRqzn4,8574
895
901
  angr/knowledge_plugins/key_definitions/environment.py,sha256=UbXUgv2vjz_dbG_gF2iNK6ZztKt2vgxov9SXdVEWFXk,3886
@@ -1048,7 +1054,7 @@ angr/analyses/boyscout.py,sha256=KIxl1chV_hQV2Unn-vnoYne1dmFVy1WTUdoidkUpQ8I,246
1048
1054
  angr/analyses/congruency_check.py,sha256=QeYRrdrs_iluLLnKz3KUHkCTPRVl5PgM2T0ZXd786HA,16165
1049
1055
  angr/analyses/stack_pointer_tracker.py,sha256=tsiA8VHyrUsR9sCFh6CL0BS1Ubunv2pat6D3DLanDgI,38151
1050
1056
  angr/analyses/binary_optimizer.py,sha256=xFDv8c1s5nQUKY_EWYRCuVroSXFkMiSLl5LngPiysDA,26145
1051
- angr/analyses/proximity_graph.py,sha256=KoRvdQswRrDygotrY_6hPnrzUf1U5c5mht-b7lowyFM,16087
1057
+ angr/analyses/proximity_graph.py,sha256=iZU1fIUnfg3HEC0E9x4cVC8WC3V0cUbgVQ9CoAbVj0Q,16270
1052
1058
  angr/analyses/vtable.py,sha256=1Ed7jzr99rk9VgOGzcxBw_6GFqby5mIdSTGPqQPhcZM,3872
1053
1059
  angr/analyses/soot_class_hierarchy.py,sha256=R4xeacn-a_Q7PxSyj_stu5mnglZkPB5US5srKChX3mk,8740
1054
1060
  angr/analyses/__init__.py,sha256=KFu0Otm7bqAcjX8dsnQzphJmkUVxMLssjFIJJOci32U,3479
@@ -1059,7 +1065,7 @@ angr/analyses/complete_calling_conventions.py,sha256=a-hJQ6yRusDhRADGcLxjY6ETlD1
1059
1065
  angr/analyses/callee_cleanup_finder.py,sha256=lQRn5rHS6mGNOqDh-UsxX-gs4cDpwQ6KNjvzQFVCdio,2800
1060
1066
  angr/analyses/static_hooker.py,sha256=AYJXoHtdq2m-MgpJbx4eur7wy7llrKXvsVM5NdPcKHU,1852
1061
1067
  angr/analyses/code_tagging.py,sha256=Gj7Ms24RnmhC9OD57gw7R6_c-pLfqSug-LVUMw_JmXE,3510
1062
- angr/analyses/disassembly.py,sha256=YgU--tr1mZtlNhXTTWLBD4s-4g8vUs-01Vk6A04f5ng,46192
1068
+ angr/analyses/disassembly.py,sha256=ukPUguw1WhjsUsXSb-ZbTPbQeN2BuY_UneccNdru20o,48912
1063
1069
  angr/analyses/s_propagator.py,sha256=-pqaSlP6TmonDylPbQeHz1DirlpDBq0cMn29LuEzsU8,25157
1064
1070
  angr/analyses/s_liveness.py,sha256=mSWwwAPpXl-dIZNx5pAHA5vWXqCO_OivOXWoiaI7tss,7984
1065
1071
  angr/analyses/patchfinder.py,sha256=yf8FwkWPVOrvMRA90dKZizVz4s4QE-upq6B0Xxn8wj8,5063
@@ -1138,7 +1144,7 @@ angr/analyses/reaching_definitions/function_handler_library/stdio.py,sha256=dPGE
1138
1144
  angr/analyses/reaching_definitions/function_handler_library/string.py,sha256=qh7XJXiSuT5dwUjnYKSo6RhGQbsMjJm97mma1gypNG0,8825
1139
1145
  angr/analyses/reaching_definitions/function_handler_library/stdlib.py,sha256=YRNWe87eQ9aJo-m0IvN_nRIqQLFJxb9kfN3cboN3218,8124
1140
1146
  angr/analyses/cfg/cfg.py,sha256=dc9M91CaLeEKduYfMwpsT_01x6XyYuoNvgvcDKtbN-I,3177
1141
- angr/analyses/cfg/cfb.py,sha256=HI25OJKs2OUlWkOSG4kLsZQFnBJcfDwSQKp6_ZRsoQY,15353
1147
+ angr/analyses/cfg/cfb.py,sha256=IpHAvGQPkzY7p_HDSCjVc5cJOXFK-z3scJR9CP4Cr9I,15918
1142
1148
  angr/analyses/cfg/cfg_job_base.py,sha256=Zshze972MakTsd-licQz77lac17igQaaTsAteHeHhYQ,5974
1143
1149
  angr/analyses/cfg/cfg_fast.py,sha256=uTW7bOn8WR9aP0RZiZQFgEuHunrrHp4FhgU8wX_cpwo,236180
1144
1150
  angr/analyses/cfg/__init__.py,sha256=-w8Vd6FD6rtjlQaQ7MxwmliFgS2zt-kZepAY4gHas04,446
@@ -1209,27 +1215,27 @@ angr/analyses/decompiler/region_identifier.py,sha256=kQJ_KCd3Qx9LWStTM_iUNBG10bD
1209
1215
  angr/analyses/decompiler/empty_node_remover.py,sha256=4CdxTM1AVmRoEdRIwJg1YEy10AgkEoRmJ8SU7xGbKnM,7424
1210
1216
  angr/analyses/decompiler/seq_to_blocks.py,sha256=4-tqstendHHO2J0WD3JHQkm8c4c2KG3AO3mYWrn4xvg,569
1211
1217
  angr/analyses/decompiler/__init__.py,sha256=eyxt2UKvPkbuS_l_1GPb0CJ6hrj2wTavh-mVf23wwiQ,1162
1212
- angr/analyses/decompiler/clinic.py,sha256=src88SCieo4EXC-n9_vRPzMFsKMnBvxN4y--AXl4v7U,151838
1218
+ angr/analyses/decompiler/clinic.py,sha256=Yo1OGf5jGDseCOQZt01DqgTi9Ds1QHtEgK4LLB01wWA,152135
1213
1219
  angr/analyses/decompiler/decompilation_cache.py,sha256=06oiG299mVpGOTL54Xy1CUxz5s8QLgYJn5XIvKFLYkU,1566
1214
1220
  angr/analyses/decompiler/block_simplifier.py,sha256=vjlugXCB3xFYBDBn3LPxOtU1dDc76PpYtVEoju3i9-4,15513
1215
1221
  angr/analyses/decompiler/node_replacer.py,sha256=jJd3XkIwFE07bIbLriJ6_mQEvfhm90C8lqlrL5Mz1Xg,1450
1216
1222
  angr/analyses/decompiler/decompilation_options.py,sha256=bs6CNpU3UxepgBB_9eUH4jriNpGoryyPP0sR1hDWpTk,8477
1217
1223
  angr/analyses/decompiler/region_walker.py,sha256=u0hR0bEX1hSwkv-vejIM1gS-hcX2F2DLsDqpKhQ5_pQ,752
1218
1224
  angr/analyses/decompiler/graph_region.py,sha256=uSDdCLXfLZJVcb0wMdgBh-KtBJUUhLGHQ-Ap4dNs8wo,18186
1219
- angr/analyses/decompiler/utils.py,sha256=B7YwnEBF6AZ5DG3E7zHK0TF7zOLeiMWEcc18YL_eUyA,43074
1225
+ angr/analyses/decompiler/utils.py,sha256=eM1pOuoEUzT-7wd8waRrUvZk7bgA3MamzbyjLv4ETs8,43451
1220
1226
  angr/analyses/decompiler/decompiler.py,sha256=adX2UJv6s4JAF7Qf6HTgwPo28QQ6yCzrrQrtlqDZyfE,31864
1221
1227
  angr/analyses/decompiler/goto_manager.py,sha256=wVoeXJcadIda84LloGgqW-rL0QHLv3fx4vZHLhmz-_o,4027
1222
1228
  angr/analyses/decompiler/block_similarity.py,sha256=S1lTlXFyOmJlQa7I3y7xgLsENLS4XGET7tdD55k_6Vg,6859
1223
- angr/analyses/decompiler/ail_simplifier.py,sha256=1qzHYpc5zS9Ei0wstbNUgbV7wkb0z0-6dPJEvK_Vh1g,95948
1229
+ angr/analyses/decompiler/ail_simplifier.py,sha256=RAhozYRT21_c80-8czvAwrCzo7eTInIPmHio764uU4s,95944
1224
1230
  angr/analyses/decompiler/jump_target_collector.py,sha256=CucT99luxIVrioM-keMMjyNKWE5QaXEFQOFphtyU8b4,1189
1225
1231
  angr/analyses/decompiler/label_collector.py,sha256=fsCkldy8ZKH4FjkREByg-NDmfCd7Pmuz2K1Dks9oVjM,814
1226
1232
  angr/analyses/decompiler/jumptable_entry_condition_rewriter.py,sha256=f_JyNiSZfoudElfl2kIzONoYCiosR4xYFOe8Q5SkvLg,2176
1227
1233
  angr/analyses/decompiler/structured_codegen/__init__.py,sha256=mxG4yruPAab8735wVgXZ1zu8qFPz-njKe0m5UcywE3o,633
1228
1234
  angr/analyses/decompiler/structured_codegen/dwarf_import.py,sha256=J6V40RuIyKXN7r6ESftIYfoREgmgFavnUL5m3lyTzlM,7072
1229
- angr/analyses/decompiler/structured_codegen/c.py,sha256=7rcmoqzbUa_Cv9Dnab1Vs72gVAOb2gGYR17G33BoQ98,150245
1235
+ angr/analyses/decompiler/structured_codegen/c.py,sha256=fgkU26x8sNFZij1h7GTkFGlQYG6oKn5L9tFBVQa8j0c,152371
1230
1236
  angr/analyses/decompiler/structured_codegen/dummy.py,sha256=JZLeovXE-8C-unp2hbejxCG30l-yCx4sWFh7JMF_iRM,570
1231
1237
  angr/analyses/decompiler/structured_codegen/base.py,sha256=mb5d5iQO1N2wMl7QySvfHemXM-e0yQBhjtlmnLsVSgE,5134
1232
- angr/analyses/decompiler/ssailification/rewriting.py,sha256=aIYuFGlroEXqxaf6lZCfodLD2B53Sb8UJgl2nNb4lg8,15076
1238
+ angr/analyses/decompiler/ssailification/rewriting.py,sha256=opMP9ONIx-cQ26PSyXO_NR9MTM_LaH-MObFk8C2uXto,15143
1233
1239
  angr/analyses/decompiler/ssailification/traversal_engine.py,sha256=MdmNKWN2LVQ9fH7O-E4yNn5oXUS2p2u1qHM_OayPJ-k,11466
1234
1240
  angr/analyses/decompiler/ssailification/traversal.py,sha256=rvFatMUpQQMbENCsPoPogAbBv0AAaCDcKiNvh6GOVeQ,4027
1235
1241
  angr/analyses/decompiler/ssailification/__init__.py,sha256=zcHoI7e2El2RSU_bHTpQRd1XRLHOfFScG6f3cm5y_lQ,108
@@ -1251,7 +1257,7 @@ angr/analyses/decompiler/dephication/graph_dephication.py,sha256=OB3wLoUtfSTyZGI
1251
1257
  angr/analyses/decompiler/notes/deobfuscated_strings.py,sha256=f9AtSSVIB7kAlPUlkLxqNodco4KWbYivPV3Yh8KjVTo,1877
1252
1258
  angr/analyses/decompiler/notes/__init__.py,sha256=4e5yTEQr5tnTQt8BfsMXqRUUpWPaQIFLzsgNVx55VJw,181
1253
1259
  angr/analyses/decompiler/notes/decompilation_note.py,sha256=MTFHVMlfmJGrKGuvlHppcIEFR1FWF9xW8_0U0xoFOUo,1352
1254
- angr/analyses/decompiler/region_simplifiers/region_simplifier.py,sha256=kN8NWmdNrZIY-YiwQFE2PsvxgCupyGCczH7kmKPfUQM,9536
1260
+ angr/analyses/decompiler/region_simplifiers/region_simplifier.py,sha256=9Kt6TmXFoL0h4ml2GwQRsN9LQApBR-V8Oj02cbsmvXw,9744
1255
1261
  angr/analyses/decompiler/region_simplifiers/switch_cluster_simplifier.py,sha256=QYrSLtD9zvfJnU8VwFa0E7NaDfKkA8vF32s2G08wTho,24926
1256
1262
  angr/analyses/decompiler/region_simplifiers/goto.py,sha256=z2fZYNK5DsiHdOBLSEeZ-_CC6_5bBZDVV7N6z-wD_TE,6117
1257
1263
  angr/analyses/decompiler/region_simplifiers/cascading_cond_transformer.py,sha256=xVY1NUqFudjdcFFO5RAfbdIlHyCRPLYDVPM8Z4J6uic,3832
@@ -1262,10 +1268,10 @@ angr/analyses/decompiler/region_simplifiers/__init__.py,sha256=BSD9osrReTEdapOMm
1262
1268
  angr/analyses/decompiler/region_simplifiers/ifelse.py,sha256=rU01g103DJXtHBX72A2gbZJYlpVnmjLxL5Oo0FfjrVs,3808
1263
1269
  angr/analyses/decompiler/region_simplifiers/loop.py,sha256=iU2lG-O0HUqxkKtY3ydmKh2pL1TPxEttdUV_oiB3qn8,6331
1264
1270
  angr/analyses/decompiler/region_simplifiers/cascading_ifs.py,sha256=kPWajH8__ap-7713B-rT3Dun_O1gYW-AoS5gJHRoMlY,2610
1265
- angr/analyses/decompiler/region_simplifiers/expr_folding.py,sha256=naCgnDUjdiDsh6dvoNO-VARfbTfaEYpu3EX9HkJ1cqE,31790
1271
+ angr/analyses/decompiler/region_simplifiers/expr_folding.py,sha256=OkKG5u5EONaQ5IOO87ZF04Y3Xsha3dzgNJsSJ1C6cHE,32822
1266
1272
  angr/analyses/decompiler/peephole_optimizations/basepointeroffset_and_mask.py,sha256=2Tb4zGnFA5hZH8oI6t1hoRstGDmOBsOoQxf6fU5Ct7A,1105
1267
1273
  angr/analyses/decompiler/peephole_optimizations/tidy_stack_addr.py,sha256=8gPWhFTcezgO7pZ_v0pxR7pweds4_GrrY82ur6Nrlf8,4796
1268
- angr/analyses/decompiler/peephole_optimizations/cas_intrinsics.py,sha256=lzlyhe1RP020ezYN77QRFu5p7zNaH4XSMkpBhxRP7ms,7959
1274
+ angr/analyses/decompiler/peephole_optimizations/cas_intrinsics.py,sha256=xfLNvquH6x_-NtEHJpbBJBPTIcBQW6-JpDmcHeuRTxA,7957
1269
1275
  angr/analyses/decompiler/peephole_optimizations/remove_redundant_nots.py,sha256=V5Vm1zUGjsauyOYXbUgDfZEgmChLbY8wnvmcRbfdMk0,1278
1270
1276
  angr/analyses/decompiler/peephole_optimizations/bool_expr_xor_1.py,sha256=vLXt0ekjRep4SgaNq1wyxVkBTzOMTa03d3rgkjUOcUg,995
1271
1277
  angr/analyses/decompiler/peephole_optimizations/bswap.py,sha256=fXV_a58W2X30KCanYeSHdZ2yPcfDlyZq_OkYNMkglrg,6420
@@ -1325,7 +1331,7 @@ angr/analyses/decompiler/structuring/recursive_structurer.py,sha256=iWFZdM54C1q2
1325
1331
  angr/analyses/decompiler/structuring/__init__.py,sha256=kEFP-zv9CZrhJtLTKwT9-9cGVTls71wLYaLDUuYorBU,711
1326
1332
  angr/analyses/decompiler/structuring/dream.py,sha256=QNZ8dKk79Uq0urUEpwmBgX2Ak3ZQLhiydcSKJTx968c,48738
1327
1333
  angr/analyses/decompiler/structuring/structurer_nodes.py,sha256=3T6QPeD1KlLkcjMDBblQCb1Cf50VF36C-hlFhiKi9nc,12823
1328
- angr/analyses/decompiler/structuring/phoenix.py,sha256=-yGUKZt37N0tbqTJoRI4Pk_ohZhYaxT22wWEWsblzZ4,164692
1334
+ angr/analyses/decompiler/structuring/phoenix.py,sha256=Ekifz6wkQ0LI0s4Ar7aKBCj65jTzXc8VOaijf3p9eI8,167978
1329
1335
  angr/analyses/decompiler/structuring/structurer_base.py,sha256=xzQMYBInNyeRYibbiuk6EYbvPO235El3guT1yh1qAxw,50690
1330
1336
  angr/analyses/decompiler/optimization_passes/win_stack_canary_simplifier.py,sha256=M9ywJ3WuQBurI5hZw9WqcwLCppW9iHGvK9HkqSXUIbY,22115
1331
1337
  angr/analyses/decompiler/optimization_passes/optimization_pass.py,sha256=cr_9dkuQdvlhErrf221V2ugpNDj0ReAwO6FD3ksf9f8,28307
@@ -1396,11 +1402,5 @@ angr/analyses/flirt/flirt_function.py,sha256=IHskIu5XTTCLKfmow23ig4HIqzs7oGbw7ik
1396
1402
  angr/analyses/flirt/flirt_matcher.py,sha256=nzhvPTIlVwHrn07qLLSRvgfpyOnlNRsziDCls_xh0Gg,6353
1397
1403
  angr/analyses/flirt/flirt_node.py,sha256=ecfJq4Ymp38zzvoZPDfLcLSR045GNOM9je-F_NPM5e0,638
1398
1404
  angr/analyses/flirt/flirt_utils.py,sha256=ojZ_01s7O23vU7dN6xZL7Wyx5M3pgm43frxjbZzSmyU,819
1399
- angr/flirt/__init__.py,sha256=uPA4ff2d8FQYfGzq2rgM5pJ9PAH82275On3EFKqXktE,3514
1405
+ angr/flirt/__init__.py,sha256=HXFNQiXaGhcnJVaTXKhkXVywO_8uLCQHXW4y9FbnXdM,3783
1400
1406
  angr/flirt/build_sig.py,sha256=AO48uuWi76eMiw4-RTJn58j6DDyziy7HCuWMNpApcOQ,10020
1401
- angr-9.2.178.dist-info/RECORD,,
1402
- angr-9.2.178.dist-info/WHEEL,sha256=kFn0Fg1gyV9Pk02-Hr4CbqbhAvYPyosBpF5pwZB07jU,135
1403
- angr-9.2.178.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
1404
- angr-9.2.178.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
1405
- angr-9.2.178.dist-info/METADATA,sha256=eFS8mj0EGjYZtRGsL89HOjuId2Xhn5DVxTroY727LgA,4412
1406
- angr-9.2.178.dist-info/licenses/LICENSE,sha256=PmWf0IlSz6Jjp9n7nyyBQA79Q5C2ma68LRykY1V3GF0,1456
File without changes