angr 9.2.99__py3-none-macosx_10_9_x86_64.whl → 9.2.101__py3-none-macosx_10_9_x86_64.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.

angr/__init__.py CHANGED
@@ -1,7 +1,7 @@
1
1
  # pylint: disable=wildcard-import
2
2
  # pylint: disable=wrong-import-position
3
3
 
4
- __version__ = "9.2.99"
4
+ __version__ = "9.2.101"
5
5
 
6
6
  if bytes is str:
7
7
  raise Exception(
@@ -2454,6 +2454,8 @@ class CFGBase(Analysis):
2454
2454
  src_function.addr,
2455
2455
  src_node,
2456
2456
  dst_node,
2457
+ ins_addr=ins_addr,
2458
+ stmt_idx=stmt_idx,
2457
2459
  to_function_addr=dst_function_addr,
2458
2460
  is_exception=jumpkind == "Ijk_Exception",
2459
2461
  )
@@ -954,7 +954,7 @@ class JumpTableResolver(IndirectJumpResolver):
954
954
  # for a typical vtable call (or jump if at the end of a function), the block as two predecessors that form a
955
955
  # diamond shape
956
956
  curr_node = func.get_node(addr)
957
- if curr_node is None:
957
+ if curr_node is None or curr_node not in func.graph:
958
958
  l.debug("Could not find the node %#x in the function transition graph", addr)
959
959
  return False, None
960
960
  preds = list(func.graph.predecessors(curr_node))
@@ -267,7 +267,7 @@ class GraphRegion:
267
267
  for succ in replace_with.successors:
268
268
  if succ not in self.successors:
269
269
  for succ_ in self.successors:
270
- if isinstance(succ_, GraphRegion) and succ_.head == succ:
270
+ if isinstance(succ_, GraphRegion) and succ_.addr == succ.addr:
271
271
  successor_map[succ] = succ_
272
272
  if successor_map:
273
273
  replace_with_graph_with_successors = networkx.DiGraph()
@@ -364,6 +364,16 @@ class GraphRegion:
364
364
  while isinstance(dst_head, GraphRegion) and dst_head not in sub_graph:
365
365
  dst_head = dst_head.head
366
366
 
367
+ if dst_head not in sub_graph:
368
+ # unexpected: structuring failed and resulted in a bad sub_graph
369
+ l.warning(
370
+ "Node %r for node %r is not found in the sub graph at address %#x. Nodes may go missing.",
371
+ dst_head,
372
+ dst_in_subgraph,
373
+ sub_graph_head.addr,
374
+ )
375
+ continue
376
+
367
377
  for src in sub_graph.predecessors(dst_head):
368
378
  graph.add_edge(src, dst)
369
379
  # replace the corresponding nodes in sub_graph_nodes and sub_graph_edges
@@ -136,7 +136,8 @@ class BlockWalker(AILBlockWalker):
136
136
  if isinstance(expr.addr, Const):
137
137
  # *(const_addr)
138
138
  # does it belong to a read-only section/segment?
139
- if self._addr_belongs_to_got(expr.addr.value) or self._addr_belongs_to_ro_region(expr.addr.value):
139
+ is_got = self._addr_belongs_to_got(expr.addr.value)
140
+ if is_got or self._addr_belongs_to_ro_region(expr.addr.value):
140
141
  try:
