angr 9.2.176__cp310-abi3-win_amd64.whl → 9.2.178__cp310-abi3-win_amd64.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 (42) hide show
  1. angr/__init__.py +1 -1
  2. angr/analyses/cfg/cfg_fast.py +15 -0
  3. angr/analyses/decompiler/ail_simplifier.py +69 -1
  4. angr/analyses/decompiler/ccall_rewriters/amd64_ccalls.py +45 -7
  5. angr/analyses/decompiler/clinic.py +15 -7
  6. angr/analyses/decompiler/dirty_rewriters/__init__.py +7 -0
  7. angr/analyses/decompiler/dirty_rewriters/amd64_dirty.py +69 -0
  8. angr/analyses/decompiler/dirty_rewriters/rewriter_base.py +27 -0
  9. angr/analyses/decompiler/optimization_passes/__init__.py +3 -0
  10. angr/analyses/decompiler/optimization_passes/optimization_pass.py +10 -8
  11. angr/analyses/decompiler/optimization_passes/register_save_area_simplifier.py +44 -6
  12. angr/analyses/decompiler/optimization_passes/register_save_area_simplifier_adv.py +198 -0
  13. angr/analyses/decompiler/optimization_passes/win_stack_canary_simplifier.py +111 -55
  14. angr/analyses/decompiler/peephole_optimizations/cas_intrinsics.py +69 -12
  15. angr/analyses/decompiler/peephole_optimizations/inlined_wcscpy_consolidation.py +189 -6
  16. angr/analyses/decompiler/peephole_optimizations/remove_redundant_shifts_around_comparators.py +72 -1
  17. angr/analyses/decompiler/presets/basic.py +2 -0
  18. angr/analyses/decompiler/presets/fast.py +2 -0
  19. angr/analyses/decompiler/presets/full.py +2 -0
  20. angr/analyses/decompiler/utils.py +10 -3
  21. angr/analyses/flirt/flirt.py +5 -4
  22. angr/analyses/s_propagator.py +23 -21
  23. angr/analyses/smc.py +2 -3
  24. angr/analyses/variable_recovery/engine_ail.py +39 -0
  25. angr/emulator.py +2 -1
  26. angr/engines/hook.py +1 -1
  27. angr/engines/icicle.py +19 -3
  28. angr/knowledge_plugins/functions/function.py +2 -2
  29. angr/knowledge_plugins/labels.py +4 -4
  30. angr/procedures/definitions/__init__.py +9 -0
  31. angr/procedures/definitions/parse_win32json.py +11 -0
  32. angr/procedures/definitions/wdk/ntoskrnl.json +4 -0
  33. angr/rustylib.pyd +0 -0
  34. angr/unicornlib.dll +0 -0
  35. angr/utils/funcid.py +85 -0
  36. angr/utils/ssa/__init__.py +2 -6
  37. {angr-9.2.176.dist-info → angr-9.2.178.dist-info}/METADATA +6 -5
  38. {angr-9.2.176.dist-info → angr-9.2.178.dist-info}/RECORD +42 -38
  39. {angr-9.2.176.dist-info → angr-9.2.178.dist-info}/WHEEL +0 -0
  40. {angr-9.2.176.dist-info → angr-9.2.178.dist-info}/entry_points.txt +0 -0
  41. {angr-9.2.176.dist-info → angr-9.2.178.dist-info}/licenses/LICENSE +0 -0
  42. {angr-9.2.176.dist-info → angr-9.2.178.dist-info}/top_level.txt +0 -0
angr/engines/icicle.py CHANGED
@@ -8,7 +8,7 @@ from dataclasses import dataclass
8
8
  from typing_extensions import override
9
9
 
10
10
  import pypcode
11
- from archinfo import Arch, Endness, ArchARMCortexM
11
+ from archinfo import Arch, ArchPcode, Endness, ArchARMCortexM
12
12
 
13
13
  from angr.engines.concrete import ConcreteEngine, HeavyConcreteState
14
14
  from angr.engines.failure import SimEngineFailure
@@ -72,6 +72,8 @@ class IcicleEngine(ConcreteEngine):
72
72
  accurate, just a set of heuristics to get the right architecture. When
73
73
  adding a new architecture, this function may need to be updated.
74
74
  """
75
+ if isinstance(arch, ArchARMCortexM) or (isinstance(arch, ArchPcode) and arch.pcode_arch == "ARM:LE:32:Cortex"):
76
+ return "armv7m"
75
77
  if arch.linux_name == "arm":
76
78
  return "armv7a" if arch.memory_endness == Endness.LE else "armeb"
77
79
  return arch.linux_name
@@ -83,12 +85,21 @@ class IcicleEngine(ConcreteEngine):
83
85
  """
84
86
  return icicle_arch.startswith(("arm", "thumb"))
85
87
 
88
+ @staticmethod
89
+ def __is_cortex_m(angr_arch: Arch, icicle_arch: str) -> bool:
90
+ """
91
+ Check if the architecture is cortex-m based on the address.
92
+ """
93
+ return isinstance(angr_arch, ArchARMCortexM) or icicle_arch == "armv7m"
94
+
86
95
  @staticmethod
87
96
  def __is_thumb(angr_arch: Arch, icicle_arch: str, addr: int) -> bool:
88
97
  """
89
98
  Check if the architecture is thumb based on the address.
90
99
  """
91
- return isinstance(angr_arch, ArchARMCortexM) or (IcicleEngine.__is_arm(icicle_arch) and addr & 1 == 1)
100
+ return IcicleEngine.__is_cortex_m(angr_arch, icicle_arch) or (
101
+ IcicleEngine.__is_arm(icicle_arch) and addr & 1 == 1
102
+ )
92
103
 
93
104
  @staticmethod
94
105
  def __get_pages(state: HeavyConcreteState) -> set[int]:
@@ -132,7 +143,10 @@ class IcicleEngine(ConcreteEngine):
132
143
  for register in state.arch.register_list:
133
144
  register = register.vex_name.lower() if register.vex_name is not None else register.name
134
145
  try:
135
- emu.reg_write(register, state.solver.eval(state.registers.load(register), cast_to=int))
146
+ emu.reg_write(
147
+ register,
148
+ state.solver.eval(state.registers.load(register), cast_to=int),
149
+ )
136
150
  copied_registers.add(register)
137
151
  except KeyError:
138
152
  log.debug("Register %s not found in icicle", register)
@@ -242,11 +256,13 @@ class IcicleEngine(ConcreteEngine):
242
256
  @override
243
257
  def add_breakpoint(self, addr: int) -> None:
244
258
  """Add a breakpoint at the given address."""
259
+ addr = addr & ~1 # Clear thumb bit if set
245
260
  self.breakpoints.add(addr)
246
261
 
247
262
  @override
248
263
  def remove_breakpoint(self, addr: int) -> None:
249
264
  """Remove a breakpoint at the given address, if present."""
265
+ addr = addr & ~1 # Clear thumb bit if set
250
266
  self.breakpoints.discard(addr)
251
267
 
252
268
  @override
@@ -759,8 +759,7 @@ class Function(Serializable):
759
759
  if hooker:
760
760
  if hasattr(hooker, "DYNAMIC_RET") and hooker.DYNAMIC_RET:
761
761
  return True
762
- if hasattr(hooker, "NO_RET"):
763
- return not hooker.NO_RET
762
+ return hooker.returns
764
763
 
765
764
  # Cannot determine
766
765
  return None
@@ -1579,6 +1578,7 @@ class Function(Serializable):
1579
1578
  return False
1580
1579
  self.prototype = proto.with_arch(self.project.arch)
1581
1580
  self.prototype_libname = library.name
1581
+ self.returning = library.is_returning(name)
1582
1582
 
1583
1583
  # update self.calling_convention if necessary
1584
1584
  if self.calling_convention is None:
@@ -68,19 +68,19 @@ class Labels(KnowledgeBasePlugin):
68
68
  def items(self):
69
69
  return self._labels.items()
70
70
 
71
- def get(self, addr):
71
+ def get(self, addr, default=None):
72
72
  """
73
73
  Get a label as string for a given address
74
74
  Same as .labels[x]
75
75
  """
76
- return self[addr]
76
+ return self._labels.get(addr, default)
77
77
 
78
- def lookup(self, name):
78
+ def lookup(self, name, default=None):
79
79
  """
80
80
  Returns an address to a given label
81
81
  To show all available labels, iterate over .labels or list(b.kb.labels)
82
82
  """
