angr 9.2.133__py3-none-manylinux2014_aarch64.whl → 9.2.135__py3-none-manylinux2014_aarch64.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.

Files changed (25) hide show
  1. angr/__init__.py +1 -1
  2. angr/analyses/__init__.py +2 -1
  3. angr/analyses/calling_convention/__init__.py +6 -0
  4. angr/analyses/{calling_convention.py → calling_convention/calling_convention.py} +28 -61
  5. angr/analyses/calling_convention/fact_collector.py +503 -0
  6. angr/analyses/calling_convention/utils.py +57 -0
  7. angr/analyses/cfg/indirect_jump_resolvers/jumptable.py +6 -6
  8. angr/analyses/complete_calling_conventions.py +32 -3
  9. angr/analyses/decompiler/optimization_passes/register_save_area_simplifier.py +0 -6
  10. angr/analyses/decompiler/optimization_passes/stack_canary_simplifier.py +1 -6
  11. angr/analyses/decompiler/optimization_passes/switch_default_case_duplicator.py +0 -6
  12. angr/analyses/decompiler/optimization_passes/win_stack_canary_simplifier.py +0 -6
  13. angr/analyses/decompiler/structured_codegen/c.py +15 -5
  14. angr/analyses/variable_recovery/engine_vex.py +5 -0
  15. angr/calling_conventions.py +12 -4
  16. angr/knowledge_plugins/functions/function.py +4 -4
  17. angr/knowledge_plugins/functions/function_manager.py +6 -0
  18. angr/storage/memory_mixins/name_resolution_mixin.py +1 -1
  19. angr/utils/bits.py +13 -0
  20. {angr-9.2.133.dist-info → angr-9.2.135.dist-info}/METADATA +6 -6
  21. {angr-9.2.133.dist-info → angr-9.2.135.dist-info}/RECORD +25 -22
  22. {angr-9.2.133.dist-info → angr-9.2.135.dist-info}/LICENSE +0 -0
  23. {angr-9.2.133.dist-info → angr-9.2.135.dist-info}/WHEEL +0 -0
  24. {angr-9.2.133.dist-info → angr-9.2.135.dist-info}/entry_points.txt +0 -0
  25. {angr-9.2.133.dist-info → angr-9.2.135.dist-info}/top_level.txt +0 -0
@@ -13,12 +13,6 @@ from .optimization_pass import OptimizationPass, OptimizationPassStage
13
13
  _l = logging.getLogger(name=__name__)
14
14
 
15
15
 
16
- def s2u(s, bits):
17
- if s > 0:
18
- return s
19
- return (1 << bits) + s
20
-
21
-
22
16
  class RegisterSaveAreaSimplifier(OptimizationPass):
23
17
  """
24
18
  Optimizes away register spilling effects, including callee-saved registers.
@@ -5,18 +5,13 @@ import logging
5
5
 
6
6
  import ailment
7
7
 
8
+ from angr.utils.bits import s2u
8
9
  from .optimization_pass import OptimizationPass, OptimizationPassStage
9
10
 
10
11
 
11
12
  _l = logging.getLogger(name=__name__)
12
13
 
13
14
 
14
- def s2u(s, bits):
15
- if s > 0:
16
- return s
17
- return (1 << bits) + s
18
-
19
-
20
15
  class StackCanarySimplifier(OptimizationPass):
21
16
  """
22
17
  Removes stack canary checks from decompilation results.
@@ -17,12 +17,6 @@ from .optimization_pass import OptimizationPass, OptimizationPassStage
17
17
  _l = logging.getLogger(name=__name__)
18
18
 
19
19
 
20
- def s2u(s, bits):
21
- if s > 0:
22
- return s
23
- return (1 << bits) + s
24
-
25
-
26
20
  class SwitchDefaultCaseDuplicator(OptimizationPass):
27
21
  """
28
22
  For each switch-case construct (identified by jump tables), duplicate the default-case node when we detect
@@ -13,12 +13,6 @@ from .optimization_pass import OptimizationPass, OptimizationPassStage
13
13
  _l = logging.getLogger(name=__name__)
14
14
 
15
15
 
16
- def s2u(s, bits):
17
- if s > 0:
18
- return s
19
- return (1 << bits) + s
20
-
21
-
22
16
  class WinStackCanarySimplifier(OptimizationPass):
23
17
  """
24
18
  Removes stack canary checks from decompilation results for Windows PE files.
@@ -1221,20 +1221,30 @@ class CAssignment(CStatement):
1221
1221
  "Shl": "<<",
1222
1222
  "Sar": ">>",
1223
1223
  }
1224
+ commutative_ops = {"Add", "Mul", "And", "Xor", "Or"}
1224
1225
 
1226
+ compound_expr_rhs = None
1225
1227
  if (
1226
1228
  self.codegen.use_compound_assignments
1227
1229
  and isinstance(self.lhs, CVariable)
1228
1230
  and isinstance(self.rhs, CBinaryOp)
1229
- and isinstance(self.rhs.lhs, CVariable)
1230
- and self.lhs.unified_variable is not None
1231
- and self.rhs.lhs.unified_variable is not None
1232
- and self.lhs.unified_variable is self.rhs.lhs.unified_variable
1233
1231
  and self.rhs.op in compound_assignment_ops
1232
+ and self.lhs.unified_variable is not None
1234
1233
  ):