141
142
  w = self._project.loader.memory.unpack_word(
142
143
  expr.addr.value,
@@ -147,8 +148,9 @@ class BlockWalker(AILBlockWalker):
147
148
  # we don't have enough bytes to read out
148
149
  w = None
149
150
  if w is not None:
150
- # nice! replace it with the actual value
151
- return Const(None, None, w, expr.bits, **expr.tags)
151
+ if not (is_got and w == 0):
152
+ # nice! replace it with the actual value
153
+ return Const(None, None, w, expr.bits, **expr.tags)
152
154
  elif isinstance(expr.addr, Load) and expr.addr.bits == self._project.arch.bits:
153
155
  if isinstance(expr.addr.addr, Const):
154
156
  # *(*(const_addr))
@@ -231,6 +231,9 @@ class InlinedStringTransformationAILEngine(SimEngineLightAILMixin):
231
231
  return claripy.BVV(1, 1) if op0.concrete_value >= op1.concrete_value else claripy.BVV(0, 1)
232
232
  return None
233
233
 
234
+ def _handle_Call(self, stmt):
235
+ pass
236
+
234
237
 
235
238
  class InlineStringTransformationDescriptor:
236
239
  """
@@ -24,6 +24,8 @@ class ConstantDereferences(PeepholeOptimizationExprBase):
24
24
  val = self.project.loader.memory.unpack_word(expr.addr.value, size=expr.size)
25
25
  except KeyError:
26
26
  return None
27
+ if "got" in sec.name and val == 0:
28
+ return None
27
29
 
28
30
  return Const(None, None, val, expr.bits, **expr.tags, deref_src_addr=expr.addr.value)
29
31
 
@@ -1408,6 +1408,26 @@ class CUnsupportedStatement(CStatement):
1408
1408
  yield "\n", None
1409
1409
 
1410
1410
 
1411
+ class CDirtyStatement(CExpression):
1412
+
1413
+ __slots__ = ("dirty",)
1414
+
1415
+ def __init__(self, dirty, **kwargs):
1416
+ super().__init__(**kwargs)
1417
+ self.dirty = dirty
1418
+
1419
+ @property
1420
+ def type(self):
1421
+ return SimTypeInt().with_arch(self.codegen.project.arch)
1422
+
1423
+ def c_repr_chunks(self, indent=0, asexpr=False):
1424
+ indent_str = self.indent_str(indent=indent)
1425
+
1426
+ yield indent_str, None
1427
+ yield str(self.dirty), None
1428
+ yield "\n", None
1429
+
1430
+
1411
1431
  class CLabel(CStatement):
1412
1432
  """
1413
1433
  Represents a label in C code.
@@ -2414,6 +2434,7 @@ class CStructuredCodeGenerator(BaseStructuredCodeGenerator, Analysis):
2414
2434
  Stmt.ConditionalJump: self._handle_Stmt_ConditionalJump,
2415
2435
  Stmt.Return: self._handle_Stmt_Return,
2416
2436
  Stmt.Label: self._handle_Stmt_Label,
2437
+ Stmt.DirtyStatement: self._handle_Stmt_Dirty,
2417
2438
  # AIL expressions
2418
2439
  Expr.Register: self._handle_Expr_Register,
2419
2440
  Expr.Load: self._handle_Expr_Load,
@@ -3311,6 +3332,9 @@ class CStructuredCodeGenerator(BaseStructuredCodeGenerator, Analysis):
3311
3332
  self.map_addr_to_label[(stmt.ins_addr, stmt.block_idx)] = clabel
3312
3333
  return clabel
3313
3334
 
3335
+ def _handle_Stmt_Dirty(self, stmt: Stmt.DirtyStatement, **kwargs):
3336
+ return CDirtyStatement(stmt, codegen=self)
3337
+
3314
3338
  #
3315
3339
  # AIL expression handlers
3316
3340
  #
@@ -1131,9 +1131,14 @@ class PhoenixStructurer(StructurerBase):
1131
1131
  return False
1132
1132
  cmp_expr, cmp_lb, cmp_ub = cmp # pylint:disable=unused-variable
1133
1133
 
1134
- node_a = next(iter(nn for nn in graph.nodes if nn.addr == target))
1134
+ node_a = next(iter(nn for nn in graph.nodes if nn.addr == target), None)
1135
+ if node_a is None:
1136
+ return False
1137
+
1135
1138
  # the default case
1136
- node_b_addr = next(iter(t for t in successor_addrs if t != target))
1139
+ node_b_addr = next(iter(t for t in successor_addrs if t != target), None)
1140
+ if node_b_addr is None:
1141
+ return False
1137
1142
 
1138
1143
  # populate whitelist_edges
1139
1144
  for case_node_addr in jump_table.jumptable_entries:
@@ -1324,9 +1324,12 @@ class SimEngineLightAILMixin(SimEngineLightMixin):
1324
1324
  expr_1 = arg1
1325
1325
 
1326
1326
  try:
1327
- return expr_0 >> expr_1
1327
+ if isinstance(expr_1, claripy.ast.BV) and expr_1.concrete:
1328
+ return expr_0 >> expr_1.concrete_value
1328
1329
  except TypeError:
1329
- return ailment.Expr.BinaryOp(expr.idx, "Shr", [expr_0, expr_1], expr.signed, **expr.tags)
1330
+ pass
1331
+
1332
+ return ailment.Expr.BinaryOp(expr.idx, "Shr", [expr_0, expr_1], expr.signed, **expr.tags)
1330
1333
 
1331
1334
  def _ail_handle_Shl(self, expr):
1332
1335
  arg0, arg1 = expr.operands
@@ -1339,9 +1342,12 @@ class SimEngineLightAILMixin(SimEngineLightMixin):
1339
1342
  expr_1 = arg1
1340
1343
 
1341
1344
  try:
1342
- return expr_0 << expr_1
1345
+ if isinstance(expr_1, claripy.ast.BV) and expr_1.concrete:
1346
+ return expr_0 << expr_1.concrete_value
1343
1347
  except TypeError:
1344
- return ailment.Expr.BinaryOp(expr.idx, "Shl", [expr_0, expr_1], expr.signed, **expr.tags)
1348
+ pass
1349
+
1350
+ return ailment.Expr.BinaryOp(expr.idx, "Shl", [expr_0, expr_1], expr.signed, **expr.tags)
1345
1351
 
1346
1352
  def _ail_handle_Sal(self, expr):
1347
1353
  return self._ail_handle_Shl(expr)
angr/engines/pcode/cc.py CHANGED
@@ -96,6 +96,8 @@ def register_pcode_arch_default_cc(arch: ArchPcode):
96
96
  # we have a bunch of manually specified mappings
97
97
  manual_cc_mapping = {
98
98
  "68000:BE:32:default": SimCCM68k,
99
+ "RISCV:LE:32:RV32G": SimCCRISCV,
100
+ "RISCV:LE:32:RV32GC": SimCCRISCV,
99
101
  "RISCV:LE:64:RV64G": SimCCRISCV,
100
102
  "RISCV:LE:64:RV64GC": SimCCRISCV,
101
103
  "sparc:BE:32:default": SimCCSPARC,
Binary file
angr/simos/linux.py CHANGED
@@ -100,12 +100,18 @@ class SimLinux(SimUserland):
100
100
  _rtld_global_ro.rebased_addr + 0x0D0, 2
101
101
  ) # cpu features: kind = amd
102
102
 
103
- tls_obj = self.project.loader.tls.new_thread()
104
- if isinstance(self.project.arch, ArchAMD64):
105
- self.project.loader.memory.pack_word(tls_obj.thread_pointer + 0x28, 0x5F43414E41525900) # _CANARY\x00
106
- self.project.loader.memory.pack_word(tls_obj.thread_pointer + 0x30, 0x5054524755415244)
107
- elif isinstance(self.project.arch, ArchX86):
108
- self.project.loader.memory.pack_word(tls_obj.thread_pointer + 0x10, self.vsyscall_addr)
103
+ try:
104
+ tls_obj = self.project.loader.tls.new_thread()
105
+ except NotImplementedError:
106
+ pass
107
+ else:
108
+ if isinstance(self.project.arch, ArchAMD64):
109
+ self.project.loader.memory.pack_word(
110
+ tls_obj.thread_pointer + 0x28, 0x5F43414E41525900
111
+ ) # _CANARY\x00
112
+ self.project.loader.memory.pack_word(tls_obj.thread_pointer + 0x30, 0x5054524755415244)
113
+ elif isinstance(self.project.arch, ArchX86):
114
+ self.project.loader.memory.pack_word(tls_obj.thread_pointer + 0x10, self.vsyscall_addr)
109
115
 
110
116
  if isinstance(self.project.arch, ArchARM):
111
117
  # https://www.kernel.org/doc/Documentation/arm/kernel_user_helpers.txt
@@ -208,19 +214,20 @@ class SimLinux(SimUserland):
208
214
  if not self._is_core and hasattr(state.memory, "allocate_stack_pages"):
209
215
  state.memory.allocate_stack_pages(state.solver.eval(state.regs.sp) - 1, 0x20 * 0x1000)
210
216
 
211
- tls_obj = self.project.loader.tls.threads[thread_idx if thread_idx is not None else 0]
212
- if isinstance(state.arch, ArchAMD64):
213
- state.regs.fs = tls_obj.user_thread_pointer
214
- elif isinstance(state.arch, ArchX86):
215
- state.regs.gs = tls_obj.user_thread_pointer >> 16
216
- elif isinstance(state.arch, (ArchMIPS32, ArchMIPS64)):
217
- state.regs.ulr = tls_obj.user_thread_pointer
218
- elif isinstance(state.arch, ArchPPC32):
219
- state.regs.r2 = tls_obj.user_thread_pointer
220
- elif isinstance(state.arch, ArchPPC64):
221
- state.regs.r13 = tls_obj.user_thread_pointer
222
- elif isinstance(state.arch, ArchAArch64):
223
- state.regs.tpidr_el0 = tls_obj.user_thread_pointer
217
+ if self.project.loader.tls.threads:
218
+ tls_obj = self.project.loader.tls.threads[thread_idx if thread_idx is not None else 0]
219
+ if isinstance(state.arch, ArchAMD64):
220
+ state.regs.fs = tls_obj.user_thread_pointer
221
+ elif isinstance(state.arch, ArchX86):
222
+ state.regs.gs = tls_obj.user_thread_pointer >> 16
223
+ elif isinstance(state.arch, (ArchMIPS32, ArchMIPS64)):
224
+ state.regs.ulr = tls_obj.user_thread_pointer
225
+ elif isinstance(state.arch, ArchPPC32):
226
+ state.regs.r2 = tls_obj.user_thread_pointer
227
+ elif isinstance(state.arch, ArchPPC64):
228
+ state.regs.r13 = tls_obj.user_thread_pointer
229
+ elif isinstance(state.arch, ArchAArch64):
230
+ state.regs.tpidr_el0 = tls_obj.user_thread_pointer
224
231
 
225
232
  if fs is None:
226
233
  fs = {}
@@ -397,7 +404,7 @@ class SimLinux(SimUserland):
397
404
  state.registers.store(reg, self.project.loader.main_object.ppc64_initial_rtoc)
398
405
  elif val == "entry":
399
406
  state.registers.store(reg, state.registers.load("pc"))
400
- elif val == "thread_pointer":
407
+ elif val == "thread_pointer" and self.project.loader.tls.threads:
401
408
  state.registers.store(reg, self.project.loader.tls.threads[0].user_thread_pointer)
402
409
  else:
403
410
  _l.warning('Unknown entry point register value indicator "%s"', val)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: angr
3
- Version: 9.2.99
3
+ Version: 9.2.101
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
@@ -17,13 +17,13 @@ Description-Content-Type: text/markdown
17
17
  License-File: LICENSE
18
18
  Requires-Dist: CppHeaderParser
19
19
  Requires-Dist: GitPython
20
- Requires-Dist: ailment ==9.2.99
21
- Requires-Dist: archinfo ==9.2.99
20
+ Requires-Dist: ailment ==9.2.101
21
+ Requires-Dist: archinfo ==9.2.101
22
22
  Requires-Dist: cachetools
23
23
  Requires-Dist: capstone ==5.0.0.post1
24
24
  Requires-Dist: cffi >=1.14.0
25
- Requires-Dist: claripy ==9.2.99
26
- Requires-Dist: cle ==9.2.99
25
+ Requires-Dist: claripy ==9.2.101
26
+ Requires-Dist: cle ==9.2.101
27
27
  Requires-Dist: dpkt
28
28
  Requires-Dist: itanium-demangler
29
29
  Requires-Dist: mulpyplexer
@@ -33,7 +33,7 @@ Requires-Dist: protobuf >=3.19.0
33
33
  Requires-Dist: psutil
34
34
  Requires-Dist: pycparser >=2.18
35
35
  Requires-Dist: pyformlang
36
- Requires-Dist: pyvex ==9.2.99
36
+ Requires-Dist: pyvex ==9.2.101
37
37
  Requires-Dist: rich >=13.1.0
38
38
  Requires-Dist: rpyc
39
39
  Requires-Dist: sortedcontainers
@@ -1,4 +1,4 @@
1
- angr/__init__.py,sha256=A-YvzHK9UfVTA3SB2oL_4tIS5rdi3MZmTgwbR1xg2SA,3992
1
+ angr/__init__.py,sha256=P9weB7XnbHSmtdETL-GcqdTL6f6Eye1B8wx0-F4nXiU,3993
2
2
  angr/__main__.py,sha256=kaO56Te6h73SM94BVtASF00q5QbBbC3eBs9poVc9sVI,1887
3
3
  angr/annocfg.py,sha256=dK5JAdN4Ig_jgxTBZeZXwk3kAS4-IQUvE6T02GBZTDQ,10818
4
4
  angr/blade.py,sha256=B8QXVQ93jz1YCIlb-dZLeBqYmVFdMXI5GleP1Wnxjrw,15519
@@ -63,7 +63,7 @@ angr/analyses/cfg/__init__.py,sha256=DRCry4KO2k5VJLyfxD_O6dWAdi21IUoaN5TqCnukJJs
63
63
  angr/analyses/cfg/cfb.py,sha256=TqYdFau9ZH_m6cwkxbA35vDs2ES5rOFqfIuZi0lCBsQ,15450
64
64
  angr/analyses/cfg/cfg.py,sha256=1JpPGlqXXRFwE0tk26xjabT_-dq-kqAxMv7o6-DUhp4,3146
65
65
  angr/analyses/cfg/cfg_arch_options.py,sha256=YONHg6y-h6BCsBkJK9tuxb94DDfeOoy9CUS-LVyyDyg,3112
66
- angr/analyses/cfg/cfg_base.py,sha256=JOliBFWPDWiIJlV5IUxU2Uf7BjExUNcJCibIlOQKoTs,123056
66
+ angr/analyses/cfg/cfg_base.py,sha256=rytyjMyPEEhT1H1CNL5amD6X7Me_HycPRUSOrDaBi2s,123134
67
67
  angr/analyses/cfg/cfg_emulated.py,sha256=Fi3rDN5ByxhO-H4Y7qn-3WZgBG12JGyvxcWmrD_FnFQ,152842
68
68
  angr/analyses/cfg/cfg_fast.py,sha256=2qcNkWihXV7M-KrOQv-j7B3m5okEe_7nIzgmZe09GHE,218261
69
69
  angr/analyses/cfg/cfg_fast_soot.py,sha256=eA_P-OY3gRRNj2BBgSPMsB_llGyFFCNW3VyGZ2uiMoM,26047
@@ -74,7 +74,7 @@ angr/analyses/cfg/indirect_jump_resolvers/amd64_pe_iat.py,sha256=mMLQ5cUDjpGXD38
74
74
  angr/analyses/cfg/indirect_jump_resolvers/arm_elf_fast.py,sha256=VhgIEDBSN6K_1pNHW1O23bOvc_gbi7bPpmlTGE7_5Uw,5231
75
75
  angr/analyses/cfg/indirect_jump_resolvers/const_resolver.py,sha256=9ctRVLyVUMhkBV0y-Iy48usHBodGfkaWK1C7Dim2fgE,5273
76
76
  angr/analyses/cfg/indirect_jump_resolvers/default_resolvers.py,sha256=TyRIBvH8St1eHktpRrErD4zp8HKP3ppglfPuCEE0wg0,1441
77
- angr/analyses/cfg/indirect_jump_resolvers/jumptable.py,sha256=XnRqocVq_Y52d_XkoMnQoWQCGbwpDdQV4RpQlK9pOIc,101955
77
+ angr/analyses/cfg/indirect_jump_resolvers/jumptable.py,sha256=_bYhqtDXmeR7N7zQPnYvGP983k3Bnu8KcObevSBj7eM,101986
78
78
  angr/analyses/cfg/indirect_jump_resolvers/mips_elf_fast.py,sha256=G3y7GYPxtuDQCwBz1eec-74YC87npLK6K2mtRPOsOqc,19350
79
79
  angr/analyses/cfg/indirect_jump_resolvers/propagator_utils.py,sha256=z77LC9YyQjNEr8ncVwIXVVqPyUjL2x2pGvqAax6QlYo,957
80
80
  angr/analyses/cfg/indirect_jump_resolvers/resolver.py,sha256=2YyKPaXuWVbPwUQZcn0CKuba3ydYGIMT0Vxhy09kcV0,3019
@@ -105,7 +105,7 @@ angr/analyses/decompiler/empty_node_remover.py,sha256=KhH88_x3A1nR22H3wrdp1gznLu
105
105
  angr/analyses/decompiler/expression_counters.py,sha256=P4RbtnyEy2lJnNUw_G702W-AIGaL4MszZ5fdrritwwg,2867
106
106
  angr/analyses/decompiler/expression_narrower.py,sha256=64VR1xdPVVoCLHOYRPacV9ecQb33rP7nC1l8rpFxTkg,3545
107
107
  angr/analyses/decompiler/goto_manager.py,sha256=UD42GvAN7--8GPZuT3blkyEhhpw-HExRfzov79j-3w4,2485
108
- angr/analyses/decompiler/graph_region.py,sha256=vrCl71_Dv6EJb-0GLIA5FA3_CS9RMOZWexzsuIaAshE,16502
108
+ angr/analyses/decompiler/graph_region.py,sha256=hBgARiSiv0KfoDbekAMYUKuTHhs_uIz2Qe_0lnFMx8g,16956
109
109
  angr/analyses/decompiler/jump_target_collector.py,sha256=rA0IhZuJ20-jOQTjT7fnhyW2qwPdJI4SmnhLRtuADro,1181
110
110
  angr/analyses/decompiler/jumptable_entry_condition_rewriter.py,sha256=dcgnXt3oKa8Qm_KtT-Rl7XDmLetvOj_UFALxC2HGLac,2139
111
111
  angr/analyses/decompiler/redundant_label_remover.py,sha256=kDGGFWWV61I5fbASiTQTHgDCFLIOkffUdDOsu5yg5ok,5385
@@ -121,13 +121,13 @@ angr/analyses/decompiler/ccall_rewriters/rewriter_base.py,sha256=gWezEKB7A_YnlfU
121
121
  angr/analyses/decompiler/optimization_passes/__init__.py,sha256=xlLn9Mzcd9vmvV0exca84xejLlOqP1MKYv3WVsQxmX8,3954
122
122
  angr/analyses/decompiler/optimization_passes/base_ptr_save_simplifier.py,sha256=bjpEMW-Lqj5XW9NWUikGPcRn5scKNc8VvEjVMXxAuq8,5289
123
123
  angr/analyses/decompiler/optimization_passes/code_motion.py,sha256=KEQPdpSfSYiIzHFYGkfj3W8ZupJbogQNhYnYKzo1xUA,15319
124
- angr/analyses/decompiler/optimization_passes/const_derefs.py,sha256=FEoiprXxns-3S0nFaIWm2DBW_aDMq3GZ-VOG3CIqcMw,10593
124
+ angr/analyses/decompiler/optimization_passes/const_derefs.py,sha256=X9N0Dk48_6E0en16lMZ75KhEQfeUmZw19TNFiPzL8Cg,10677
125
125
  angr/analyses/decompiler/optimization_passes/cross_jump_reverter.py,sha256=CP-WjyQGOw_mnUF0ZpC5C4syMxlx4Tvy0T_EIZQxXrY,4033
126
126
  angr/analyses/decompiler/optimization_passes/div_simplifier.py,sha256=J7LRc3-DKfToxKVejnkHbNel9_56-7xsGyJJiTCwqsQ,17442
127
127
  angr/analyses/decompiler/optimization_passes/engine_base.py,sha256=7nnNZkVMqvikHCy9X11M8KLWbL8lF0DoLYPemETWP4c,10388
128
128
  angr/analyses/decompiler/optimization_passes/expr_op_swapper.py,sha256=vlPhWDyvuEmbGcd1ka8rS68F72Ty6Hw3J00KM3tWCus,4701
129
129
  angr/analyses/decompiler/optimization_passes/flip_boolean_cmp.py,sha256=GuDDqmZXUo_a9Af30n9tcihNQcATDrztmraZ-88v134,3946
130
- angr/analyses/decompiler/optimization_passes/inlined_string_transformation_simplifier.py,sha256=RPxrXnPZoYGQ63eol6Ttfv5s_C-iP7k1Iz_dRCDn6oM,16281
130
+ angr/analyses/decompiler/optimization_passes/inlined_string_transformation_simplifier.py,sha256=vTZtL0nMMkMzioSGcxE0B6wuVNZsSmV_Dh1MuItdLZ0,16329
131
131
  angr/analyses/decompiler/optimization_passes/ite_expr_converter.py,sha256=-6znFCAXS7Z3cn5CTqr3mg4r1G_jJgDFJHk2PzMVwtE,7756
132
132
  angr/analyses/decompiler/optimization_passes/ite_region_converter.py,sha256=vjDRO-Rh5LVIlxGRCuggjcz12CIxQuISB0LCC-vF6ZM,7207
133
133
  angr/analyses/decompiler/optimization_passes/lowered_switch_simplifier.py,sha256=9hhCcvE15MCM6KoJU1ba11hFiN6MXxYAb9FbntzYJbg,34328
@@ -160,7 +160,7 @@ angr/analyses/decompiler/peephole_optimizations/bool_expr_xor_1.py,sha256=QANf71
160
160
  angr/analyses/decompiler/peephole_optimizations/bswap.py,sha256=5u1R-kIyCxDw4oMNnbLhaE9rUiJ_atwDaMoefzpTmAg,6238
161
161
  angr/analyses/decompiler/peephole_optimizations/coalesce_same_cascading_ifs.py,sha256=9ogHTcP4vhFfwDzxccnjfhkizKGvM_7tK3y6PqyG5Hg,1020
162
162
  angr/analyses/decompiler/peephole_optimizations/const_mull_a_shift.py,sha256=KLdhgU_e1OglEeC7IHipql9UzYpatJc0LydXJJIakL4,3691
163
- angr/analyses/decompiler/peephole_optimizations/constant_derefs.py,sha256=AE2jC2HHMNWApBw_2EnORMicr4A0Gt2Trl6tSqunC9g,1583
163
+ angr/analyses/decompiler/peephole_optimizations/constant_derefs.py,sha256=tLZ04IkbVKlm1HYNhj7pytmLC3YDpIJ7FG0p4Vz99bk,1666
164
164
  angr/analyses/decompiler/peephole_optimizations/conv_a_sub0_shr_and.py,sha256=vzROAUvKUrQQmwUXJ-0WyFr1v5f8EPBgjeXIpWhtDak,2578
165
165
  angr/analyses/decompiler/peephole_optimizations/conv_shl_shr.py,sha256=0IHIk7uxIC70140k3VcXlnx4QcunAeoETXF1ZgJi2Pk,2070
166
166
  angr/analyses/decompiler/peephole_optimizations/eager_eval.py,sha256=A0AUf60c047X7VhOr7tTAJE95qS3yiUxE1dYr9maA-8,10131
@@ -203,12 +203,12 @@ angr/analyses/decompiler/region_simplifiers/switch_cluster_simplifier.py,sha256=
203
203
  angr/analyses/decompiler/region_simplifiers/switch_expr_simplifier.py,sha256=HGIiC6c3C91VfcqxUHe9aTsRohwmMXOHZH_G_dbwwx4,3327
204
204
  angr/analyses/decompiler/structured_codegen/__init__.py,sha256=NLEvs8xnJwJiUgX8AmgS7rtFFW4SxtQcA1AjzE-GryA,313
205
205
  angr/analyses/decompiler/structured_codegen/base.py,sha256=nJPOoeJCbewchYdXjSE4S2b1-WN6pT3TxmCQMDO0azw,3845
206
- angr/analyses/decompiler/structured_codegen/c.py,sha256=UpljxwZANYUX9UrQoYKW5yjTW0OO0faxOzLEyocDKYM,134738
206
+ angr/analyses/decompiler/structured_codegen/c.py,sha256=HE5OQmY1map5ZPRIzS_QHW_D4NRWFDJwfCIq6X3iP4U,135388
207
207
  angr/analyses/decompiler/structured_codegen/dummy.py,sha256=IVfmtcWpTgNCRVsuW3GdQgDnuPmvodX85V0bBYtF_BI,535
208
208
  angr/analyses/decompiler/structured_codegen/dwarf_import.py,sha256=TMz65TkF_ID_Ipocj0aFDb84H6slolN90wq0tzhY2Rk,6773
209
209
  angr/analyses/decompiler/structuring/__init__.py,sha256=eSiT6xUpv9K5-enK3OZj2lNzxwowS9_5OTrjHiPgfFs,371
210
210
  angr/analyses/decompiler/structuring/dream.py,sha256=xsFPPl0L7nu8ejugCm8FbJUCgYcnCMUCAJQTzNQDLIo,48400
211
- angr/analyses/decompiler/structuring/phoenix.py,sha256=QbOqD21O6oH8lckFVTbWCAknQUFGphauyO5O_XRyppg,119472
211
+ angr/analyses/decompiler/structuring/phoenix.py,sha256=Li8rR3L0UkIlG3_6wwmON_kQFKQA4FtEzcVVVFhTTKE,119594
212
212
  angr/analyses/decompiler/structuring/recursive_structurer.py,sha256=hr47-tqWexOXbTRZZlRyEE4T-PGwuZcv58xc16Hliec,7078
213
213
  angr/analyses/decompiler/structuring/structurer_base.py,sha256=orV0jRqRh2hkKNsdBwigm5OoXTQDP7dfY6go_Z4if1Q,41330
214
214
  angr/analyses/decompiler/structuring/structurer_nodes.py,sha256=PE_byL1mxj811MMM-qQWzSaITtcu5Xn0ZKz0yobnK-k,11964
@@ -334,10 +334,10 @@ angr/engines/syscall.py,sha256=LNMC3zyis3OiWC7_8Zn1blMw1EDib5FjUqepXlaWDTI,2177
334
334
  angr/engines/unicorn.py,sha256=gf7LjjWyaaujqSuCq3d-BGm8t5sdZjzsJeBevGfdiLw,24447
335
335
  angr/engines/light/__init__.py,sha256=j9vH2fU9MaNVQ8NT3Ek3Tj2zkGlVxlKyzia8zVTofYs,186
336
336
  angr/engines/light/data.py,sha256=jZBAJxor2zg5m4s63joSrjUs8H-OeHBZiqZmc3dqEQQ,23132
337
- angr/engines/light/engine.py,sha256=dJxHkFrfCjufo-d4PO_SkBT8CMp3aQ7lbWpfQGImCoI,44929
337
+ angr/engines/light/engine.py,sha256=wL1OdFcu6nHBopFxLSMJSU1C2mwnC88BCVnwYME2XKY,45137
338
338
  angr/engines/pcode/__init__.py,sha256=UwMEwXQvHXIIgedJn2ZOvBBEgfHg2rfREBSpcTSXCZ4,83
339
339
  angr/engines/pcode/behavior.py,sha256=gwMFXQ3cibqchRHnRfiVzzzLIg2mgX-2XJlkD82p8J0,28720
340
- angr/engines/pcode/cc.py,sha256=lwMeO9Mg8L7-uxxPzYmu13n7YLNo-Sr3xxLk_-QHTOU,2994
340
+ angr/engines/pcode/cc.py,sha256=CUKkivYUddt8McAYLwAPO5btzDHwO65yBQvWs3CV9dU,3085
341
341
  angr/engines/pcode/emulate.py,sha256=N8d6iQKSpX-Q8b4BurBWbpeqGePcAtdvE8x7-ojJzcQ,16718
342
342
  angr/engines/pcode/engine.py,sha256=RdZZeKF0kHq94uwtZ6DYl43UJXyAhSie9M2ChVcVT4Y,10551
343
343
  angr/engines/pcode/lifter.py,sha256=N1Ui-BBY3Y6KhuwjOwJSthm4EaxksglAvReCXQGNLu8,52362
@@ -485,7 +485,7 @@ angr/knowledge_plugins/xrefs/__init__.py,sha256=-5A2h048WTRu6Et7q7bqlc-AyBXNuJ9A
485
485
  angr/knowledge_plugins/xrefs/xref.py,sha256=w4wjDFl4xtJYOtJplp9s1AIX3wI1RE71po3ufh1M4aY,4963
486
486
  angr/knowledge_plugins/xrefs/xref_manager.py,sha256=OLHEmgwGbFYWhm6oMgglPQ8Fe7rAvKicFeyQoGqSylc,4009
487
487
  angr/knowledge_plugins/xrefs/xref_types.py,sha256=VR3xLQQ-gUg25oX0OL3BJHyQRlZh2A8syBac9ZMS9n4,271
488
- angr/lib/angr_native.dylib,sha256=j_WWiDFF4crczoDzEd8K5J4hKAoFp9-M6baDkLPDlm8,18589760
488
+ angr/lib/angr_native.dylib,sha256=l7JvQorrCmVqazkHcI2BgEXDKo0uSPvtDDleOIwhsoQ,18589760
489
489
  angr/misc/__init__.py,sha256=Ct-Q6-c-Frdz5Ihkqmou3j_1jyJi8WJXlQxs-gPQg0Y,237
490
490
  angr/misc/ansi.py,sha256=TKrx7d_MViChHh5RBR2VLufNrujTUioJWsZS5ugk8k4,807
491
491
  angr/misc/autoimport.py,sha256=K64D53xl3xUqBulXAyaypzqYRBjjm4HDn6TlJsBouKw,3426
@@ -1175,7 +1175,7 @@ angr/protos/xrefs_pb2.py,sha256=uze_1xvipKxY7Xrpxl6BJC6OCwp3_-B62S81FlzXl2Q,1247
1175
1175
  angr/simos/__init__.py,sha256=lqiR4H7KgNd8uzQT5OYsvrcb3l3moCoxBP-O-UMzPjM,755
1176
1176
  angr/simos/cgc.py,sha256=13dtMvJhD7nCLEH1n6nAMR4IbG1WYc8jQ_ASZsP85yU,5568
1177
1177
  angr/simos/javavm.py,sha256=NKwosYvx4-_gsT7eGmHHIZNzzdF-T0xK0BuXobrI8oQ,21461
1178
- angr/simos/linux.py,sha256=GIQMpllbbY8gES10c8fpglJNYiRv9SHQOxVUa3xERBI,23327
1178
+ angr/simos/linux.py,sha256=l4HN7M3puiKW3hqA3yALBMcAYhDCo7aZGbnhJz-Q9_w,23625
1179
1179
  angr/simos/simos.py,sha256=UbhjUTsowcnXBBu6k31Bt5ZNx1QS1ly146q_66TY23g,18275
1180
1180
  angr/simos/snimmuc_nxp.py,sha256=Uy43SwCjnKFo207fVz-h0vzwRk-RnIACz1C0Ly3ftw4,5679
1181
1181
  angr/simos/userland.py,sha256=a0x1UYVQ0x7Wgnu4PtedS2-7kS4vLqoYNqEwo7Z_5fw,7351
@@ -1289,9 +1289,9 @@ angr/utils/mp.py,sha256=EPeBml7i1HNOg9OFvj-hoqaGJzKD4fKyM-mHWIaJ3Ko,1825
1289
1289
  angr/utils/segment_list.py,sha256=lhGy16YKKaD-F0JtWmjJ6a2RFcdTrKcLfPE9ILRVtCs,20431
1290
1290
  angr/utils/timing.py,sha256=uOowCP8kotDrKDOjlAod-guBuYkAA8zEtiAwpdwMlIU,1334
1291
1291
  angr/utils/typing.py,sha256=_I4dzZSh1_uRKQ3PpjXseA_CaJH6ru2yAxjICkJhfmI,417
1292
- angr-9.2.99.dist-info/LICENSE,sha256=cgL_ho5B1NH8UxwtBuqThRWdjear8b7hktycaS1sz6g,1327
1293
- angr-9.2.99.dist-info/METADATA,sha256=pDpfAvlHP9K2NuxdbBeYBzXuDjDgZwAiIjRx7CcKwgY,4796
1294
- angr-9.2.99.dist-info/WHEEL,sha256=YBuZgLbEquNCbbbQPlLFm_OOe1fPwf91V3LBhwgnks4,107
1295
- angr-9.2.99.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
1296
- angr-9.2.99.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
1297
- angr-9.2.99.dist-info/RECORD,,
1292
+ angr-9.2.101.dist-info/LICENSE,sha256=cgL_ho5B1NH8UxwtBuqThRWdjear8b7hktycaS1sz6g,1327
1293
+ angr-9.2.101.dist-info/METADATA,sha256=QdF3b3Dtwv9k1hZT6utz2OPca7uwyzZuFiyg1JWSic8,4802
1294
+ angr-9.2.101.dist-info/WHEEL,sha256=YBuZgLbEquNCbbbQPlLFm_OOe1fPwf91V3LBhwgnks4,107
1295
+ angr-9.2.101.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
1296
+ angr-9.2.101.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
1297
+ angr-9.2.101.dist-info/RECORD,,
File without changes