83
- return self._reverse_labels[name]
83
+ return self._reverse_labels.get(name, default)
84
84
 
85
85
  def copy(self):
86
86
  o = Labels(self._kb)
@@ -427,6 +427,15 @@ class SimLibrary:
427
427
 
428
428
  return func_name in self.prototypes or func_name in self.prototypes_json
429
429
 
430
+ def is_returning(self, name: str) -> bool:
431
+ """
432
+ Check if a function is known to return.
433
+
434
+ :param name: The name of the function.
435
+ :return: A bool indicating if the function is known to return or not.
436
+ """
437
+ return name not in self.non_returning
438
+
430
439
 
431
440
  class SimCppLibrary(SimLibrary):
432
441
  """
@@ -2443,22 +2443,33 @@ def do_it(in_dir):
2443
2443
 
2444
2444
  parsed_cprotos[(prefix, lib, suffix)].append((func, proto, ""))
2445
2445
 
2446
+ non_returning_functions = {
2447
+ "KeBugCheck",
2448
+ "KeBugCheckEx",
2449
+ }
2450
+
2446
2451
  # dump to JSON files
2447
2452
  for (prefix, libname, suffix), parsed_cprotos_per_lib in parsed_cprotos.items():
2448
2453
  filename = libname.replace(".", "_") + ".json"
2449
2454
  os.makedirs(prefix, exist_ok=True)
2450
2455
  logging.debug("Writing to file %s...", filename)
2456
+ non_returning = []
2451
2457
  d = {
2452
2458
  "_t": "lib",
2453
2459
  "type_collection_names": ["win32"],
2454
2460
  "library_names": [libname if not suffix else f"{libname}.{suffix}"],
2455
2461
  "default_cc": {"X86": "SimCCStdcall", "AMD64": "SimCCMicrosoftAMD64"},
2462
+ "non_returning": non_returning,
2456
2463
  "functions": OrderedDict(),
2457
2464
  }
2458
2465
  for func, cproto, doc in sorted(parsed_cprotos_per_lib, key=lambda x: x[0]):
2459
2466
  d["functions"][func] = {"proto": json.dumps(cproto.to_json()).replace('"', "'")}
2460
2467
  if doc:
2461
2468
  d["functions"][func]["doc"] = doc
2469
+ if func in non_returning_functions:
2470
+ non_returning.append(func)
2471
+ if not non_returning:
2472
+ del d["non_returning"]
2462
2473
  with open(os.path.join(prefix, filename), "w") as f:
2463
2474
  f.write(json.dumps(d, indent="\t"))
2464
2475
 
@@ -10,6 +10,10 @@
10
10
  "X86": "SimCCStdcall",
11
11
  "AMD64": "SimCCMicrosoftAMD64"
12
12
  },
13
+ "non_returning": [
14
+ "KeBugCheck",
15
+ "KeBugCheckEx"
16
+ ],
13
17
  "functions": {
14
18
  "CcAsyncCopyRead": {
15
19
  "proto": "{'_t': 'func', 'args': [{'_t': 'ptr', 'pts_to': {'_t': '_ref', 'name': 'FILE_OBJECT', 'ot': '_ref'}}, {'_t': 'ptr', 'pts_to': {'_t': 'llong', 'label': 'Int64'}}, {'_t': 'int', 'signed': false, 'label': 'UInt32'}, {'_t': '_ref', 'name': 'BOOLEAN', 'ot': 'char'}, {'_t': 'ptr', 'pts_to': {'_t': 'bot', 'label': 'Void'}}, {'_t': 'ptr', 'pts_to': {'_t': '_ref', 'name': 'IO_STATUS_BLOCK', 'ot': '_ref'}}, {'_t': '_ref', 'name': 'PETHREAD', 'ot': 'ptr'}, {'_t': 'ptr', 'pts_to': {'_t': '_ref', 'name': 'CC_ASYNC_READ_CONTEXT', 'ot': '_ref'}}], 'returnty': {'_t': '_ref', 'name': 'BOOLEAN', 'ot': 'char'}, 'arg_names': ['FileObject', 'FileOffset', 'Length', 'Wait', 'Buffer', 'IoStatus', 'IoIssuerThread', 'AsyncReadContext']}"
angr/rustylib.pyd CHANGED
Binary file
angr/unicornlib.dll CHANGED
Binary file
angr/utils/funcid.py CHANGED
@@ -1,5 +1,6 @@
1
1
  # pylint:disable=too-many-boolean-expressions
2
2
  from __future__ import annotations
3
+ from typing import Any
3
4
 
4
5
  import capstone
5
6
 
@@ -47,6 +48,90 @@ def is_function_security_check_cookie(func, project, security_cookie_addr: int)
47
48
  return False
48
49
 
49
50
 
51
+ def is_function_security_check_cookie_strict(func: Function, project) -> tuple[bool, int | None]:
52
+ # security_cookie_addr is unavailable; we examine all bytes in this function
53
+ if func.is_plt or func.is_syscall or func.is_simprocedure:
54
+ return False, None
55
+ if len(func.block_addrs_set) not in {5, 6}:
56
+ return False, None
57
+ block_bytes: list[tuple[int, Any, bytes]] = [
58
+ (b.addr, b, b.bytes)
59
+ for b in sorted(func.blocks, key=lambda b: b.addr)
60
+ if isinstance(b.addr, int) and b.bytes is not None
61
+ ]
62
+ if block_bytes[0][0] != func.addr:
63
+ # the first block is probably the BugCheck function - skip it
64
+ block_bytes = block_bytes[1:]
65
+ elif len(block_bytes) == 6:
66
+ # skip the last block, which is probably the BugCheck function
67
+ block_bytes = block_bytes[:-1]
68
+ if len(block_bytes) != 5:
69
+ return False, None
70
+
71
+ # check the first block
72
+ # cmp rcx, [xxx]
73
+ # jnz xxx
74
+ first_block = block_bytes[0][1]
75
+ if len(first_block.capstone.insns) != 2:
76
+ return False, None
77
+ ins0 = first_block.capstone.insns[0]
78
+ security_cookie_addr = None
79
+ if (
80
+ project.arch.name == "AMD64"
81
+ and ins0.mnemonic == "cmp"
82
+ and len(ins0.operands) == 2
83
+ and ins0.operands[0].type == capstone.x86.X86_OP_REG
84
+ and ins0.operands[0].reg == capstone.x86.X86_REG_RCX
85
+ and ins0.operands[1].type == capstone.x86.X86_OP_MEM
86
+ and ins0.operands[1].mem.base == capstone.x86.X86_REG_RIP
87
+ and ins0.operands[1].mem.index == 0
88
+ ):
89
+ ins1 = first_block.capstone.insns[1]
90
+ if ins1.mnemonic == "jne":
91
+ security_cookie_addr = ins0.operands[1].mem.disp + ins0.address + ins0.size
92
+ if (
93
+ project.arch.name == "X86"
94
+ and ins0.mnemonic == "cmp"
95
+ and len(ins0.operands) == 2
96
+ and ins0.operands[0].type == capstone.x86.X86_OP_REG
97
+ and ins0.operands[0].reg == capstone.x86.X86_REG_ECX
98
+ and ins0.operands[1].type == capstone.x86.X86_OP_MEM
99
+ and ins0.operands[1].mem.base == 0
100
+ and ins0.operands[1].mem.index == 0
101
+ ):
102
+ ins1 = first_block.capstone.insns[1]
103
+ if ins1.mnemonic == "jne":
104
+ security_cookie_addr = ins0.operands[1].mem.disp
105
+
106
+ if security_cookie_addr is None:
107
+ return False, None
108
+
109
+ # the last block should be a jump
110
+ last_block = block_bytes[-1][1]
111
+ if len(last_block.capstone.insns) != 1:
112
+ return False, None
113
+ last_insn = last_block.capstone.insns[-1]
114
+ if last_insn.mnemonic != "jmp":
115
+ return False, None
116
+
117
+ # check the bytes of the remaining three blocks
118
+ if project.arch.name == "AMD64":
119
+ expected_bytes = [b"\x48\xc1\xc1\x10\x66\xf7\xc1\xff\xff\x75\x01", b"\xc3", b"\x48\xc1\xc9\x10"]
120
+ else:
121
+ # TODO: x86 bytes
122
+ expected_bytes = []
123
+
124
+ existing_bytes = []
125
+ for i, b in enumerate(block_bytes[1:-1]):
126
+ block = b[2]
127
+ max_block_size = block_bytes[1 + i + 1][0] - b[0]
128
+ existing_bytes.append(block[:max_block_size])
129
+ # normalize the block bytes if needed
130
+ if existing_bytes == expected_bytes:
131
+ return True, security_cookie_addr
132
+ return False, None
133
+
134
+
50
135
  def is_function_security_init_cookie(func: Function, project, security_cookie_addr: int | None) -> bool:
51
136
  if func.is_plt or func.is_syscall or func.is_simprocedure:
52
137
  return False
@@ -288,9 +288,7 @@ class AILReferenceFinder(AILBlockWalkerBase):
288
288
  self.vvar_id = vvar_id
289
289
  self.has_references_to_vvar = False
290
290
 
291
- def _handle_UnaryOp(
292
- self, expr_idx: int, expr: UnaryOp, stmt_idx: int, stmt: Statement | None, block: Block | None
293
- ) -> Any:
291
+ def _handle_UnaryOp(self, expr_idx: int, expr: UnaryOp, stmt_idx: int, stmt: Statement, block: Block | None) -> Any:
294
292
  if expr.op == "Reference" and isinstance(expr.operand, VirtualVariable) and expr.operand.varid == self.vvar_id:
295
293
  self.has_references_to_vvar = True
296
294
  return None
@@ -386,9 +384,7 @@ def has_load_expr_in_between_stmts(
386
384
  def is_vvar_propagatable(vvar: VirtualVariable, def_stmt: Statement | None) -> bool:
387
385
  if vvar.was_tmp or vvar.was_reg or vvar.was_parameter:
388
386
  return True
389
- if vvar.was_stack and isinstance(def_stmt, Assignment):
390
- if isinstance(def_stmt.src, Const):
391
- return True
387
+ if vvar.was_stack and isinstance(def_stmt, Assignment): # noqa:SIM102
392
388
  if (
393
389
  isinstance(def_stmt.src, VirtualVariable)
394
390
  and def_stmt.src.was_stack
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: angr
3
- Version: 9.2.176
3
+ Version: 9.2.178
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.176
19
+ Requires-Dist: archinfo==9.2.178
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.176
24
- Requires-Dist: cle==9.2.176
23
+ Requires-Dist: claripy==9.2.178
24
+ Requires-Dist: cle==9.2.178
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.176
34
+ Requires-Dist: pyvex==9.2.178
35
35
  Requires-Dist: rich>=13.1.0
36
36
  Requires-Dist: sortedcontainers
37
37
  Requires-Dist: sympy
@@ -46,6 +46,7 @@ Provides-Extra: telemetry
46
46
  Requires-Dist: opentelemetry-api; extra == "telemetry"
47
47
  Provides-Extra: unicorn
48
48
  Requires-Dist: unicorn==2.0.1.post1; extra == "unicorn"
49
+ Requires-Dist: setuptools; extra == "unicorn"
49
50
  Dynamic: license-file
50
51
 
51
52
  # angr
@@ -1,4 +1,4 @@
1
- angr/__init__.py,sha256=4UvTdkXxjnXyp62HCIJ0DcE_mJsddEmoelS1AbMR5ZQ,9246
1
+ angr/__init__.py,sha256=vN_wwQPUaez8llCxHPyGbA0xDZPdNi9jbjCSU0hqngI,9246
2
2
  angr/__main__.py,sha256=N6uAG4GA5S02pSDUKcWFmTuWiT-qiO7OP7kSfXsF4nQ,6142
3
3
  angr/annocfg.py,sha256=0NIvcuCskwz45hbBzigUTAuCrYutjDMwEXtMJf0y0S0,10742
4
4
  angr/blade.py,sha256=OGGW-oggqI9_LvgZhiQuh9Ktkvf3vhRBmH0XviNyZ6o,15801
@@ -7,7 +7,7 @@ angr/callable.py,sha256=j9Orwd4H4fPqOYylcEt5GuLGPV7ZOqyA_OYO2bp5PAA,6437
7
7
  angr/calling_conventions.py,sha256=PNCk0MQ8BJe2opJt0hUiR1KwUBeBlyFewDM8zgoil2g,101871
8
8
  angr/code_location.py,sha256=kXNJDEMge9VRHadrK4E6HQ8wDdCaHSXNqyAZuHDEGuM,5397
9
9
  angr/codenode.py,sha256=hCrQRp4Ebb2X6JicNmY1PXo3_Pm8GDxVivVW0Pwe84k,3918
10
- angr/emulator.py,sha256=572e9l-N4VUzUzLKylqpv3JmBvVC5VExi1tLy6MZSoU,4633
10
+ angr/emulator.py,sha256=aZXi8-jQ_9uelN2zvlecR2ZYXPey4PHyju6yVJIWDAk,4708
11
11
  angr/errors.py,sha256=I0L-TbxmVYIkC-USuHwaQ9BGPi2YVObnhZXQQ3kJFuo,8385
12
12
  angr/factory.py,sha256=PPNWvTiWaIgzxzyoTr8ObSF-TXp1hCdbY2e-0xBePNc,17815
13
13
  angr/graph_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -15,7 +15,7 @@ angr/keyed_region.py,sha256=Cx6dadqFgEvRmEHTbCJpg9mXkBtKGc_BKckHc6bk1IU,17992
15
15
  angr/knowledge_base.py,sha256=hRoSLuLaOXmddTSF9FN5TVs7liftpBGq_IICz5AaYBk,4533
16
16
  angr/project.py,sha256=sXHWI8EVNK8Ax6--yNOMhyt77Mcxg6shzD1NbMf0GT0,38267
17
17
  angr/py.typed,sha256=la67KBlbjXN-_-DfGNcdOcjYumVpKG_Tkw-8n5dnGB4,8
18
- angr/rustylib.pyd,sha256=-vziR3559iH569HUQSBRVHIUonKcmtKQgqWEMlCyV0k,4460032
18
+ angr/rustylib.pyd,sha256=6l2QyD79YlwqkUBigSAzWJHi0AhZMfeFW9TBh7L9ph0,4460032
19
19
  angr/serializable.py,sha256=l908phj_KcqopEEL_oCufbP_H6cm3Wc9v-5xdux1-6g,1533
20
20
  angr/sim_manager.py,sha256=w7yTfWR-P9yoN5x85eeiNpj9dTrnjpJ3o5aoFpDAPnc,39396
21
21
  angr/sim_options.py,sha256=WNLSnmn7gqKBYgQs3Me2H3zKusgt0WVqFzsBuzEZpoU,17436
@@ -27,7 +27,7 @@ angr/sim_variable.py,sha256=3DssmMw5G7m_-MYToJ3LBP-ooy2UQEuI2YgxIuX3d4Y,13177
27
27
  angr/slicer.py,sha256=DND0BERanYKafasRH9MDFAng0rSjdjmzXj2-phCD6CQ,10634
28
28
  angr/state_hierarchy.py,sha256=qDQCUGXmQm3vOxE3CSoiqTH4OAFFOWZZt9BLhNpeOhA,8484
29
29
  angr/tablespecs.py,sha256=Kx1e87FxTx3_ZN7cAHWZSRpdInT4Vfj5gExAWtLkLTw,3259
30
- angr/unicornlib.dll,sha256=GrKHUZz_Q1rbwCGCSEoz4GYrbIaMJSDZHDwFXlf_1SQ,813568
30
+ angr/unicornlib.dll,sha256=Jvlbjqib-vjFw4Ohe5_aR3Bv7CB_p_DGMOyFIyovb14,813568
31
31
  angr/vaults.py,sha256=D_gkDegCyPlZMKGC5E8zINYAaZfSXNWbmhX0rXCYpvM,9718
32
32
  angr/ailment/__init__.py,sha256=X1LTS6MuTovGtbXBjZendUVOzRk-ib-bP0imuqJDOYI,2039
33
33
  angr/ailment/block.py,sha256=rkmimsNPhrUabVVbRd2IgCaW0hA2_isvAsKlYtHZhgY,2428
@@ -68,8 +68,8 @@ angr/analyses/pathfinder.py,sha256=_prNqmRUSuSt2ZCP8qbvNN7pw7mtM8pWr9IL0AO6XL8,1
68
68
  angr/analyses/proximity_graph.py,sha256=KoRvdQswRrDygotrY_6hPnrzUf1U5c5mht-b7lowyFM,16087
69
69
  angr/analyses/reassembler.py,sha256=UXrDQNJtn4RUurpbIyMVpQ3AZ0VGVQZatoGHziEHvU0,98357
70
70
  angr/analyses/s_liveness.py,sha256=mSWwwAPpXl-dIZNx5pAHA5vWXqCO_OivOXWoiaI7tss,7984
71
- angr/analyses/s_propagator.py,sha256=pEq11sNPZoR0PrWLdIIjE0s5IEmOpCpNxYYnf2qMURY,24872
72
- angr/analyses/smc.py,sha256=DC4l7fTmoOybD_lSQaLjcUdeLUifQhhsSu1nx8Ax6pM,5176
71
+ angr/analyses/s_propagator.py,sha256=-pqaSlP6TmonDylPbQeHz1DirlpDBq0cMn29LuEzsU8,25157
72
+ angr/analyses/smc.py,sha256=0jU8fJL3i96ouFcwwOb2DR0l2Xxy1eWiY6ThWyUiRdM,5155
73
73
  angr/analyses/soot_class_hierarchy.py,sha256=R4xeacn-a_Q7PxSyj_stu5mnglZkPB5US5srKChX3mk,8740
74
74
  angr/analyses/stack_pointer_tracker.py,sha256=tsiA8VHyrUsR9sCFh6CL0BS1Ubunv2pat6D3DLanDgI,38151
75
75
  angr/analyses/static_hooker.py,sha256=AYJXoHtdq2m-MgpJbx4eur7wy7llrKXvsVM5NdPcKHU,1852
@@ -88,7 +88,7 @@ angr/analyses/cfg/cfg.py,sha256=dc9M91CaLeEKduYfMwpsT_01x6XyYuoNvgvcDKtbN-I,3177
88
88
  angr/analyses/cfg/cfg_arch_options.py,sha256=_XRewFZ51SeNaxChadb6_ER7-8LW8KXeTIpoP8_iRj0,3506
89
89
  angr/analyses/cfg/cfg_base.py,sha256=AdFw6ujMKc0nqLGymiYACOUSNYXTf-5cOjnPeGTaF0U,125012
90
90
  angr/analyses/cfg/cfg_emulated.py,sha256=4lKrmGVfCGt8l3Nz9zH6EcUcAVLwyOM7p81DlxUVNGA,148351
91
- angr/analyses/cfg/cfg_fast.py,sha256=sW6mvJr6dXp2mWte1otf2QZLuXmKV7vYRq95bLRi6L4,235307
91
+ angr/analyses/cfg/cfg_fast.py,sha256=uTW7bOn8WR9aP0RZiZQFgEuHunrrHp4FhgU8wX_cpwo,236180
92
92
  angr/analyses/cfg/cfg_fast_soot.py,sha256=8YgMtY_8w4nAMcHR6n-q_eFvKwsvNz0anUH7EzIL1B4,25924
93
93
  angr/analyses/cfg/cfg_job_base.py,sha256=Zshze972MakTsd-licQz77lac17igQaaTsAteHeHhYQ,5974
94
94
  angr/analyses/cfg/indirect_jump_resolvers/__init__.py,sha256=qWiTSIAQgXWmaYa9YYaiKsSTwUVClymaXv9sCX-bY-k,835
@@ -116,13 +116,13 @@ angr/analyses/data_dep/data_dependency_analysis.py,sha256=_vQPkw1NMrzD7kAFeotOaa
116
116
  angr/analyses/data_dep/dep_nodes.py,sha256=LcNcxeuKXMMc0GkmvKqqFwNlAk3GhzBR8ixM4CD305k,4640
117
117
  angr/analyses/data_dep/sim_act_location.py,sha256=EXmfFF3lV9XogcB2gFRMUoJCbjpDYiSKNyfafkBfiY8,1564
118
118
  angr/analyses/decompiler/__init__.py,sha256=eyxt2UKvPkbuS_l_1GPb0CJ6hrj2wTavh-mVf23wwiQ,1162
119
- angr/analyses/decompiler/ail_simplifier.py,sha256=c6xgZIZkvToFpcnOxWx6h0t39hdQ_EkFUafQkJ8Rhq4,93281
119
+ angr/analyses/decompiler/ail_simplifier.py,sha256=1qzHYpc5zS9Ei0wstbNUgbV7wkb0z0-6dPJEvK_Vh1g,95948
120
120
  angr/analyses/decompiler/ailgraph_walker.py,sha256=m71HCthOr9J8PZoMxJzCPskay8yfCZ2j8esWT4Ka3KI,1630
121
121
  angr/analyses/decompiler/block_io_finder.py,sha256=9J56W0_SQPczZ2-VoxqSv61T57foHmzy7wPtUtQKffU,10943
122
122
  angr/analyses/decompiler/block_similarity.py,sha256=S1lTlXFyOmJlQa7I3y7xgLsENLS4XGET7tdD55k_6Vg,6859
123
123
  angr/analyses/decompiler/block_simplifier.py,sha256=vjlugXCB3xFYBDBn3LPxOtU1dDc76PpYtVEoju3i9-4,15513
124
124
  angr/analyses/decompiler/callsite_maker.py,sha256=O7vjwNTmCLijzjKgSCaoX3IX4_sC-u-OqoKhE7lahlc,23427
125
- angr/analyses/decompiler/clinic.py,sha256=LIsOw2U3P72AQ0GMK5DSn8JyQ7uY-cLcJPNpTcCERNo,151635
125
+ angr/analyses/decompiler/clinic.py,sha256=src88SCieo4EXC-n9_vRPzMFsKMnBvxN4y--AXl4v7U,151838
126
126
  angr/analyses/decompiler/condition_processor.py,sha256=ALx1EO82EWOfj1mjWhS_8GNMLdEO98jqnIqB-CtfELg,56692
127
127
  angr/analyses/decompiler/decompilation_cache.py,sha256=06oiG299mVpGOTL54Xy1CUxz5s8QLgYJn5XIvKFLYkU,1566
128
128
  angr/analyses/decompiler/decompilation_options.py,sha256=bs6CNpU3UxepgBB_9eUH4jriNpGoryyPP0sR1hDWpTk,8477
@@ -142,9 +142,9 @@ angr/analyses/decompiler/return_maker.py,sha256=sUxRx4LRt1lf-N7x93t7W04lDgJomt_l
142
142
  angr/analyses/decompiler/seq_to_blocks.py,sha256=4-tqstendHHO2J0WD3JHQkm8c4c2KG3AO3mYWrn4xvg,569
143
143
  angr/analyses/decompiler/sequence_walker.py,sha256=_-kUn01iU7iGdrzOPpwzquwk9CVDUL7QfQkv2OT9r8Y,10083
144
144
  angr/analyses/decompiler/stack_item.py,sha256=4HpYE54sOnODzMLrNX1m-Mb9RlQYjojJqNKjjDz9jxU,814
145
- angr/analyses/decompiler/utils.py,sha256=slKEGEpWBN7X1ACbMDbd3e4Zs9txgDYeGBFqnFGCpD4,42705
145
+ angr/analyses/decompiler/utils.py,sha256=B7YwnEBF6AZ5DG3E7zHK0TF7zOLeiMWEcc18YL_eUyA,43074
146
146
  angr/analyses/decompiler/ccall_rewriters/__init__.py,sha256=TrnykR5cGCXy85f8OApJBjWSQ8WQSzjrnpND2fODWG8,207
147
- angr/analyses/decompiler/ccall_rewriters/amd64_ccalls.py,sha256=8LA05CKwFzoNAloOJ3KF4AkFM3bDTQdstr1_46WauxM,24958
147
+ angr/analyses/decompiler/ccall_rewriters/amd64_ccalls.py,sha256=pANATa8vdZ9zeVau_VHatCY3ZeSmMszjDpfNI0r3C-4,26634
148
148
  angr/analyses/decompiler/ccall_rewriters/rewriter_base.py,sha256=c7-GxWZbFfJvmg4DPdjYgLXyiasmfgmiQ6IY4fjOVWs,727
149
149
  angr/analyses/decompiler/ccall_rewriters/x86_ccalls.py,sha256=dvdiAXWGte_4xcDZnP7h980DVZqpxMgQt-fTC1nxChQ,13437
150
150
  angr/analyses/decompiler/counters/__init__.py,sha256=UT5K0cWgkVTAXZxy1qBBzrQip3YR2BOBVpxlAuNlt5o,480
@@ -159,10 +159,13 @@ angr/analyses/decompiler/dephication/graph_rewriting.py,sha256=cRMrYJgGV57H5TzWY
159
159
  angr/analyses/decompiler/dephication/graph_vvar_mapping.py,sha256=wvGWiSOa-2PnHpsLn3UkYwOYnFGJtFj0SpCn0bWl6k8,16224
160
160
  angr/analyses/decompiler/dephication/rewriting_engine.py,sha256=qBX6yrtJQhjiSRBz0mBjafF1lTrl22oToOErxIFSr4w,18623
161
161
  angr/analyses/decompiler/dephication/seqnode_dephication.py,sha256=kigkzU78eNe-zD16hUI2YMNt_jHvixpohHpnLhAHMlw,5437
162
+ angr/analyses/decompiler/dirty_rewriters/__init__.py,sha256=Go9Znxszue8UZD8w7nHJXcU885ZvZ8fa6BAuOa3Qpms,136
163
+ angr/analyses/decompiler/dirty_rewriters/amd64_dirty.py,sha256=QM0mUMKm5eyTybGL7yaXgGDuewHfmuctpZ4faxXczsg,2409
164
+ angr/analyses/decompiler/dirty_rewriters/rewriter_base.py,sha256=ghiYgB5O78ozGaCti7SqR_YlXQJrHtMEHnxQKe3Rw2I,817
162
165
  angr/analyses/decompiler/notes/__init__.py,sha256=4e5yTEQr5tnTQt8BfsMXqRUUpWPaQIFLzsgNVx55VJw,181
163
166
  angr/analyses/decompiler/notes/decompilation_note.py,sha256=MTFHVMlfmJGrKGuvlHppcIEFR1FWF9xW8_0U0xoFOUo,1352
164
167
  angr/analyses/decompiler/notes/deobfuscated_strings.py,sha256=f9AtSSVIB7kAlPUlkLxqNodco4KWbYivPV3Yh8KjVTo,1877
165
- angr/analyses/decompiler/optimization_passes/__init__.py,sha256=v6LlcY49Z816sgba6FORCZUQ0XHtw58AztlZ9hsTtms,5354
168
+ angr/analyses/decompiler/optimization_passes/__init__.py,sha256=np49PaxIYrNgFBSrQR3TJ_lOI2_EXsFPYEBX5GTVohQ,5518
166
169
  angr/analyses/decompiler/optimization_passes/base_ptr_save_simplifier.py,sha256=-kuCQk0ALYM1rmr6VaijrZYgHseeXqlWECaekKfI6hE,6120
167
170
  angr/analyses/decompiler/optimization_passes/call_stmt_rewriter.py,sha256=INLmzfGDMsVzyQF2S6uwiQSoNcxM7DUBJrdWlL2gqlY,1325
168
171
  angr/analyses/decompiler/optimization_passes/code_motion.py,sha256=fdUvRseuFiH6ehpk9uWWMityDuBs_kqmIjYMi92dDkw,15353
@@ -182,9 +185,10 @@ angr/analyses/decompiler/optimization_passes/ite_expr_converter.py,sha256=DA2H1U
182
185
  angr/analyses/decompiler/optimization_passes/ite_region_converter.py,sha256=O7b5hVV8UV7Q5nzEPovQZB4z8UsyYKvPkOTp2pljXiY,13774
183
186
  angr/analyses/decompiler/optimization_passes/lowered_switch_simplifier.py,sha256=RkZdMPJ_JKDkywVYp0MrCf6PK95GWT7Q0K7jsCVk_cE,42132
184
187
  angr/analyses/decompiler/optimization_passes/mod_simplifier.py,sha256=9ekxyvxF8g3tN5oanUg96HaYiyYVbj5Nf-vSeeq86kI,3384
185
- angr/analyses/decompiler/optimization_passes/optimization_pass.py,sha256=VGpCQmx8H2w3HoVFGdqwYYZ0z_IdHrFjOhz37yvxxTQ,28169
188
+ angr/analyses/decompiler/optimization_passes/optimization_pass.py,sha256=cr_9dkuQdvlhErrf221V2ugpNDj0ReAwO6FD3ksf9f8,28307
186
189
  angr/analyses/decompiler/optimization_passes/peephole_simplifier.py,sha256=4PeOX1al4raJ7QCVLyNcffF_Q5XnPS1vDwz4riNUeHQ,2672
187
- angr/analyses/decompiler/optimization_passes/register_save_area_simplifier.py,sha256=-MoVamrPN9fMakQMZPwRYQ5rbeuQURXvyELuUhPVXKI,9088
190
+ angr/analyses/decompiler/optimization_passes/register_save_area_simplifier.py,sha256=hKT0lUyKGPVLYuOG89nrvAW9KlYrBUh6v787V6wlFm0,11126
191
+ angr/analyses/decompiler/optimization_passes/register_save_area_simplifier_adv.py,sha256=sYucCf43c7LYH8kfXylS2wa5GYWRK77MZVad_75m5XU,8670
188
192
  angr/analyses/decompiler/optimization_passes/ret_addr_save_simplifier.py,sha256=A7azHMeTQDXPFj44lI-mK7wnbJZ6cdSL-lwwqxiBTk0,6420
189
193
  angr/analyses/decompiler/optimization_passes/ret_deduplicator.py,sha256=hqOBkbiyQwGDoPdkMLwJjJOI_90QQ2R6ESs2HQ4z0iw,8005
190
194
  angr/analyses/decompiler/optimization_passes/return_duplicator_base.py,sha256=cU4p-QGklqgillWLdD-o1nBPAsrfZS66GfAhuhHSz1I,27395
@@ -194,7 +198,7 @@ angr/analyses/decompiler/optimization_passes/stack_canary_simplifier.py,sha256=z
194
198
  angr/analyses/decompiler/optimization_passes/switch_default_case_duplicator.py,sha256=154pzAHjRaDJA1bc69Z49qDBouToemUL0BoT2ybmjw8,6476
195
199
  angr/analyses/decompiler/optimization_passes/switch_reused_entry_rewriter.py,sha256=6-b3u4zCwSQkMaYXDP4aTjTZdFTlIWlYfd8zC1vNuRM,4035
196
200
  angr/analyses/decompiler/optimization_passes/tag_slicer.py,sha256=VSlwk9ZdnFZnAAxL0gUAgqAtP6HEk4fqcYGWlD3ylGg,1181
197
- angr/analyses/decompiler/optimization_passes/win_stack_canary_simplifier.py,sha256=FBz1UGl5rj13GYSF2tYWaQR135q4VQUxCBPW6SgdQ2w,19485
201
+ angr/analyses/decompiler/optimization_passes/win_stack_canary_simplifier.py,sha256=M9ywJ3WuQBurI5hZw9WqcwLCppW9iHGvK9HkqSXUIbY,22115
198
202
  angr/analyses/decompiler/optimization_passes/x86_gcc_getpc_simplifier.py,sha256=aTQV3_yQaAKhQ24V66alxErjg7jv6gellWCqsT9G-lE,3104
199
203
  angr/analyses/decompiler/optimization_passes/duplication_reverter/__init__.py,sha256=hTeOdooVDZnBnjiAguD7_BS9YJru8rOiSHN3H0sdzcA,126
200
204
  angr/analyses/decompiler/optimization_passes/duplication_reverter/ail_merge_graph.py,sha256=vTXXuELU2hMG8FfN8ESiHZzkeJFcr19byUyjo6wDZi0,21668
@@ -217,7 +221,7 @@ angr/analyses/decompiler/peephole_optimizations/basepointeroffset_and_mask.py,sh
217
221
  angr/analyses/decompiler/peephole_optimizations/bitwise_or_to_logical_or.py,sha256=09PA82Sg2FlBp2XZd4-WSES-8BQesXPXvIlpuuGByvM,1306
218
222
  angr/analyses/decompiler/peephole_optimizations/bool_expr_xor_1.py,sha256=vLXt0ekjRep4SgaNq1wyxVkBTzOMTa03d3rgkjUOcUg,995
219
223
  angr/analyses/decompiler/peephole_optimizations/bswap.py,sha256=fXV_a58W2X30KCanYeSHdZ2yPcfDlyZq_OkYNMkglrg,6420
220
- angr/analyses/decompiler/peephole_optimizations/cas_intrinsics.py,sha256=2A7NZIzZpDCq3i8e72l7c7KHfEwfJvzi5NffoXU_NNE,4559
224
+ angr/analyses/decompiler/peephole_optimizations/cas_intrinsics.py,sha256=lzlyhe1RP020ezYN77QRFu5p7zNaH4XSMkpBhxRP7ms,7959
221
225
  angr/analyses/decompiler/peephole_optimizations/cmpord_rewriter.py,sha256=sJV-8aP9KUx5Kt7pZmb3M28K3z2bGD3NWJFZOdYaBYc,2662
222
226
  angr/analyses/decompiler/peephole_optimizations/coalesce_adjacent_shrs.py,sha256=fXq-qFe7JUdD5LdtUhoA9AF3LnY-3Jrmo4t3ZRJIIiQ,1414
223
227
  angr/analyses/decompiler/peephole_optimizations/coalesce_same_cascading_ifs.py,sha256=--C1JQluHt8ltdfUPBHvRD3SjW_ZcBU3oWdFwpCtpuw,1072
@@ -230,7 +234,7 @@ angr/analyses/decompiler/peephole_optimizations/inlined_memcpy.py,sha256=5OAgdFM
230
234
  angr/analyses/decompiler/peephole_optimizations/inlined_strcpy.py,sha256=q2IVsIFhfo0TGY3PfeOmCZqdpzUI2B3Tjv_p3_jpwl4,8668
231
235
  angr/analyses/decompiler/peephole_optimizations/inlined_strcpy_consolidation.py,sha256=d-O_rIm0OrwK88P0zYBZcOY0ewTdCp4bnkJZDdWUUVw,4883
232
236
  angr/analyses/decompiler/peephole_optimizations/inlined_wcscpy.py,sha256=_2Fdny7z31G22edctem0ySFpek2HT5tk-T9F8dQ5p1M,10122
233
- angr/analyses/decompiler/peephole_optimizations/inlined_wcscpy_consolidation.py,sha256=R1k3ByTY2tL72O9VLjVkXqIY-1dnTbvstma1pguZxLw,5393
237
+ angr/analyses/decompiler/peephole_optimizations/inlined_wcscpy_consolidation.py,sha256=TfimMI0FwpRBrWVQZy4m9XAf_BBPInu0zfywQ9CoGgs,12712
234
238
  angr/analyses/decompiler/peephole_optimizations/invert_negated_logical_conjuction_disjunction.py,sha256=hRx0tuK_s47AEgPfaWYbzh5lPfBhx_anGDTVoIxHYkg,1990
235
239
  angr/analyses/decompiler/peephole_optimizations/modulo_simplifier.py,sha256=M09Whprj6tOJdFI5n9a7b-82YZOgnm3QvIbISJ9Lvaw,3724
236
240
  angr/analyses/decompiler/peephole_optimizations/one_sub_bool.py,sha256=zljXiUnoH6AwgAoXVRwz9dXEedW7RiUTkHvBMZIA-o8,1140
@@ -246,7 +250,7 @@ angr/analyses/decompiler/peephole_optimizations/remove_redundant_ite_comparisons
246
250
  angr/analyses/decompiler/peephole_optimizations/remove_redundant_nots.py,sha256=V5Vm1zUGjsauyOYXbUgDfZEgmChLbY8wnvmcRbfdMk0,1278
247
251
  angr/analyses/decompiler/peephole_optimizations/remove_redundant_reinterprets.py,sha256=NpjPio84lBFY76hPyvOWChRo1jgFEj9XKmSh_A3A-bg,1430
248
252
  angr/analyses/decompiler/peephole_optimizations/remove_redundant_shifts.py,sha256=0R_ja5u2fO_BMSpfSk68sDMfhwpvBpyCBKahQh-SB4w,3997
249
- angr/analyses/decompiler/peephole_optimizations/remove_redundant_shifts_around_comparators.py,sha256=pMdKsNJtAIPqyWsR8cUEyujdF7e7kbqqvVgelVmKtqY,1610
253
+ angr/analyses/decompiler/peephole_optimizations/remove_redundant_shifts_around_comparators.py,sha256=N0TGL6V9AzhXGbt1SS6UCW3Ney_SgOf_YgV2UTLvLvs,4512
250
254
  angr/analyses/decompiler/peephole_optimizations/rewrite_bit_extractions.py,sha256=tezg1gsxxH-iMmo_346NYO0YHwJz_Gpb8Ztm526o0G4,3300
251
255
  angr/analyses/decompiler/peephole_optimizations/rewrite_conv_mul.py,sha256=nhV4URuLjH_G-te15cJJ3O2-9VJvpOnkRJjdHSBRoko,1481
252
256
  angr/analyses/decompiler/peephole_optimizations/rewrite_cxx_operator_calls.py,sha256=UGOXLJuW2nDGILv4x5RqoowZxJ3dNq1pdCp6DnnRaUk,4137
@@ -260,9 +264,9 @@ angr/analyses/decompiler/peephole_optimizations/single_bit_xor.py,sha256=lxDgPnn
260
264
  angr/analyses/decompiler/peephole_optimizations/tidy_stack_addr.py,sha256=8gPWhFTcezgO7pZ_v0pxR7pweds4_GrrY82ur6Nrlf8,4796
261
265
  angr/analyses/decompiler/peephole_optimizations/utils.py,sha256=KYDiAt0PUA4PcOlBK-OS0aBr16_ZSETMISPAnaUJiLM,724
262
266
  angr/analyses/decompiler/presets/__init__.py,sha256=NWARH5yOyBz4-5qKhzH56PNfPNRViNKMDeESlpplFxo,375
263
- angr/analyses/decompiler/presets/basic.py,sha256=sHT2oalBmINVSZfpEbx4LmK0G1zqbZmLaVCAH-r-VDI,897
264
- angr/analyses/decompiler/presets/fast.py,sha256=0q9DEyWZOzt6MMJe2bb9LjlGrgv5NxgEjAb6Z1fah24,1636
265
- angr/analyses/decompiler/presets/full.py,sha256=j6ccrb3I8RFnxAZXbkdnMwCmG6AwIddP0qGD-7LzXz8,1880
267
+ angr/analyses/decompiler/presets/basic.py,sha256=lb4TyVOHL-NqHsGPDOvw5XeGOfuKyzlQAY8fUMrwMI4,981
268
+ angr/analyses/decompiler/presets/fast.py,sha256=pR1EDVih9we_Gwepoqi2DfPitC_9YCvnDVpXVlkivcU,1720
269
+ angr/analyses/decompiler/presets/full.py,sha256=a2oBOQicpKfwLWLsYLdBfK5YGq1BFJyheHXkbADU0qk,1964
266
270
  angr/analyses/decompiler/presets/preset.py,sha256=LvX7ydyO0ZzQsC0M2fy1wXA_0ygSqeP9P52VJAK0Eeo,1264
267
271
  angr/analyses/decompiler/region_simplifiers/__init__.py,sha256=BSD9osrReTEdapOMmyI1kFiN7AmE1EeJGLBV7i0u-Uc,117
268
272
  angr/analyses/decompiler/region_simplifiers/cascading_cond_transformer.py,sha256=xVY1NUqFudjdcFFO5RAfbdIlHyCRPLYDVPM8Z4J6uic,3832
@@ -308,7 +312,7 @@ angr/analyses/fcp/__init__.py,sha256=E9dxFckDM9DijfU4RRg9SGL6xDKCz7yBBP-XSkS-S9U
308
312
  angr/analyses/fcp/fcp.py,sha256=djkJsvSja_De7ptNwllmTHjvVl62BFcH_haBhwhzFtw,16373
309
313
  angr/analyses/flirt/__init__.py,sha256=1jKkwUDhwwnxG5BRcYtwogLHLBvtZApXgvcAcHrJrdw,1293
310
314
  angr/analyses/flirt/consts.py,sha256=9ldvicgtJZa8Hw8cWOKxGkCYtc09I2q5ZWxctXcg20w,4861
311
- angr/analyses/flirt/flirt.py,sha256=UNXtUBs11WafKeMAW2BwqKJLFhOyObqmRhfCqYdsJpc,10762
315
+ angr/analyses/flirt/flirt.py,sha256=fZ0BvmJnx6ve1j76lMvKFHM2y3g17wg00fU8hWvSl14,10829
312
316
  angr/analyses/flirt/flirt_function.py,sha256=IHskIu5XTTCLKfmow23ig4HIqzs7oGbw7iktIfv40O8,420
313
317
  angr/analyses/flirt/flirt_matcher.py,sha256=nzhvPTIlVwHrn07qLLSRvgfpyOnlNRsziDCls_xh0Gg,6353
314
318
  angr/analyses/flirt/flirt_module.py,sha256=pUP6vbujzceJMXFxvLAPgek5Y2qPv3KTlKY8ZWHeIQU,920
@@ -396,7 +400,7 @@ angr/analyses/unpacker/obfuscation_detector.py,sha256=VWMHOO2UbyiGzRYzAq9yrU3WwZ
396
400
  angr/analyses/unpacker/packing_detector.py,sha256=SO6aXR1gZkQ7w17AAv3C1-U2KAc0yL9OIQqjNOtVnuo,5331
397
401
  angr/analyses/variable_recovery/__init__.py,sha256=eA1SHzfSx8aPufUdkvgMmBnbI6VDYKKMJklcOoCO7Ao,208
398
402
  angr/analyses/variable_recovery/annotations.py,sha256=2va7cXnRHYqVqXeVt00QanxfAo3zanL4BkAcC0-Bk20,1438
399
- angr/analyses/variable_recovery/engine_ail.py,sha256=UWM9TmiGfhA8VrjNRV3jLZbT47yYmlKDnGVkzR1YnjM,33761
403
+ angr/analyses/variable_recovery/engine_ail.py,sha256=N9sEHMUT9qVMJCm1h4da3vLnSLPDp3oY9fE3WN60ioc,35652
400
404
  angr/analyses/variable_recovery/engine_base.py,sha256=S3-CynLxRXlZ-hDXDZnru_wzApjR8a7hBiJOHquzBjk,53389
401
405
  angr/analyses/variable_recovery/engine_vex.py,sha256=Sjh3bZZfnEaich7PLTitaZITSMW7agqgyxck4gWKDbQ,21465
402
406
  angr/analyses/variable_recovery/irsb_scanner.py,sha256=1dL2IC7fZGuRrhmcpa2Q-G666aMPmbM8zSzmIRpLNSY,5141
@@ -440,8 +444,8 @@ angr/engines/__init__.py,sha256=_3oRkiTrPO7QPiCg3qXymt4o9ZAOrAHt5pdfjkp3W9k,1661
440
444
  angr/engines/concrete.py,sha256=kEt6Dyp8QAIaOP3oW5lRcDs_2UMP2vbiNzylGiqvf7g,2143
441
445
  angr/engines/engine.py,sha256=2kwOT-sbxKXAVX2PmsPTr8Ax36Vxq6hkRdDKaITBQNc,657
442
446
  angr/engines/failure.py,sha256=redqmkSuJoIc828hpmX3CTk4EqQ-PeEn7MK2uIqSAc0,1040
443
- angr/engines/hook.py,sha256=lAEYYAXQY_GDOpsz3JZ7IswxrBccZnZ6EaQwyNBb4W8,2590
444
- angr/engines/icicle.py,sha256=V08Rco5MBtNvXyVvUUt9ZdWOw16d6pgWEwEr4yC444Q,10421
447
+ angr/engines/hook.py,sha256=YMCUWs-cC3fQCN9xlYAy7vaMPKWDNJkl9KtCMYUyMP0,2569
448
+ angr/engines/icicle.py,sha256=JSbHnTJePV1l6dmF5WPhlzYjm6ZApQfjCUrgJ4jewOg,11033
445
449
  angr/engines/procedure.py,sha256=8kgFH56nkqSWm0p1apuGBaFngl-4BnAzE0bXhq9mc6Y,2561
446
450
  angr/engines/successors.py,sha256=oQCW7Knxb4zz7EP6Mi6RrRNrwuhbv5fnX8UL76nn0sY,29501
447
451
  angr/engines/syscall.py,sha256=7wYTriURsDTTi3PEBj4u3ZWDi7RHBV-gRrxTRxwMAVk,2166
@@ -553,7 +557,7 @@ angr/knowledge_plugins/custom_strings.py,sha256=5qYAvmcm9BkTA247hZngDaHHrO9iIipY
553
557
  angr/knowledge_plugins/data.py,sha256=u2Is51L6Opp4eeWkpO_ss8WfXgceK5AUa_BlnPcZXmk,874
554
558
  angr/knowledge_plugins/debug_variables.py,sha256=pxiY6l0OPX3y2ZEcCGu-vJCGfw60tiPvkjdDFE9Z4uM,8075
555
559
  angr/knowledge_plugins/indirect_jumps.py,sha256=VlIDWeU3xZyTAp1qSYyZxtusz2idxa1vrlLQmGWlkHA,1034
556
- angr/knowledge_plugins/labels.py,sha256=Q7BTpBWRfJl3vxtd0vci91EA3KXiIwLNPyO5UQh6QEA,3156
560
+ angr/knowledge_plugins/labels.py,sha256=HvDQjL3jayVmKNdOHTteNSIgd4aOrAp1qGaBIDqzdPQ,3218
557
561
  angr/knowledge_plugins/obfuscations.py,sha256=n7qPreGLXJf2pADtbonv8JToKL_9IQCYfqGmSyV_3Y4,1465
558
562
  angr/knowledge_plugins/patches.py,sha256=tPjKI2GloTaWcA96u0yp75956HUkqOfsvusitEeWmGE,4335
559
563
  angr/knowledge_plugins/plugin.py,sha256=8tPrsgo1hsZG3ifXs4mWsKkeyB03ubfZdY5YArWw9-Q,766
@@ -566,7 +570,7 @@ angr/knowledge_plugins/cfg/cfg_node.py,sha256=mAvQ8XAEURM7y0suc_S9lfxCmfXSTJHmWB
566
570
  angr/knowledge_plugins/cfg/indirect_jump.py,sha256=XQjyH8ZhSlRFWLc--QY9Voq0RB7nI2wzeP5COANwoOc,3741
567
571
  angr/knowledge_plugins/cfg/memory_data.py,sha256=QLxFZfrtwz8u6UJn1L-Sxa-C8S0Gy9IOlfNfHCLPIow,5056
568
572
  angr/knowledge_plugins/functions/__init__.py,sha256=asiLNiT6sHbjP6eU-kDpawIoVxv4J35cwz5yQHtQ2E0,167
569
- angr/knowledge_plugins/functions/function.py,sha256=wyOVBKNGbiiBcWLuzgYMwgcJIG9tFkThCNMEJX1O2EE,72292
573
+ angr/knowledge_plugins/functions/function.py,sha256=orSBM5R073Tf-PDWw8NcvKl_iUgCnnk1SyFFMPZP6VE,72303
570
574
  angr/knowledge_plugins/functions/function_manager.py,sha256=StsK3biTFRRA2ugrmeQLuHiN894p789Tlw1CIKlE0PY,23462
571
575
  angr/knowledge_plugins/functions/function_parser.py,sha256=DTdVwYt6nXLMc0EOh-V_GhvZYQ947UNBaA77qn7Y6Vo,12379
572
576
  angr/knowledge_plugins/functions/soot_function.py,sha256=OzCvQPWxnjbwPWTW0JXrQey4zyaayHD_v6ZA7nJ4YJw,4850
@@ -618,7 +622,7 @@ angr/procedures/cgc/fdwait.py,sha256=wknRSRoa1UeLb_59hPhYqYkU6x88p6rf29rhtKBVQiI
618
622
  angr/procedures/cgc/random.py,sha256=YSE5qX80KYg0c5bC7XSCg5R4Tm33hU-vprxSXrPHcYk,2490
619
623
  angr/procedures/cgc/receive.py,sha256=CYxXBnw9CpLfIVn086UuaEvpT4MGEg8otDHtsgf5etY,3668
620
624
  angr/procedures/cgc/transmit.py,sha256=SwVCOo_H-_8sZ3qRQ5QT942eNwc2oPoZJr4VyA7Ny2A,2389
621
- angr/procedures/definitions/__init__.py,sha256=_0icfYOL57Jz4yUNZ0hVemX-CaUfKe93f_rWG-_8oso,43342
625
+ angr/procedures/definitions/__init__.py,sha256=wYoWkHRSh6wjWE-9wPgNJbTfyeHaqkN2zDWOtHJMdF8,43644
622
626
  angr/procedures/definitions/cgc.py,sha256=Jrb74dNzy05h_nmsC3GjN5Yr5_jWIjpZ24ZsVkH5jio,508
623
627
  angr/procedures/definitions/gnulib.py,sha256=GK4eVXFxwgwhJ9cr47PiTUS4fKYrqPfMtIvwM464Oyo,1107
624
628
  angr/procedures/definitions/libstdcpp.py,sha256=IoPJJEFQZR6ysOYvU1EmVK_IyQPuoq73ehImJuGS3JM,750
@@ -627,7 +631,7 @@ angr/procedures/definitions/linux_loader.py,sha256=uEeMktLesh0NzHmRfgP76IuSzL4YM
627
631
  angr/procedures/definitions/msvcr.py,sha256=CQgWXrKcEjx9xfPf2BZOOPaQJ5AUqwdNtN_5FdYtRzg,651
628
632
  angr/procedures/definitions/parse_glibc.py,sha256=-vmm4hKO2GnBVXmk6Nq4fxGHuLxesRbF52UIrPk4a6Q,2092
629
633
  angr/procedures/definitions/parse_syscalls_from_local_system.py,sha256=ssyMjeyuPVYHnbmArwDPO0XXMW1n5Odv__n17cdLVcY,1823
630
- angr/procedures/definitions/parse_win32json.py,sha256=z4Rjr3L9HTSWsKtKImUynpcvMUJCinG4fIii-o7dPXw,109101
634
+ angr/procedures/definitions/parse_win32json.py,sha256=LzvSZC5u6Jkbe-tx9L7swZmJ0DOm26BjTmJWZGiMhBw,109413
631
635
  angr/procedures/definitions/types_stl.py,sha256=4fsMlaDLQ7IZfL0jQX4ZvTkqBg5tsoeZAfSwupZm1gI,816
632
636
  angr/procedures/definitions/common/glibc.json,sha256=XvQ4JWwJIDepZSvK2AfSX5H4uaB_MJWsULf9Ml1LKwk,955895
633
637
  angr/procedures/definitions/wdk/api-ms-win-dx-d3dkmt-l1-1-4.json,sha256=nkET0iaXAHF_qSgyF4N6G1M0i7QtPEPCo2u28so9taM,1016
@@ -640,7 +644,7 @@ angr/procedures/definitions/wdk/gdi32.json,sha256=YByprF-byACUskCT17vLClW6P0b3Bf
640
644
  angr/procedures/definitions/wdk/hal.json,sha256=RxvRTa5sumqXXPJai2YrdssJD5fbWeTQi0ap0QQRBxw,12103
641
645
  angr/procedures/definitions/wdk/ksecdd.json,sha256=xYYdocSCK8LBeQYFlhZ7ZKiTK-ju26KDWRIQiw7rBKQ,13262
642
646
  angr/procedures/definitions/wdk/ndis.json,sha256=CBLTeOby2j_SOP_uPLTPkAcN9ryAiJPg8_bZJw63udw,37456
643
- angr/procedures/definitions/wdk/ntoskrnl.json,sha256=YpUmEfHaIMctYyqWoNauhnnnK-fe-NpA6Hb7FQLm3Ic,680493
647
+ angr/procedures/definitions/wdk/ntoskrnl.json,sha256=Y7NWnwB-Yg4_ecbz9yZwmwH2UofZcNB1D8T-3keJpEg,680550
644
648
  angr/procedures/definitions/wdk/offreg.json,sha256=FZ6U7XD1KZPzxgtgJylRbO0sw5bcHJntWKpkchPapiU,9593
645
649
  angr/procedures/definitions/wdk/pshed.json,sha256=ZcmmUV1H-2c-mI6W6dY6nMLnmDCC5EbIs0QinyvRsAs,1722
646
650
  angr/procedures/definitions/wdk/secur32.json,sha256=M9aMvWxz7zzLtZU4X7Ue5tNJOuNtHvHWHz81e7DvTNs,3432
@@ -1379,7 +1383,7 @@ angr/utils/endness.py,sha256=PDpDNbiIbaSx1DGH1z16nU2B5GMrTqONGivGeVNiGyU,506
1379
1383
  angr/utils/enums_conv.py,sha256=fA6qeoRZ6Cj6gCIS_PZbP4PX7E8IybnYQ90OZGnBVrc,2746
1380
1384
  angr/utils/env.py,sha256=aO4N2h7DUsUQtTgnC5J_oPHvMxJRur20m5UFSkmy4XU,398
1381
1385
  angr/utils/formatting.py,sha256=OWzSfAlKcL09cEtcqxszYWHsRO9tih7hvXD2K9kUZc8,4343
1382
- angr/utils/funcid.py,sha256=Rd4r8juv2IpeMtCpPp4wxJoEZTnZZ1NsxdT42tvrKVA,6353
1386
+ angr/utils/funcid.py,sha256=PA115tjmdUpfrGQvva4Ad3Q5SoToRiGjJzNRhX2Ca6Y,9567
1383
1387
  angr/utils/graph.py,sha256=-8cipOvaBeD4owh2cksAwBgcIx2jOeKZa-zcFk73WeM,34787
1384
1388
  angr/utils/lazy_import.py,sha256=7Mx-y-aZFsXX9jNxvEcXT-rO8tL8rknb6D6RbSFOI1M,343
1385
1389
  angr/utils/library.py,sha256=N8-7DTJhbBFe9f-Yvx0--dHs43nAEDcTXhqm4aUBOj0,7386
@@ -1391,12 +1395,12 @@ angr/utils/tagged_interval_map.py,sha256=rXKBuT14N23AAntpOKhZhmA-qqymnsvjpheFXoT
1391
1395
  angr/utils/timing.py,sha256=n-YZ86g0ZWmLhsoNvcimRpKzewR5hmquLZe6fagxlBw,2224
1392
1396
  angr/utils/types.py,sha256=688trvR0_j93sfeRgFT1npcmjNGSx99m_IPe9Xyy9WY,4967
1393
1397
  angr/utils/vex.py,sha256=epcrCexi_NjKnPGM2gfpiRsUea_Scd-71UMuF32ZAQo,306
1394
- angr/utils/ssa/__init__.py,sha256=xbuVllFoPane9lHACdRQP5OO99Mca-4sqpFrtoAvnxo,17464
1398
+ angr/utils/ssa/__init__.py,sha256=rKlgdaTSouwofsLNMa8MKfWb_tqntfp_B5nm-FOeh2Y,17390
1395
1399
  angr/utils/ssa/tmp_uses_collector.py,sha256=digAUQpYoFR1VYfwoXlF3T1pYdDi6Pdq_ck54SjMabQ,813
1396
1400
  angr/utils/ssa/vvar_uses_collector.py,sha256=HewqUQluNE9EsaiLeFo7LaBvws_DDBDYNt9RBExy464,1367
1397
- angr-9.2.176.dist-info/licenses/LICENSE,sha256=PmWf0IlSz6Jjp9n7nyyBQA79Q5C2ma68LRykY1V3GF0,1456
1398
- angr-9.2.176.dist-info/METADATA,sha256=OPAuW-LYjA2dr8VnsUgQ4MSlB7o60N1dTAmcq8WGF6k,4477
1399
- angr-9.2.176.dist-info/WHEEL,sha256=OJ2zpOfp3Fst0GC5jHtFuY8tAf46LLgZ9O920dE4b3c,100
1400
- angr-9.2.176.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
1401
- angr-9.2.176.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
1402
- angr-9.2.176.dist-info/RECORD,,
1401
+ angr-9.2.178.dist-info/licenses/LICENSE,sha256=PmWf0IlSz6Jjp9n7nyyBQA79Q5C2ma68LRykY1V3GF0,1456
1402
+ angr-9.2.178.dist-info/METADATA,sha256=5S5i0ouGRfaEj1PUUCnHHUGpkh7-JaTm28FhF1h_5NY,4524
1403
+ angr-9.2.178.dist-info/WHEEL,sha256=OJ2zpOfp3Fst0GC5jHtFuY8tAf46LLgZ9O920dE4b3c,100
1404
+ angr-9.2.178.dist-info/entry_points.txt,sha256=Vjh1C8PMyr5dZFMnik5WkEP01Uwr2T73I3a6N32sgQU,44
1405
+ angr-9.2.178.dist-info/top_level.txt,sha256=dKw0KWTbwLXytFvv15oAAG4sUs3ey47tt6DorJG9-hw,5
1406
+ angr-9.2.178.dist-info/RECORD,,
File without changes