1234
+ if isinstance(self.rhs.lhs, CVariable) and self.lhs.unified_variable is self.rhs.lhs.unified_variable:
1235
+ compound_expr_rhs = self.rhs.rhs
1236
+ elif (
1237
+ self.rhs.op in commutative_ops
1238
+ and isinstance(self.rhs.rhs, CVariable)
1239
+ and self.lhs.unified_variable is self.rhs.rhs.unified_variable
1240
+ ):
1241
+ compound_expr_rhs = self.rhs.lhs
1242
+
1243
+ if compound_expr_rhs is not None:
1235
1244
  # a = a + x => a += x
1245
+ # a = x + a => a += x
1236
1246
  yield f" {compound_assignment_ops[self.rhs.op]}= ", self
1237
- yield from CExpression._try_c_repr_chunks(self.rhs.rhs)
1247
+ yield from CExpression._try_c_repr_chunks(compound_expr_rhs)
1238
1248
  else:
1239
1249
  yield " = ", self
1240
1250
  yield from CExpression._try_c_repr_chunks(self.rhs)
@@ -215,6 +215,11 @@ class SimEngineVRVEX(
215
215
  addr = RichR(loc.stack_offset + one_sp)
216
216
  self._load(addr, loc.size)
217
217
 
218
+ # clobber caller-saved registers
219
+ for reg_name in func.calling_convention.CALLER_SAVED_REGS:
220
+ reg_offset, reg_size = self.arch.registers[reg_name]
221
+ self._assign_to_register(reg_offset, self._top(reg_size * self.arch.byte_width), reg_size)
222
+
218
223
  def _process_block_end(self, stmt_result, whitelist):
219
224
  # handles block-end calls
220
225
  current_addr = self.state.block_addr
@@ -4,6 +4,7 @@ import logging
4
4
  from typing import cast
5
5
  from collections.abc import Iterable
6
6
  from collections import defaultdict
7
+ import contextlib
7
8
 
8
9
  import claripy
9
10
  import archinfo
@@ -33,7 +34,6 @@ from .sim_type import (
33
34
  )
34
35
  from .state_plugins.sim_action_object import SimActionObject
35
36
  from .engines.soot.engine import SootMixin
36
- import contextlib
37
37
 
38
38
  l = logging.getLogger(name=__name__)
39
39
  l.addFilter(UniqueLogFilter())
@@ -656,7 +656,7 @@ class SimCC:
656
656
  self.next_arg(session, SimTypePointer(SimTypeBottom()))
657
657
  return session
658
658
 
659
- def return_in_implicit_outparam(self, ty):
659
+ def return_in_implicit_outparam(self, ty): # pylint:disable=unused-argument
660
660
  return False
661
661
 
662
662
  def stack_space(self, args):
@@ -1098,7 +1098,8 @@ class SimCC:
1098
1098
  all_fp_args: set[int | str] = {_arg_ident(a) for a in sample_inst.fp_args}
1099
1099
  all_int_args: set[int | str] = {_arg_ident(a) for a in sample_inst.int_args}
1100
1100
  both_iter = sample_inst.memory_args
1101
- some_both_args: set[int | str] = {_arg_ident(next(both_iter)) for _ in range(len(args))}
1101
+ max_args = cls._guess_arg_count(args)
1102
+ some_both_args: set[int | str] = {_arg_ident(next(both_iter)) for _ in range(max_args)}
1102
1103
 
1103
1104
  new_args = []
1104
1105
  for arg in args:
@@ -1115,6 +1116,13 @@ class SimCC:
1115
1116
 
1116
1117
  return True
1117
1118
 
1119
+ @classmethod
1120
+ def _guess_arg_count(cls, args, limit: int = 64) -> int:
1121
+ # pylint:disable=not-callable
1122
+ stack_args = [a for a in args if isinstance(a, SimStackArg)]
1123
+ stack_arg_count = (max(a.stack_offset for a in stack_args) // cls.ARCH().bytes + 1) if stack_args else 0
1124
+ return min(limit, max(len(args), stack_arg_count))
1125
+
1118
1126
  @staticmethod
1119
1127
  def find_cc(
1120
1128
  arch: archinfo.Arch, args: list[SimFunctionArgument], sp_delta: int, platform: str = "Linux"
@@ -1687,7 +1695,7 @@ class SimCCARM(SimCC):
1687
1695
  raise NotImplementedError("Bug. Report to @rhelmot")
1688
1696
  elif cls == "MEMORY":
1689
1697
  mapped_classes.append(next(session.both_iter))
1690
- elif cls == "INTEGER" or cls == "SINGLEP":
1698
+ elif cls in {"INTEGER", "SINGLEP"}:
1691
1699
  try:
1692
1700
  mapped_classes.append(next(session.int_iter))
1693
1701
  except StopIteration:
@@ -12,7 +12,6 @@ from cle.backends.symbol import Symbol
12
12
  from archinfo.arch_arm import get_real_address_if_arm
13
13
  import claripy
14
14
 
15
- from angr.block import Block
16
15
  from angr.knowledge_plugins.cfg.memory_data import MemoryDataSort
17
16
 
18
17
  from angr.codenode import CodeNode, BlockNode, HookNode, SyscallNode
@@ -403,7 +402,7 @@ class Function(Serializable):
403
402
  def nodes(self) -> Iterable[CodeNode]:
404
403
  return self.transition_graph.nodes()
405
404
 
406
- def get_node(self, addr) -> Block:
405
+ def get_node(self, addr) -> BlockNode | None:
407
406
  return self._addr_to_block_node.get(addr, None)
408
407
 
409
408
  @property
@@ -1036,8 +1035,9 @@ class Function(Serializable):
1036
1035
  if function.returning is False:
1037
1036
  # the target function does not return
1038
1037
  the_node = self.get_node(src.addr)
1039
- self._callout_sites.add(the_node)
1040
- self._add_endpoint(the_node, "call")
1038
+ if the_node is not None:
1039
+ self._callout_sites.add(the_node)
1040
+ self._add_endpoint(the_node, "call")
1041
1041
 
1042
1042
  def get_call_sites(self) -> Iterable[int]:
1043
1043
  """
@@ -460,6 +460,12 @@ class FunctionManager(KnowledgeBasePlugin, collections.abc.Mapping):
460
460
  :rtype: Function or None
461
461
  """
462
462
  if name is not None and name.startswith("sub_"):
463
+ # first check if a function with the specified name exists
464
+ for func in self.get_by_name(name, check_previous_names=check_previous_names):
465
+ if plt is None or func.is_plt == plt:
466
+ return func
467
+
468
+ # then enter the syntactic sugar mode
463
469
  try:
464
470
  addr = int(name.split("_")[-1], 16)
465
471
  name = None
@@ -33,7 +33,7 @@ class NameResolutionMixin(MemoryMixin):
33
33
  self.store("cc_dep1", _get_flags(self.state)) # constraints cannot be added by this
34
34
  self.store("cc_op", 0) # OP_COPY
35
35
  return self.state.arch.registers["cc_dep1"]
36
- if is_arm_arch(self.state.arch) and name == "flags":
36
+ if (is_arm_arch(self.state.arch) or self.state.arch.name == "AARCH64") and name == "flags":
37
37
  if not is_write:
38
38
  self.store("cc_dep1", _get_flags(self.state))
39
39
  self.store("cc_op", 0)
angr/utils/bits.py CHANGED
@@ -31,3 +31,16 @@ def zeroextend_on_demand(op0: claripy.ast.BV, op1: claripy.ast.BV) -> claripy.as
31
31
  if op0.size() > op1.size():
32
32
  return claripy.ZeroExt(op0.size() - op1.size(), op1)
33
33
  return op1
34
+
35
+
36
+ def s2u(s, bits):
37
+ mask = (1 << bits) - 1
38
+ if s > 0:
39
+ return s & mask
40
+ return ((1 << bits) + s) & mask
41
+
42
+
43
+ def u2s(u, bits):
44
+ if u < (1 << (bits - 1)):
45
+ return u
46
+ return (u & ((1 << bits) - 1)) - (1 << bits)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: angr
3
- Version: 9.2.133
3
+ Version: 9.2.135
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
  Home-page: https://github.com/angr/angr
6
6
  License: BSD-2-Clause
@@ -16,13 +16,13 @@ Description-Content-Type: text/markdown
16
16
  License-File: LICENSE
17
17
  Requires-Dist: CppHeaderParser
18
18
  Requires-Dist: GitPython
19
- Requires-Dist: ailment==9.2.133
20
- Requires-Dist: archinfo==9.2.133
19
+ Requires-Dist: ailment==9.2.135
20
+ Requires-Dist: archinfo==9.2.135
21
21
  Requires-Dist: cachetools
22
22
  Requires-Dist: capstone==5.0.3
23
23
  Requires-Dist: cffi>=1.14.0
24
- Requires-Dist: claripy==9.2.133
25
- Requires-Dist: cle==9.2.133
24
+ Requires-Dist: claripy==9.2.135
25
+ Requires-Dist: cle==9.2.135
26
26
  Requires-Dist: itanium-demangler
27
27
  Requires-Dist: mulpyplexer
28
28
  Requires-Dist: nampa
@@ -31,7 +31,7 @@ Requires-Dist: protobuf>=5.28.2
31
31
  Requires-Dist: psutil
32
32
  Requires-Dist: pycparser>=2.18
33
33
  Requires-Dist: pyformlang
34
- Requires-Dist: pyvex==9.2.133
34
+ Requires-Dist: pyvex==9.2.135
35
35
  Requires-Dist: rich>=13.1.0
36
36
  Requires-Dist: sortedcontainers
37
37
  Requires-Dist: sympy
@@ -1,10 +1,10 @@
1
- angr/__init__.py,sha256=JLLKDRq6Vl_n1oe8kwqttTcVMSf_N4q7j84Pz1b0_Rg,9153
1
+ angr/__init__.py,sha256=odyiYDh0AXyqpY0ivUXjx-rMAeY96FK0_h_7pMp_sFU,9153
2
2
  angr/__main__.py,sha256=XeawhF6Cco9eWcfMTDWzYYggLB3qjnQ87IIeFOplaHM,2873
3
3
  angr/annocfg.py,sha256=0NIvcuCskwz45hbBzigUTAuCrYutjDMwEXtMJf0y0S0,10742
4
4
  angr/blade.py,sha256=NhesOPloKJC1DQJRv_HBT18X7oNxK16JwAfNz2Lc1o0,15384
5
5
  angr/block.py,sha256=4mP-OKNqiTxOf2-GPfyKokpuF4j4ua_o5WZcC7W6BL8,14815
6
6
  angr/callable.py,sha256=1rzhXjWlx62jKJaRKHvp12rbsJ75zNa86vXtCt6eFLo,6065
7
- angr/calling_conventions.py,sha256=TZZXPPAOFYqoKfq6KYpItgpf-FInNzfit13meSb4TTg,92979
7
+ angr/calling_conventions.py,sha256=zciZ1DAct9heBs-2CkVpkvT2yK5jExIom3SoA9WW2ug,93409
8
8
  angr/code_location.py,sha256=kXNJDEMge9VRHadrK4E6HQ8wDdCaHSXNqyAZuHDEGuM,5397
9
9
  angr/codenode.py,sha256=hehAHvUuxgUYiVtCFMTxloYC6bO4_CQjcp_52WWDHMA,3781
10
10
  angr/errors.py,sha256=I0L-TbxmVYIkC-USuHwaQ9BGPi2YVObnhZXQQ3kJFuo,8385
@@ -26,19 +26,18 @@ angr/slicer.py,sha256=DND0BERanYKafasRH9MDFAng0rSjdjmzXj2-phCD6CQ,10634
26
26
  angr/state_hierarchy.py,sha256=qDQCUGXmQm3vOxE3CSoiqTH4OAFFOWZZt9BLhNpeOhA,8484
27
27
  angr/tablespecs.py,sha256=Kx1e87FxTx3_ZN7cAHWZSRpdInT4Vfj5gExAWtLkLTw,3259
28
28
  angr/vaults.py,sha256=v_RBKEGN2wkyOoskC_akKSlawcRtMicukKh1O1hxrJk,9719
29
- angr/analyses/__init__.py,sha256=Tj98rg_BM_YBK7EIYrvfcyIxQnMnzFrMZp4-Id43rFE,3434
29
+ angr/analyses/__init__.py,sha256=JVCNQfvffUjtvz5kvzvtYKmH_yG1Qjy-caSuQ8JMgpw,3470
30
30
  angr/analyses/analysis.py,sha256=7Jkob2CBEXHzW7F1hZk9AqfOKLglpfHplpyxba1fN_4,14998
31
31
  angr/analyses/backward_slice.py,sha256=a9uro3rqqDDiQRCnDCQzaSRcZvDQkCdRzLsrx5xe8uM,27219
32
32
  angr/analyses/binary_optimizer.py,sha256=Sm05TR-F5QtU1qx9jKr2lGfj03xw_O1IyBJjwnoUjJ0,26160
33
33
  angr/analyses/bindiff.py,sha256=AGOlH6Hsofo-6WwEleX80-DYs70aV-P8JV-GiDnoT9A,51391
34
34
  angr/analyses/boyscout.py,sha256=pMJNmVBt8MbCiVe8Pk8SQ3IOppHGK2qHe6G7A3e3WA8,2483
35
35
  angr/analyses/callee_cleanup_finder.py,sha256=aogcfYfvzsVPVfseJl2KKczMu7pPPtwC7bqTyQ0UsvI,2812
36
- angr/analyses/calling_convention.py,sha256=tW8NgKRCN9wjc5YpkzBV8hckAAoRKrb0EXjl3kBVa70,40869
37
36
  angr/analyses/cdg.py,sha256=oPgHV4MVpGkfRUE0ZiaghBSkgTsr6tkG1IK4f_GtOBA,6230
38
37
  angr/analyses/class_identifier.py,sha256=bytFQ0c7KuQhbYPPJDkhtV0ZU_Xo8_9KLZxHe9TtyMs,3010
39
38
  angr/analyses/code_tagging.py,sha256=Gj7Ms24RnmhC9OD57gw7R6_c-pLfqSug-LVUMw_JmXE,3510
40
39
  angr/analyses/codecave.py,sha256=k_dDhMN4wcq2bs5VrwpOv96OowQ7AbZSs6j5Z6YbIpk,2209
41
- angr/analyses/complete_calling_conventions.py,sha256=rwsVfq0TUOx-YW2RtbeXajAreBEfs9QDyQAE51PnEfo,18279
40
+ angr/analyses/complete_calling_conventions.py,sha256=Jsl9YgYW4OaRFBXqcXNTt_AwKoHMP2M7NIMh3kZYodI,19356
42
41
  angr/analyses/congruency_check.py,sha256=SRlUKJaylCQydWsb4AGG8LUGuh5RwI8ksKZL6jf-4P8,16166
43
42
  angr/analyses/datagraph_meta.py,sha256=Ng0jqLD5ucRn_fBXhYq3l6scs3kczRk6Sk-Sen1forc,3414
44
43
  angr/analyses/ddg.py,sha256=c8P8zCkem7P717PYIJD35evK64Oh8YBa_tj6LdCeuTQ,63229
@@ -65,6 +64,10 @@ angr/analyses/vfg.py,sha256=_RDuP83ts55-FTVNMQGx7MJD1aDvNw4FHDhCwa7nUFw,72879
65
64
  angr/analyses/vsa_ddg.py,sha256=NQUauuMPZVrW7oCPpvIl-OIvGWUZHk_xEVLw3SCYzj8,16137
66
65
  angr/analyses/vtable.py,sha256=1Ed7jzr99rk9VgOGzcxBw_6GFqby5mIdSTGPqQPhcZM,3872
67
66
  angr/analyses/xrefs.py,sha256=vs6cpVmwXHOmxrI9lJUwCRMYbPSqvIQXS5_fINMaOGI,10290
67
+ angr/analyses/calling_convention/__init__.py,sha256=bK5VS6AxT5l86LAhTL7l1HUT9IuvXG9x9ikbIohIFoE,194
68
+ angr/analyses/calling_convention/calling_convention.py,sha256=_fTXe9oVCJ61roZrWhRRv_5FGtiQpiJmlLkf1x3ZL9Q,39692
69
+ angr/analyses/calling_convention/fact_collector.py,sha256=FCRGdAr6VmROUemKM3ibpJ4LU3rUT3PwC312zkq6sT4,21334
70
+ angr/analyses/calling_convention/utils.py,sha256=A4m85U1gd_dEuPEjlh4vWBC-mxxozOFIGIhApmgTvdI,2017
68
71
  angr/analyses/cfg/__init__.py,sha256=-w8Vd6FD6rtjlQaQ7MxwmliFgS2zt-kZepAY4gHas04,446
69
72
  angr/analyses/cfg/cfb.py,sha256=2Iej5PhB_U9JbfvvBuXy_07_UY9j7yiztKZYrGnc0U0,15369
70
73
  angr/analyses/cfg/cfg.py,sha256=ZHZFWtP4uD1YxgKy44O_oD_BiSo871Llcd1zpXmFkBE,3177
@@ -80,7 +83,7 @@ angr/analyses/cfg/indirect_jump_resolvers/amd64_pe_iat.py,sha256=cE713VrHJdNZrB9
80
83
  angr/analyses/cfg/indirect_jump_resolvers/arm_elf_fast.py,sha256=AIA6YeWlzBAOwhdDolHfxoEWvSsvNPo73KDRIjbHdtY,5202
81
84
  angr/analyses/cfg/indirect_jump_resolvers/const_resolver.py,sha256=xD-iVlOmYljEwubiff5tNPvdEl7aQhzMQWWjA7l2C_s,5277
82
85
  angr/analyses/cfg/indirect_jump_resolvers/default_resolvers.py,sha256=v555keK0pfM451YzWbIC0pMG1pQu1wCme1moWaMPqGo,1541
83
- angr/analyses/cfg/indirect_jump_resolvers/jumptable.py,sha256=iml0bkjUitszQpA8nneHWj2VAy07E0qm5tlPF9j_sJw,104685
86
+ angr/analyses/cfg/indirect_jump_resolvers/jumptable.py,sha256=KdCaHa4i0ZS3KleySPB46JIswoOid2MWlwgxnhWgkzE,104709
84
87
  angr/analyses/cfg/indirect_jump_resolvers/mips_elf_fast.py,sha256=SSwWVKCqMNxdqTeMkLqXk5UFmzgxJDm8H-xLNBr1Hnc,10173
85
88
  angr/analyses/cfg/indirect_jump_resolvers/mips_elf_got.py,sha256=DT1tomUTCXmhD8N_V4KMeyS-YecDlR7f4kOANiKyGeI,5213
86
89
  angr/analyses/cfg/indirect_jump_resolvers/propagator_utils.py,sha256=ppqn5vYGOD8HknweabD7NWgZmoBgjkOC6m9t-XD46T0,992
@@ -154,17 +157,17 @@ angr/analyses/decompiler/optimization_passes/ite_region_converter.py,sha256=gsWg
154
157
  angr/analyses/decompiler/optimization_passes/lowered_switch_simplifier.py,sha256=ldEBDJTwS-FfzIkvCilCDY8IxzarHTXxv4jNZG28XDU,38818
155
158
  angr/analyses/decompiler/optimization_passes/mod_simplifier.py,sha256=BzgSGM39Uv1WAGPM831wLnKW8t-mw9tQoV07ZlxbU_Y,3379
156
159
  angr/analyses/decompiler/optimization_passes/optimization_pass.py,sha256=EYls4BcE4z1Hjvhez5oodKWLjLZe_KpRgKQZV0hck3Q,22637
157
- angr/analyses/decompiler/optimization_passes/register_save_area_simplifier.py,sha256=tc4FruEl0sFpm1DUu9g8gWlueRm0t9rhfHsdUrVplBo,7932
160
+ angr/analyses/decompiler/optimization_passes/register_save_area_simplifier.py,sha256=X6A252YhqUvT7A6J5NqCKBom2PRlh5NDHpAjXfNvBfg,7854
158
161
  angr/analyses/decompiler/optimization_passes/ret_addr_save_simplifier.py,sha256=GIFiYM_C_ChHrD2D1JGRFlE--PU3FOxTqzOX-lXmJLY,6404
159
162
  angr/analyses/decompiler/optimization_passes/ret_deduplicator.py,sha256=STMnRyZWiqdoGPa3c7Q4KCHv-JHUdJ2t4oLEltEMpII,7995
160
163
  angr/analyses/decompiler/optimization_passes/return_duplicator_base.py,sha256=7QO_sJBR8WgjRxD8PXwxu0NeoCQchNJNClcwMzEmOsU,24921
161
164
  angr/analyses/decompiler/optimization_passes/return_duplicator_high.py,sha256=ICDYwQJt5E2OVasdqn42jzbjwUXhSj6Plh3Y1iUHpAQ,2178
162
165
  angr/analyses/decompiler/optimization_passes/return_duplicator_low.py,sha256=-mBEVfwGz986lDDEGwBG8wvGQTrFZHE7TLV-7rWt-H0,10076
163
- angr/analyses/decompiler/optimization_passes/stack_canary_simplifier.py,sha256=Fviff-U5n3_9kHWsbMbW0_FRQhK_010nhuq83Pg8gOU,14467
164
- angr/analyses/decompiler/optimization_passes/switch_default_case_duplicator.py,sha256=nMI9geZiLG5diaI3YciNKvJ0PAZXtUBLgAfknCf48QE,6539
166
+ angr/analyses/decompiler/optimization_passes/stack_canary_simplifier.py,sha256=vHfTCTG33r-PwwikP8tBbNqWvNt-SvRZfOsDNeAdiPc,14421
167
+ angr/analyses/decompiler/optimization_passes/switch_default_case_duplicator.py,sha256=gvGpjP3t-an8iIBkmPGXob0-aRHL2idGZpd7hErlgFo,6461
165
168
  angr/analyses/decompiler/optimization_passes/switch_reused_entry_rewriter.py,sha256=m7ZMkqE2qbl4rl4M_Fi8xS6I1vUaTzUBIzsE6qpbwkM,4020
166
169
  angr/analyses/decompiler/optimization_passes/tag_slicer.py,sha256=8_gmoeYgDD1Hb8Rpqcb-01_B4897peDF-J6KA5PjQT8,1176
167
- angr/analyses/decompiler/optimization_passes/win_stack_canary_simplifier.py,sha256=cpbsP6_ilZDu2M_jX8TEnwVrsQXljHEjSMw25HyK6PM,12806
170
+ angr/analyses/decompiler/optimization_passes/win_stack_canary_simplifier.py,sha256=57AlQgCbaPSiY7OwcKdOXnr0LUACCO0r1TweqIDyUzo,12728
168
171
  angr/analyses/decompiler/optimization_passes/x86_gcc_getpc_simplifier.py,sha256=6NxaX2oT6BMkevb8xt9vlS3Jl-CmSK59F0FVab68B48,3088
169
172
  angr/analyses/decompiler/optimization_passes/duplication_reverter/__init__.py,sha256=hTeOdooVDZnBnjiAguD7_BS9YJru8rOiSHN3H0sdzcA,126
170
173
  angr/analyses/decompiler/optimization_passes/duplication_reverter/ail_merge_graph.py,sha256=nLu-s4wn6b3z6MlItwCH1kWpeAc4C-fP3MNN3WRCSuo,21666
@@ -249,7 +252,7 @@ angr/analyses/decompiler/ssailification/traversal_engine.py,sha256=dczhUEuoBTg0w
249
252
  angr/analyses/decompiler/ssailification/traversal_state.py,sha256=_AsCnLiI2HFdM6WrPyAudhc0X4aU_PziznbOgmzpDzQ,1313
250
253
  angr/analyses/decompiler/structured_codegen/__init__.py,sha256=mxG4yruPAab8735wVgXZ1zu8qFPz-njKe0m5UcywE3o,633
251
254
  angr/analyses/decompiler/structured_codegen/base.py,sha256=DEeNrBOC8AAJb-qFyUoYeX8fpHSPmAsutCDF-0UhaQ4,3782
252
- angr/analyses/decompiler/structured_codegen/c.py,sha256=AogaRs4uQx79_LxrlNVuRTyMmiW_xkKmWeIh2FSrGQY,141010
255
+ angr/analyses/decompiler/structured_codegen/c.py,sha256=MJk6QzT3V9xnAeHfvcruyFdrS7g8xXyktqJthp2QYxo,141432
253
256
  angr/analyses/decompiler/structured_codegen/dummy.py,sha256=JZLeovXE-8C-unp2hbejxCG30l-yCx4sWFh7JMF_iRM,570
254
257
  angr/analyses/decompiler/structured_codegen/dwarf_import.py,sha256=J6V40RuIyKXN7r6ESftIYfoREgmgFavnUL5m3lyTzlM,7072
255
258
  angr/analyses/decompiler/structuring/__init__.py,sha256=kEFP-zv9CZrhJtLTKwT9-9cGVTls71wLYaLDUuYorBU,711
@@ -351,7 +354,7 @@ angr/analyses/variable_recovery/__init__.py,sha256=eA1SHzfSx8aPufUdkvgMmBnbI6VDY
351
354
  angr/analyses/variable_recovery/annotations.py,sha256=2va7cXnRHYqVqXeVt00QanxfAo3zanL4BkAcC0-Bk20,1438
352
355
  angr/analyses/variable_recovery/engine_ail.py,sha256=ZmJCMH_y0oYdLRTwHw34MOy-5_9SgrklLgnLLLtHf5k,31197
353
356
  angr/analyses/variable_recovery/engine_base.py,sha256=ZqIlYpEPSB5WmhQ6p8H0HIMkRUG7ISMlCDOsHuE4-Sc,51146
354
- angr/analyses/variable_recovery/engine_vex.py,sha256=2xb7zlNrD3PpNILlDUvTp9Vt9JdhOqn3O3zIe101-QQ,20368
357
+ angr/analyses/variable_recovery/engine_vex.py,sha256=UAA2FpOq4lAjsBzy5FoIOoR9dF4615UFNLDlDiWEfCs,20645
355
358
  angr/analyses/variable_recovery/irsb_scanner.py,sha256=vWplxRc-iwIJsQ5aHWH1t29zdyLPjfklm8h3CWHseng,5143
356
359
  angr/analyses/variable_recovery/variable_recovery.py,sha256=s5hwY9oOibhLxsJIePhYRmrX0mrDIi_zKkfNblwYyhE,22169
357
360
  angr/analyses/variable_recovery/variable_recovery_base.py,sha256=cJsc64ev_UmWTb2KNTdRF3HtpZyh4J2CEgnUAlH2MVg,15181
@@ -518,8 +521,8 @@ angr/knowledge_plugins/cfg/cfg_node.py,sha256=mAvQ8XAEURM7y0suc_S9lfxCmfXSTJHmWB
518
521
  angr/knowledge_plugins/cfg/indirect_jump.py,sha256=W3KWpH7Sx-6Z7h_BwQjCK_XfP3ce_MaeAu_Aaq3D3qg,2072
519
522
  angr/knowledge_plugins/cfg/memory_data.py,sha256=QLxFZfrtwz8u6UJn1L-Sxa-C8S0Gy9IOlfNfHCLPIow,5056
520
523
  angr/knowledge_plugins/functions/__init__.py,sha256=asiLNiT6sHbjP6eU-kDpawIoVxv4J35cwz5yQHtQ2E0,167
521
- angr/knowledge_plugins/functions/function.py,sha256=6G479_dWkp0PAAEKQWCUY3pH0b-qcOWjT9O6dOt4NLk,67287
522
- angr/knowledge_plugins/functions/function_manager.py,sha256=R-VtbkN3-l1-U4Wk4XHC8lGZo7DpXbEDE7Ok986YYYI,19594
524
+ angr/knowledge_plugins/functions/function.py,sha256=Kiyi18e8ex8OpoQmbX4MHoHyZOGNLeAP3t-SvERiDtU,67326
525
+ angr/knowledge_plugins/functions/function_manager.py,sha256=cU_0alc7yQ_AE5pm2NiCicjAaeL6zLX4KntQAqy32Ws,19893
523
526
  angr/knowledge_plugins/functions/function_parser.py,sha256=cpxn0EYp8qTqVQUBfwxodNIEFuNojdQboJG-q7uLdd0,11822
524
527
  angr/knowledge_plugins/functions/soot_function.py,sha256=kAEzniVHa2FOjb2qlLElXtbbgAeeUkor7iQIFyJuoYY,5005
525
528
  angr/knowledge_plugins/key_definitions/__init__.py,sha256=-x1VGH3LHMze3T-RygodvUG3oXXa5jhKvjXoPKyiU_0,432
@@ -1295,7 +1298,7 @@ angr/storage/memory_mixins/keyvalue_memory_mixin.py,sha256=tqjpvMaGyXeKIPTO669qM
1295
1298
  angr/storage/memory_mixins/label_merger_mixin.py,sha256=zPCM7I7zEgFzk3pwqeFKFs_clv5qMBaoPnuHxRKv4dY,897
1296
1299
  angr/storage/memory_mixins/memory_mixin.py,sha256=ccvxbjLMO98C-PPlRCtTKDrB53eWtq2VAkhSkcADOiM,6474
1297
1300
  angr/storage/memory_mixins/multi_value_merger_mixin.py,sha256=ubmdwqxuQVL9LheJ9u_fjfira9yRaRB-Ibv-YQbpbmU,3310
1298
- angr/storage/memory_mixins/name_resolution_mixin.py,sha256=EfgcD9B0Ew-GnY3m1EjbAwhhqGw_bwRrja0tP3tPJgI,3395
1301
+ angr/storage/memory_mixins/name_resolution_mixin.py,sha256=xfqeZZ8DB6NdQawpDhWRdwR2jQcFgu1NWCgqhR7mYYQ,3434
1299
1302
  angr/storage/memory_mixins/simple_interface_mixin.py,sha256=isJ3_vuElWtLTW7MxweHs5WJOuawr1LmLlS7-yakWd4,2576
1300
1303
  angr/storage/memory_mixins/simplification_mixin.py,sha256=ajjiQ4ulbVQ1WgygR7WuM7vrOzsFGa4D-11R7ipmr1c,594
1301
1304
  angr/storage/memory_mixins/size_resolution_mixin.py,sha256=7LwcgsuJpwPlQ8LzX5q0bZj2PTkLs_cngrd3lDiHd2s,5728
@@ -1333,7 +1336,7 @@ angr/storage/memory_mixins/regioned_memory/static_find_mixin.py,sha256=tWyiNrMxm
1333
1336
  angr/utils/__init__.py,sha256=kBUIJCp9WSgzb62zMg4puUUeheMSl9U4RFqkfiL3en8,1159
1334
1337
  angr/utils/ail.py,sha256=8_FloZ6cP89D2Nfc_2wCPcuVv7ny-aP-OKS3syCSMLk,1054
1335
1338
  angr/utils/algo.py,sha256=4TaEFE4tU-59KyRVFASqXeoiwH01ZMj5fZd_JVcpdOY,1038
1336
- angr/utils/bits.py,sha256=flNgPQ_OlAxk-SsW2lv_DbLSkqYc7J4jGd8VRB_WJE8,817
1339
+ angr/utils/bits.py,sha256=_eWPyymSbj01jsLexicRtD_X7sUKKj_fTUI0DEIZ-rc,1054
1337
1340
  angr/utils/constants.py,sha256=ZnK6Ed-1U_8yaw-7ZaCLSM0-z7bSuKPg715bBrquxKE,257
1338
1341
  angr/utils/cowdict.py,sha256=qx2iO1rrCDTQUGX9dqi9ZAly2Dgm6bCEgdSAQw9MxRM,2159
1339
1342
  angr/utils/dynamic_dictlist.py,sha256=bHQrxhUCkk6NDDzEBouAWESjMyKfQUJIk8g38R27iXw,3048
@@ -1354,9 +1357,9 @@ angr/utils/timing.py,sha256=ELuRPzdRSHzOATgtAzTFByMlVr021ypMrsvtpopreLg,1481
1354
1357
  angr/utils/ssa/__init__.py,sha256=OD3eTWAiH9QXGpwliNBCTC3Z4bux9iBX3Sp50aUNHvI,8758
1355
1358
  angr/utils/ssa/tmp_uses_collector.py,sha256=rSpvMxBHzg-tmvhsfjn3iLyPEKzaZN-xpQrdslMq3J4,793
1356
1359
  angr/utils/ssa/vvar_uses_collector.py,sha256=8gfAWdRMz73Deh-ZshDM3GPAot9Lf-rHzCiaCil0hlE,1342
1357
- angr-9.2.133.dist-info/LICENSE,sha256=cgL_ho5B1NH8UxwtBuqThRWdjear8b7hktycaS1sz6g,1327
1358
- angr-9.2.133.dist-info/METADATA,sha256=ghKJD7werb9i_PZtd8MJfsmgFRjiMA3IOpwVT7NF51g,4762
1359
- angr-9.2.133.dist-info/WHEEL,sha256=-NJbNRco0VfEz3luq7ku84EsJsWGgW5ZrO0zAtrzmbo,109
1360
- angr-9.2.133.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
1361
- angr-9.2.133.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
1362
- angr-9.2.133.dist-info/RECORD,,
1360
+ angr-9.2.135.dist-info/LICENSE,sha256=cgL_ho5B1NH8UxwtBuqThRWdjear8b7hktycaS1sz6g,1327
1361
+ angr-9.2.135.dist-info/METADATA,sha256=Ls0VQIZqogjAt1EPMIvz_70vDMvP4J1vNj2eNH6nT-4,4762
1362
+ angr-9.2.135.dist-info/WHEEL,sha256=-NJbNRco0VfEz3luq7ku84EsJsWGgW5ZrO0zAtrzmbo,109
1363
+ angr-9.2.135.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
1364
+ angr-9.2.135.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
1365
+ angr-9.2.135.dist-info/RECORD,,
File without changes