angr 9.2.118__py3-none-win_amd64.whl → 9.2.120__py3-none-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 (839) hide show
  1. angr/__init__.py +217 -2
  2. angr/__main__.py +14 -4
  3. angr/analyses/__init__.py +54 -0
  4. angr/analyses/analysis.py +47 -5
  5. angr/analyses/backward_slice.py +4 -4
  6. angr/analyses/bindiff.py +2 -2
  7. angr/analyses/callee_cleanup_finder.py +1 -1
  8. angr/analyses/calling_convention.py +21 -15
  9. angr/analyses/cdg.py +1 -1
  10. angr/analyses/cfg/__init__.py +12 -1
  11. angr/analyses/cfg/cfb.py +2 -2
  12. angr/analyses/cfg/cfg.py +1 -1
  13. angr/analyses/cfg/cfg_base.py +28 -11
  14. angr/analyses/cfg/cfg_emulated.py +18 -18
  15. angr/analyses/cfg/cfg_fast.py +136 -24
  16. angr/analyses/cfg/cfg_fast_soot.py +5 -5
  17. angr/analyses/cfg/cfg_job_base.py +3 -3
  18. angr/analyses/cfg/indirect_jump_resolvers/__init__.py +13 -0
  19. angr/analyses/cfg/indirect_jump_resolvers/amd64_pe_iat.py +1 -1
  20. angr/analyses/cfg/indirect_jump_resolvers/arm_elf_fast.py +2 -2
  21. angr/analyses/cfg/indirect_jump_resolvers/const_resolver.py +4 -4
  22. angr/analyses/cfg/indirect_jump_resolvers/jumptable.py +21 -18
  23. angr/analyses/cfg/indirect_jump_resolvers/mips_elf_fast.py +5 -5
  24. angr/analyses/cfg/indirect_jump_resolvers/resolver.py +2 -2
  25. angr/analyses/cfg/indirect_jump_resolvers/x86_pe_iat.py +1 -1
  26. angr/analyses/cfg_slice_to_sink/__init__.py +8 -0
  27. angr/analyses/class_identifier.py +2 -2
  28. angr/analyses/code_tagging.py +2 -2
  29. angr/analyses/complete_calling_conventions.py +3 -3
  30. angr/analyses/congruency_check.py +1 -2
  31. angr/analyses/data_dep/__init__.py +13 -0
  32. angr/analyses/data_dep/data_dependency_analysis.py +5 -5
  33. angr/analyses/datagraph_meta.py +1 -1
  34. angr/analyses/ddg.py +3 -3
  35. angr/analyses/decompiler/__init__.py +25 -0
  36. angr/analyses/decompiler/ail_simplifier.py +9 -9
  37. angr/analyses/decompiler/block_simplifier.py +3 -3
  38. angr/analyses/decompiler/callsite_maker.py +5 -3
  39. angr/analyses/decompiler/clinic.py +46 -36
  40. angr/analyses/decompiler/condition_processor.py +48 -21
  41. angr/analyses/decompiler/counters/__init__.py +11 -0
  42. angr/analyses/decompiler/decompiler.py +27 -10
  43. angr/analyses/decompiler/dephication/seqnode_dephication.py +19 -1
  44. angr/analyses/decompiler/jumptable_entry_condition_rewriter.py +1 -1
  45. angr/analyses/decompiler/optimization_passes/__init__.py +66 -54
  46. angr/analyses/decompiler/optimization_passes/const_derefs.py +1 -1
  47. angr/analyses/decompiler/optimization_passes/const_prop_reverter.py +3 -3
  48. angr/analyses/decompiler/optimization_passes/cross_jump_reverter.py +1 -1
  49. angr/analyses/decompiler/optimization_passes/duplication_reverter/__init__.py +3 -0
  50. angr/analyses/decompiler/optimization_passes/duplication_reverter/ail_merge_graph.py +7 -4
  51. angr/analyses/decompiler/optimization_passes/duplication_reverter/duplication_reverter.py +13 -9
  52. angr/analyses/decompiler/optimization_passes/duplication_reverter/similarity.py +1 -1
  53. angr/analyses/decompiler/optimization_passes/duplication_reverter/utils.py +1 -1
  54. angr/analyses/decompiler/optimization_passes/engine_base.py +2 -2
  55. angr/analyses/decompiler/optimization_passes/expr_op_swapper.py +2 -2
  56. angr/analyses/decompiler/optimization_passes/flip_boolean_cmp.py +4 -4
  57. angr/analyses/decompiler/optimization_passes/inlined_string_transformation_simplifier.py +19 -19
  58. angr/analyses/decompiler/optimization_passes/ite_expr_converter.py +6 -6
  59. angr/analyses/decompiler/optimization_passes/ite_region_converter.py +2 -2
  60. angr/analyses/decompiler/optimization_passes/lowered_switch_simplifier.py +7 -3
  61. angr/analyses/decompiler/optimization_passes/optimization_pass.py +34 -28
  62. angr/analyses/decompiler/optimization_passes/register_save_area_simplifier.py +2 -2
  63. angr/analyses/decompiler/optimization_passes/ret_addr_save_simplifier.py +1 -1
  64. angr/analyses/decompiler/optimization_passes/ret_deduplicator.py +3 -3
  65. angr/analyses/decompiler/optimization_passes/return_duplicator_base.py +5 -5
  66. angr/analyses/decompiler/optimization_passes/return_duplicator_high.py +1 -1
  67. angr/analyses/decompiler/peephole_optimizations/__init__.py +61 -19
  68. angr/analyses/decompiler/peephole_optimizations/simplify_pc_relative_loads.py +1 -1
  69. angr/analyses/decompiler/presets/__init__.py +20 -0
  70. angr/analyses/decompiler/presets/basic.py +30 -0
  71. angr/analyses/decompiler/presets/fast.py +54 -0
  72. angr/analyses/decompiler/presets/full.py +64 -0
  73. angr/analyses/decompiler/presets/preset.py +37 -0
  74. angr/analyses/decompiler/region_identifier.py +21 -7
  75. angr/analyses/decompiler/region_simplifiers/__init__.py +3 -0
  76. angr/analyses/decompiler/region_simplifiers/cascading_cond_transformer.py +3 -3
  77. angr/analyses/decompiler/region_simplifiers/cascading_ifs.py +3 -3
  78. angr/analyses/decompiler/region_simplifiers/expr_folding.py +2 -2
  79. angr/analyses/decompiler/region_simplifiers/goto.py +3 -3
  80. angr/analyses/decompiler/region_simplifiers/if_.py +2 -2
  81. angr/analyses/decompiler/region_simplifiers/ifelse.py +4 -4
  82. angr/analyses/decompiler/region_simplifiers/loop.py +4 -4
  83. angr/analyses/decompiler/region_simplifiers/node_address_finder.py +1 -1
  84. angr/analyses/decompiler/region_simplifiers/region_simplifier.py +6 -6
  85. angr/analyses/decompiler/region_simplifiers/switch_cluster_simplifier.py +12 -5
  86. angr/analyses/decompiler/region_simplifiers/switch_expr_simplifier.py +3 -3
  87. angr/analyses/decompiler/sequence_walker.py +11 -12
  88. angr/analyses/decompiler/structured_codegen/__init__.py +14 -0
  89. angr/analyses/decompiler/structured_codegen/base.py +1 -1
  90. angr/analyses/decompiler/structured_codegen/c.py +22 -15
  91. angr/analyses/decompiler/structured_codegen/dwarf_import.py +2 -2
  92. angr/analyses/decompiler/structuring/__init__.py +11 -1
  93. angr/analyses/decompiler/structuring/dream.py +16 -15
  94. angr/analyses/decompiler/structuring/phoenix.py +9 -9
  95. angr/analyses/decompiler/structuring/recursive_structurer.py +7 -7
  96. angr/analyses/decompiler/structuring/sailr.py +2 -2
  97. angr/analyses/decompiler/structuring/structurer_base.py +9 -4
  98. angr/analyses/decompiler/structuring/structurer_nodes.py +18 -9
  99. angr/analyses/decompiler/utils.py +4 -2
  100. angr/analyses/disassembly.py +6 -6
  101. angr/analyses/disassembly_utils.py +1 -1
  102. angr/analyses/dominance_frontier.py +1 -1
  103. angr/analyses/find_objects_static.py +5 -5
  104. angr/analyses/flirt.py +3 -3
  105. angr/analyses/forward_analysis/__init__.py +9 -0
  106. angr/analyses/forward_analysis/forward_analysis.py +4 -4
  107. angr/analyses/forward_analysis/job_info.py +1 -1
  108. angr/analyses/forward_analysis/visitors/__init__.py +9 -0
  109. angr/analyses/forward_analysis/visitors/graph.py +2 -2
  110. angr/analyses/identifier/__init__.py +3 -0
  111. angr/analyses/identifier/custom_callable.py +2 -3
  112. angr/analyses/identifier/errors.py +1 -1
  113. angr/analyses/identifier/functions/__init__.py +4 -4
  114. angr/analyses/identifier/functions/atoi.py +1 -1
  115. angr/analyses/identifier/functions/based_atoi.py +1 -1
  116. angr/analyses/identifier/functions/fdprintf.py +1 -1
  117. angr/analyses/identifier/functions/free.py +2 -2
  118. angr/analyses/identifier/functions/int2str.py +1 -1
  119. angr/analyses/identifier/functions/malloc.py +2 -2
  120. angr/analyses/identifier/functions/memcmp.py +1 -1
  121. angr/analyses/identifier/functions/memcpy.py +3 -3
  122. angr/analyses/identifier/functions/memset.py +1 -1
  123. angr/analyses/identifier/functions/printf.py +1 -1
  124. angr/analyses/identifier/functions/recv_until.py +2 -2
  125. angr/analyses/identifier/functions/skip_calloc.py +2 -2
  126. angr/analyses/identifier/functions/skip_realloc.py +2 -2
  127. angr/analyses/identifier/functions/skip_recv_n.py +1 -1
  128. angr/analyses/identifier/functions/snprintf.py +1 -1
  129. angr/analyses/identifier/functions/sprintf.py +1 -1
  130. angr/analyses/identifier/functions/strcmp.py +1 -1
  131. angr/analyses/identifier/functions/strcpy.py +1 -1
  132. angr/analyses/identifier/functions/strlen.py +1 -1
  133. angr/analyses/identifier/functions/strncmp.py +1 -1
  134. angr/analyses/identifier/functions/strncpy.py +1 -1
  135. angr/analyses/identifier/functions/strtol.py +1 -1
  136. angr/analyses/identifier/identify.py +3 -3
  137. angr/analyses/identifier/runner.py +6 -6
  138. angr/analyses/init_finder.py +1 -1
  139. angr/analyses/loop_analysis.py +2 -2
  140. angr/analyses/propagator/__init__.py +3 -0
  141. angr/analyses/propagator/engine_ail.py +6 -5
  142. angr/analyses/propagator/engine_base.py +2 -2
  143. angr/analyses/propagator/engine_vex.py +2 -2
  144. angr/analyses/propagator/outdated_definition_walker.py +3 -3
  145. angr/analyses/propagator/propagator.py +3 -3
  146. angr/analyses/propagator/top_checker_mixin.py +1 -1
  147. angr/analyses/proximity_graph.py +3 -3
  148. angr/analyses/reaching_definitions/__init__.py +6 -6
  149. angr/analyses/reaching_definitions/dep_graph.py +5 -5
  150. angr/analyses/reaching_definitions/engine_ail.py +8 -8
  151. angr/analyses/reaching_definitions/engine_vex.py +18 -13
  152. angr/analyses/reaching_definitions/function_handler.py +6 -2
  153. angr/analyses/reaching_definitions/heap_allocator.py +3 -3
  154. angr/analyses/reaching_definitions/rd_state.py +4 -10
  155. angr/analyses/reaching_definitions/reaching_definitions.py +11 -11
  156. angr/analyses/reaching_definitions/subject.py +3 -3
  157. angr/analyses/reassembler.py +5 -5
  158. angr/analyses/{s_propagator/s_propagator.py → s_propagator.py} +1 -1
  159. angr/analyses/s_reaching_definitions/__init__.py +11 -1
  160. angr/analyses/s_reaching_definitions/s_rda_model.py +117 -0
  161. angr/analyses/s_reaching_definitions/s_rda_view.py +213 -0
  162. angr/analyses/s_reaching_definitions/s_reaching_definitions.py +159 -0
  163. angr/analyses/stack_pointer_tracker.py +34 -16
  164. angr/analyses/static_hooker.py +2 -2
  165. angr/analyses/typehoon/__init__.py +3 -0
  166. angr/analyses/typehoon/lifter.py +1 -1
  167. angr/analyses/typehoon/translator.py +21 -4
  168. angr/analyses/typehoon/typeconsts.py +8 -0
  169. angr/analyses/typehoon/typehoon.py +3 -3
  170. angr/analyses/variable_recovery/__init__.py +6 -0
  171. angr/analyses/variable_recovery/engine_ail.py +5 -5
  172. angr/analyses/variable_recovery/engine_base.py +7 -7
  173. angr/analyses/variable_recovery/engine_vex.py +14 -17
  174. angr/analyses/variable_recovery/variable_recovery.py +5 -5
  175. angr/analyses/variable_recovery/variable_recovery_base.py +7 -7
  176. angr/analyses/variable_recovery/variable_recovery_fast.py +7 -7
  177. angr/analyses/veritesting.py +8 -8
  178. angr/analyses/vfg.py +13 -13
  179. angr/analyses/vsa_ddg.py +3 -3
  180. angr/analyses/vtable.py +1 -1
  181. angr/analyses/xrefs.py +3 -3
  182. angr/angrdb/__init__.py +3 -0
  183. angr/angrdb/db.py +2 -2
  184. angr/angrdb/serializers/__init__.py +7 -0
  185. angr/angrdb/serializers/cfg_model.py +2 -2
  186. angr/angrdb/serializers/comments.py +2 -2
  187. angr/angrdb/serializers/funcs.py +2 -2
  188. angr/angrdb/serializers/kb.py +2 -2
  189. angr/angrdb/serializers/labels.py +2 -2
  190. angr/angrdb/serializers/loader.py +2 -2
  191. angr/angrdb/serializers/structured_code.py +4 -4
  192. angr/angrdb/serializers/variables.py +3 -3
  193. angr/angrdb/serializers/xrefs.py +2 -2
  194. angr/calling_conventions.py +69 -24
  195. angr/concretization_strategies/__init__.py +17 -0
  196. angr/concretization_strategies/max.py +1 -1
  197. angr/concretization_strategies/norepeats.py +3 -3
  198. angr/concretization_strategies/norepeats_range.py +1 -1
  199. angr/distributed/__init__.py +6 -1
  200. angr/distributed/server.py +0 -1
  201. angr/distributed/worker.py +6 -4
  202. angr/engines/__init__.py +25 -0
  203. angr/engines/concrete.py +2 -3
  204. angr/engines/engine.py +3 -3
  205. angr/engines/failure.py +2 -2
  206. angr/engines/light/__init__.py +12 -0
  207. angr/engines/light/data.py +1 -1
  208. angr/engines/light/engine.py +12 -17
  209. angr/engines/pcode/__init__.py +7 -1
  210. angr/engines/pcode/behavior.py +1 -1
  211. angr/engines/pcode/cc.py +1 -1
  212. angr/engines/pcode/emulate.py +4 -4
  213. angr/engines/pcode/engine.py +5 -5
  214. angr/engines/pcode/lifter.py +7 -7
  215. angr/engines/procedure.py +3 -3
  216. angr/engines/soot/__init__.py +3 -0
  217. angr/engines/soot/engine.py +13 -13
  218. angr/engines/soot/expressions/__init__.py +33 -0
  219. angr/engines/soot/expressions/arrayref.py +1 -1
  220. angr/engines/soot/expressions/base.py +1 -1
  221. angr/engines/soot/expressions/cast.py +1 -1
  222. angr/engines/soot/expressions/condition.py +2 -2
  223. angr/engines/soot/expressions/constants.py +1 -1
  224. angr/engines/soot/expressions/invoke.py +2 -2
  225. angr/engines/soot/expressions/new.py +1 -1
  226. angr/engines/soot/expressions/newArray.py +1 -1
  227. angr/engines/soot/expressions/newMultiArray.py +1 -1
  228. angr/engines/soot/statements/__init__.py +16 -0
  229. angr/engines/soot/statements/assign.py +1 -1
  230. angr/engines/soot/statements/base.py +3 -3
  231. angr/engines/soot/statements/goto.py +1 -1
  232. angr/engines/soot/statements/if_.py +1 -1
  233. angr/engines/soot/statements/throw.py +1 -1
  234. angr/engines/soot/values/__init__.py +14 -0
  235. angr/engines/soot/values/arrayref.py +1 -1
  236. angr/engines/soot/values/instancefieldref.py +1 -1
  237. angr/engines/soot/values/staticfieldref.py +1 -1
  238. angr/engines/soot/values/thisref.py +2 -2
  239. angr/engines/successors.py +8 -8
  240. angr/engines/syscall.py +1 -1
  241. angr/engines/unicorn.py +13 -13
  242. angr/engines/vex/__init__.py +18 -3
  243. angr/engines/vex/claripy/__init__.py +3 -0
  244. angr/engines/vex/claripy/ccall.py +1 -2
  245. angr/engines/vex/claripy/datalayer.py +3 -3
  246. angr/engines/vex/heavy/__init__.py +11 -1
  247. angr/engines/vex/heavy/heavy.py +8 -8
  248. angr/engines/vex/heavy/inspect.py +2 -2
  249. angr/engines/vex/heavy/resilience.py +2 -2
  250. angr/engines/vex/heavy/super_fastpath.py +3 -3
  251. angr/engines/vex/lifter.py +5 -5
  252. angr/engines/vex/light/__init__.py +7 -0
  253. angr/engines/vex/light/light.py +2 -2
  254. angr/engines/vex/light/slicing.py +1 -1
  255. angr/errors.py +4 -4
  256. angr/exploration_techniques/__init__.py +0 -1
  257. angr/exploration_techniques/bucketizer.py +9 -10
  258. angr/exploration_techniques/common.py +2 -2
  259. angr/exploration_techniques/director.py +4 -4
  260. angr/exploration_techniques/driller_core.py +2 -3
  261. angr/exploration_techniques/explorer.py +3 -3
  262. angr/exploration_techniques/loop_seer.py +3 -3
  263. angr/exploration_techniques/oppologist.py +3 -3
  264. angr/exploration_techniques/slicecutor.py +1 -1
  265. angr/exploration_techniques/spiller.py +1 -1
  266. angr/exploration_techniques/suggestions.py +6 -6
  267. angr/exploration_techniques/symbion.py +0 -1
  268. angr/exploration_techniques/threading.py +2 -2
  269. angr/exploration_techniques/tracer.py +3 -3
  270. angr/exploration_techniques/veritesting.py +1 -1
  271. angr/flirt/__init__.py +0 -1
  272. angr/{knowledge_base/knowledge_base.py → knowledge_base.py} +13 -15
  273. angr/knowledge_plugins/__init__.py +23 -1
  274. angr/knowledge_plugins/callsite_prototypes.py +2 -2
  275. angr/knowledge_plugins/cfg/cfg_manager.py +1 -1
  276. angr/knowledge_plugins/cfg/cfg_model.py +8 -7
  277. angr/knowledge_plugins/cfg/indirect_jump.py +1 -1
  278. angr/knowledge_plugins/cfg/memory_data.py +3 -2
  279. angr/knowledge_plugins/debug_variables.py +2 -2
  280. angr/knowledge_plugins/functions/__init__.py +6 -0
  281. angr/knowledge_plugins/functions/function.py +21 -16
  282. angr/knowledge_plugins/functions/function_manager.py +2 -2
  283. angr/knowledge_plugins/functions/function_parser.py +3 -3
  284. angr/knowledge_plugins/functions/soot_function.py +2 -2
  285. angr/knowledge_plugins/key_definitions/atoms.py +2 -2
  286. angr/knowledge_plugins/key_definitions/definition.py +3 -3
  287. angr/knowledge_plugins/key_definitions/key_definition_manager.py +2 -2
  288. angr/knowledge_plugins/key_definitions/uses.py +2 -2
  289. angr/knowledge_plugins/propagations/__init__.py +7 -0
  290. angr/knowledge_plugins/propagations/prop_value.py +1 -1
  291. angr/knowledge_plugins/{structured_code/manager.py → structured_code.py} +6 -3
  292. angr/knowledge_plugins/types.py +1 -1
  293. angr/knowledge_plugins/variables/__init__.py +6 -0
  294. angr/knowledge_plugins/variables/variable_access.py +3 -3
  295. angr/knowledge_plugins/variables/variable_manager.py +7 -7
  296. angr/knowledge_plugins/xrefs/__init__.py +9 -1
  297. angr/knowledge_plugins/xrefs/xref.py +5 -5
  298. angr/knowledge_plugins/xrefs/xref_manager.py +3 -3
  299. angr/lib/angr_native.dll +0 -0
  300. angr/misc/__init__.py +12 -2
  301. angr/misc/loggers.py +2 -2
  302. angr/misc/telemetry.py +54 -0
  303. angr/procedures/__init__.py +9 -0
  304. angr/procedures/cgc/receive.py +2 -2
  305. angr/procedures/cgc/transmit.py +1 -1
  306. angr/procedures/definitions/__init__.py +8 -8
  307. angr/procedures/definitions/cgc.py +1 -1
  308. angr/procedures/definitions/glibc.py +2 -15
  309. angr/procedures/definitions/gnulib.py +2 -6
  310. angr/procedures/definitions/libstdcpp.py +2 -2
  311. angr/procedures/definitions/linux_kernel.py +2 -3
  312. angr/procedures/definitions/linux_loader.py +1 -1
  313. angr/procedures/definitions/msvcr.py +2 -2
  314. angr/procedures/definitions/wdk_api-ms-win-dx-d3dkmt-l1-1-4.py +3 -18
  315. angr/procedures/definitions/wdk_api-ms-win-dx-d3dkmt-l1-1-6.py +3 -18
  316. angr/procedures/definitions/wdk_clfs.py +3 -18
  317. angr/procedures/definitions/wdk_fltmgr.py +3 -18
  318. angr/procedures/definitions/wdk_fwpkclnt.py +3 -18
  319. angr/procedures/definitions/wdk_fwpuclnt.py +3 -18
  320. angr/procedures/definitions/wdk_gdi32.py +3 -18
  321. angr/procedures/definitions/wdk_hal.py +3 -18
  322. angr/procedures/definitions/wdk_ksecdd.py +3 -18
  323. angr/procedures/definitions/wdk_ndis.py +3 -18
  324. angr/procedures/definitions/wdk_ntoskrnl.py +3 -18
  325. angr/procedures/definitions/wdk_offreg.py +3 -18
  326. angr/procedures/definitions/wdk_pshed.py +3 -18
  327. angr/procedures/definitions/wdk_secur32.py +3 -18
  328. angr/procedures/definitions/wdk_vhfum.py +3 -18
  329. angr/procedures/definitions/win32_aclui.py +3 -18
  330. angr/procedures/definitions/win32_activeds.py +3 -18
  331. angr/procedures/definitions/win32_advapi32.py +3 -18
  332. angr/procedures/definitions/win32_advpack.py +3 -18
  333. angr/procedures/definitions/win32_amsi.py +3 -18
  334. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-1.py +3 -18
  335. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-3.py +3 -18
  336. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-6.py +3 -18
  337. angr/procedures/definitions/win32_api-ms-win-core-apiquery-l2-1-0.py +3 -18
  338. angr/procedures/definitions/win32_api-ms-win-core-backgroundtask-l1-1-0.py +3 -18
  339. angr/procedures/definitions/win32_api-ms-win-core-comm-l1-1-1.py +3 -18
  340. angr/procedures/definitions/win32_api-ms-win-core-comm-l1-1-2.py +3 -18
  341. angr/procedures/definitions/win32_api-ms-win-core-enclave-l1-1-1.py +3 -18
  342. angr/procedures/definitions/win32_api-ms-win-core-errorhandling-l1-1-3.py +3 -18
  343. angr/procedures/definitions/win32_api-ms-win-core-featurestaging-l1-1-0.py +3 -18
  344. angr/procedures/definitions/win32_api-ms-win-core-featurestaging-l1-1-1.py +3 -18
  345. angr/procedures/definitions/win32_api-ms-win-core-file-fromapp-l1-1-0.py +3 -18
  346. angr/procedures/definitions/win32_api-ms-win-core-handle-l1-1-0.py +3 -18
  347. angr/procedures/definitions/win32_api-ms-win-core-ioring-l1-1-0.py +3 -18
  348. angr/procedures/definitions/win32_api-ms-win-core-marshal-l1-1-0.py +3 -18
  349. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-3.py +3 -18
  350. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-4.py +3 -18
  351. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-5.py +3 -18
  352. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-6.py +3 -18
  353. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-7.py +3 -18
  354. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-8.py +3 -18
  355. angr/procedures/definitions/win32_api-ms-win-core-path-l1-1-0.py +3 -18
  356. angr/procedures/definitions/win32_api-ms-win-core-psm-appnotify-l1-1-0.py +3 -18
  357. angr/procedures/definitions/win32_api-ms-win-core-psm-appnotify-l1-1-1.py +3 -18
  358. angr/procedures/definitions/win32_api-ms-win-core-realtime-l1-1-1.py +3 -18
  359. angr/procedures/definitions/win32_api-ms-win-core-realtime-l1-1-2.py +3 -18
  360. angr/procedures/definitions/win32_api-ms-win-core-slapi-l1-1-0.py +3 -18
  361. angr/procedures/definitions/win32_api-ms-win-core-state-helpers-l1-1-0.py +3 -18
  362. angr/procedures/definitions/win32_api-ms-win-core-synch-l1-2-0.py +3 -18
  363. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-0.py +3 -18
  364. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-3.py +3 -18
  365. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-4.py +3 -18
  366. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-6.py +3 -18
  367. angr/procedures/definitions/win32_api-ms-win-core-util-l1-1-1.py +3 -18
  368. angr/procedures/definitions/win32_api-ms-win-core-winrt-error-l1-1-0.py +3 -3
  369. angr/procedures/definitions/win32_api-ms-win-core-winrt-error-l1-1-1.py +3 -3
  370. angr/procedures/definitions/win32_api-ms-win-core-winrt-l1-1-0.py +3 -3
  371. angr/procedures/definitions/win32_api-ms-win-core-winrt-registration-l1-1-0.py +3 -3
  372. angr/procedures/definitions/win32_api-ms-win-core-winrt-robuffer-l1-1-0.py +3 -3
  373. angr/procedures/definitions/win32_api-ms-win-core-winrt-roparameterizediid-l1-1-0.py +3 -3
  374. angr/procedures/definitions/win32_api-ms-win-core-winrt-string-l1-1-0.py +3 -3
  375. angr/procedures/definitions/win32_api-ms-win-core-winrt-string-l1-1-1.py +3 -3
  376. angr/procedures/definitions/win32_api-ms-win-core-wow64-l1-1-1.py +3 -18
  377. angr/procedures/definitions/win32_api-ms-win-devices-query-l1-1-0.py +3 -18
  378. angr/procedures/definitions/win32_api-ms-win-devices-query-l1-1-1.py +3 -18
  379. angr/procedures/definitions/win32_api-ms-win-dx-d3dkmt-l1-1-0.py +3 -18
  380. angr/procedures/definitions/win32_api-ms-win-gaming-deviceinformation-l1-1-0.py +3 -18
  381. angr/procedures/definitions/win32_api-ms-win-gaming-expandedresources-l1-1-0.py +3 -18
  382. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-0.py +3 -18
  383. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-1.py +3 -18
  384. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-2.py +3 -18
  385. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-3.py +3 -18
  386. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-4.py +3 -18
  387. angr/procedures/definitions/win32_api-ms-win-mm-misc-l1-1-1.py +3 -18
  388. angr/procedures/definitions/win32_api-ms-win-net-isolation-l1-1-0.py +3 -18
  389. angr/procedures/definitions/win32_api-ms-win-security-base-l1-2-2.py +3 -18
  390. angr/procedures/definitions/win32_api-ms-win-security-isolatedcontainer-l1-1-0.py +3 -18
  391. angr/procedures/definitions/win32_api-ms-win-security-isolatedcontainer-l1-1-1.py +3 -18
  392. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-3.py +3 -18
  393. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-4.py +3 -18
  394. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-5.py +3 -18
  395. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-0.py +3 -18
  396. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-1.py +3 -18
  397. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-2.py +3 -18
  398. angr/procedures/definitions/win32_api-ms-win-shcore-stream-winrt-l1-1-0.py +3 -3
  399. angr/procedures/definitions/win32_api-ms-win-wsl-api-l1-1-0.py +3 -18
  400. angr/procedures/definitions/win32_apphelp.py +3 -18
  401. angr/procedures/definitions/win32_authz.py +3 -18
  402. angr/procedures/definitions/win32_avicap32.py +3 -18
  403. angr/procedures/definitions/win32_avifil32.py +3 -18
  404. angr/procedures/definitions/win32_avrt.py +3 -18
  405. angr/procedures/definitions/win32_bcp47mrm.py +3 -18
  406. angr/procedures/definitions/win32_bcrypt.py +3 -18
  407. angr/procedures/definitions/win32_bcryptprimitives.py +3 -18
  408. angr/procedures/definitions/win32_bluetoothapis.py +3 -18
  409. angr/procedures/definitions/win32_bthprops.py +3 -3
  410. angr/procedures/definitions/win32_bthprops_cpl.py +3 -18
  411. angr/procedures/definitions/win32_cabinet.py +3 -18
  412. angr/procedures/definitions/win32_certadm.py +3 -18
  413. angr/procedures/definitions/win32_certpoleng.py +3 -18
  414. angr/procedures/definitions/win32_cfgmgr32.py +3 -18
  415. angr/procedures/definitions/win32_chakra.py +3 -18
  416. angr/procedures/definitions/win32_cldapi.py +3 -18
  417. angr/procedures/definitions/win32_clfsw32.py +3 -18
  418. angr/procedures/definitions/win32_clusapi.py +3 -18
  419. angr/procedures/definitions/win32_comctl32.py +3 -18
  420. angr/procedures/definitions/win32_comdlg32.py +3 -18
  421. angr/procedures/definitions/win32_compstui.py +3 -18
  422. angr/procedures/definitions/win32_computecore.py +3 -18
  423. angr/procedures/definitions/win32_computenetwork.py +3 -18
  424. angr/procedures/definitions/win32_computestorage.py +3 -18
  425. angr/procedures/definitions/win32_comsvcs.py +3 -18
  426. angr/procedures/definitions/win32_coremessaging.py +3 -3
  427. angr/procedures/definitions/win32_credui.py +3 -18
  428. angr/procedures/definitions/win32_crypt32.py +3 -18
  429. angr/procedures/definitions/win32_cryptnet.py +3 -18
  430. angr/procedures/definitions/win32_cryptui.py +3 -18
  431. angr/procedures/definitions/win32_cryptxml.py +3 -18
  432. angr/procedures/definitions/win32_cscapi.py +3 -18
  433. angr/procedures/definitions/win32_d2d1.py +3 -18
  434. angr/procedures/definitions/win32_d3d10.py +3 -18
  435. angr/procedures/definitions/win32_d3d10_1.py +3 -18
  436. angr/procedures/definitions/win32_d3d11.py +3 -18
  437. angr/procedures/definitions/win32_d3d12.py +3 -18
  438. angr/procedures/definitions/win32_d3d9.py +3 -18
  439. angr/procedures/definitions/win32_d3dcompiler_47.py +3 -18
  440. angr/procedures/definitions/win32_d3dcsx.py +3 -18
  441. angr/procedures/definitions/win32_davclnt.py +3 -18
  442. angr/procedures/definitions/win32_dbgeng.py +3 -18
  443. angr/procedures/definitions/win32_dbghelp.py +3 -18
  444. angr/procedures/definitions/win32_dbgmodel.py +3 -18
  445. angr/procedures/definitions/win32_dciman32.py +3 -18
  446. angr/procedures/definitions/win32_dcomp.py +3 -18
  447. angr/procedures/definitions/win32_ddraw.py +3 -18
  448. angr/procedures/definitions/win32_deviceaccess.py +3 -18
  449. angr/procedures/definitions/win32_dflayout.py +3 -18
  450. angr/procedures/definitions/win32_dhcpcsvc.py +3 -18
  451. angr/procedures/definitions/win32_dhcpcsvc6.py +3 -18
  452. angr/procedures/definitions/win32_dhcpsapi.py +3 -18
  453. angr/procedures/definitions/win32_diagnosticdataquery.py +3 -18
  454. angr/procedures/definitions/win32_dinput8.py +3 -18
  455. angr/procedures/definitions/win32_directml.py +3 -18
  456. angr/procedures/definitions/win32_dmprocessxmlfiltered.py +3 -18
  457. angr/procedures/definitions/win32_dnsapi.py +3 -18
  458. angr/procedures/definitions/win32_drt.py +3 -18
  459. angr/procedures/definitions/win32_drtprov.py +3 -18
  460. angr/procedures/definitions/win32_drttransport.py +3 -18
  461. angr/procedures/definitions/win32_dsound.py +3 -18
  462. angr/procedures/definitions/win32_dsparse.py +3 -18
  463. angr/procedures/definitions/win32_dsprop.py +3 -18
  464. angr/procedures/definitions/win32_dssec.py +3 -18
  465. angr/procedures/definitions/win32_dsuiext.py +3 -18
  466. angr/procedures/definitions/win32_dwmapi.py +3 -18
  467. angr/procedures/definitions/win32_dwrite.py +3 -18
  468. angr/procedures/definitions/win32_dxcompiler.py +3 -18
  469. angr/procedures/definitions/win32_dxcore.py +3 -18
  470. angr/procedures/definitions/win32_dxgi.py +3 -18
  471. angr/procedures/definitions/win32_dxva2.py +3 -18
  472. angr/procedures/definitions/win32_eappcfg.py +3 -18
  473. angr/procedures/definitions/win32_eappprxy.py +3 -18
  474. angr/procedures/definitions/win32_efswrt.py +3 -18
  475. angr/procedures/definitions/win32_elscore.py +3 -18
  476. angr/procedures/definitions/win32_esent.py +3 -18
  477. angr/procedures/definitions/win32_evr.py +3 -18
  478. angr/procedures/definitions/win32_faultrep.py +3 -18
  479. angr/procedures/definitions/win32_fhsvcctl.py +3 -18
  480. angr/procedures/definitions/win32_firewallapi.py +3 -18
  481. angr/procedures/definitions/win32_fltlib.py +3 -18
  482. angr/procedures/definitions/win32_fontsub.py +3 -18
  483. angr/procedures/definitions/win32_forceinline.py +3 -18
  484. angr/procedures/definitions/win32_fwpuclnt.py +3 -18
  485. angr/procedures/definitions/win32_fxsutility.py +3 -18
  486. angr/procedures/definitions/win32_gdi32.py +3 -18
  487. angr/procedures/definitions/win32_gdiplus.py +3 -18
  488. angr/procedures/definitions/win32_glu32.py +3 -18
  489. angr/procedures/definitions/win32_gpedit.py +3 -18
  490. angr/procedures/definitions/win32_hhctrl_ocx.py +3 -18
  491. angr/procedures/definitions/win32_hid.py +3 -18
  492. angr/procedures/definitions/win32_hlink.py +3 -18
  493. angr/procedures/definitions/win32_hrtfapo.py +3 -18
  494. angr/procedures/definitions/win32_httpapi.py +3 -18
  495. angr/procedures/definitions/win32_icm32.py +3 -18
  496. angr/procedures/definitions/win32_icmui.py +3 -18
  497. angr/procedures/definitions/win32_icu.py +3 -18
  498. angr/procedures/definitions/win32_ieframe.py +3 -18
  499. angr/procedures/definitions/win32_imagehlp.py +3 -18
  500. angr/procedures/definitions/win32_imgutil.py +3 -18
  501. angr/procedures/definitions/win32_imm32.py +3 -18
  502. angr/procedures/definitions/win32_infocardapi.py +3 -18
  503. angr/procedures/definitions/win32_inkobjcore.py +3 -18
  504. angr/procedures/definitions/win32_iphlpapi.py +3 -18
  505. angr/procedures/definitions/win32_iscsidsc.py +3 -18
  506. angr/procedures/definitions/win32_isolatedwindowsenvironmentutils.py +3 -18
  507. angr/procedures/definitions/win32_kernel32.py +3 -18
  508. angr/procedures/definitions/win32_kernelbase.py +3 -18
  509. angr/procedures/definitions/win32_keycredmgr.py +3 -18
  510. angr/procedures/definitions/win32_ksproxy_ax.py +3 -18
  511. angr/procedures/definitions/win32_ksuser.py +3 -18
  512. angr/procedures/definitions/win32_ktmw32.py +3 -18
  513. angr/procedures/definitions/win32_licenseprotection.py +3 -18
  514. angr/procedures/definitions/win32_loadperf.py +3 -18
  515. angr/procedures/definitions/win32_magnification.py +3 -18
  516. angr/procedures/definitions/win32_mapi32.py +3 -18
  517. angr/procedures/definitions/win32_mdmlocalmanagement.py +3 -18
  518. angr/procedures/definitions/win32_mdmregistration.py +3 -18
  519. angr/procedures/definitions/win32_mf.py +3 -18
  520. angr/procedures/definitions/win32_mfcore.py +3 -18
  521. angr/procedures/definitions/win32_mfplat.py +3 -18
  522. angr/procedures/definitions/win32_mfplay.py +3 -18
  523. angr/procedures/definitions/win32_mfreadwrite.py +3 -18
  524. angr/procedures/definitions/win32_mfsensorgroup.py +3 -18
  525. angr/procedures/definitions/win32_mfsrcsnk.py +3 -18
  526. angr/procedures/definitions/win32_mgmtapi.py +3 -18
  527. angr/procedures/definitions/win32_mi.py +3 -18
  528. angr/procedures/definitions/win32_mmdevapi.py +3 -18
  529. angr/procedures/definitions/win32_mpr.py +3 -18
  530. angr/procedures/definitions/win32_mprapi.py +3 -18
  531. angr/procedures/definitions/win32_mqrt.py +3 -18
  532. angr/procedures/definitions/win32_mrmsupport.py +3 -18
  533. angr/procedures/definitions/win32_msacm32.py +3 -18
  534. angr/procedures/definitions/win32_msajapi.py +3 -18
  535. angr/procedures/definitions/win32_mscms.py +3 -18
  536. angr/procedures/definitions/win32_mscoree.py +3 -18
  537. angr/procedures/definitions/win32_msctfmonitor.py +3 -18
  538. angr/procedures/definitions/win32_msdelta.py +3 -18
  539. angr/procedures/definitions/win32_msdmo.py +3 -18
  540. angr/procedures/definitions/win32_msdrm.py +3 -18
  541. angr/procedures/definitions/win32_msi.py +3 -18
  542. angr/procedures/definitions/win32_msimg32.py +3 -18
  543. angr/procedures/definitions/win32_mspatcha.py +3 -18
  544. angr/procedures/definitions/win32_mspatchc.py +3 -18
  545. angr/procedures/definitions/win32_msports.py +3 -18
  546. angr/procedures/definitions/win32_msrating.py +3 -18
  547. angr/procedures/definitions/win32_mssign32.py +3 -18
  548. angr/procedures/definitions/win32_mstask.py +3 -18
  549. angr/procedures/definitions/win32_msvfw32.py +3 -18
  550. angr/procedures/definitions/win32_mswsock.py +3 -18
  551. angr/procedures/definitions/win32_mtxdm.py +3 -18
  552. angr/procedures/definitions/win32_ncrypt.py +3 -18
  553. angr/procedures/definitions/win32_ndfapi.py +3 -18
  554. angr/procedures/definitions/win32_netapi32.py +3 -18
  555. angr/procedures/definitions/win32_netsh.py +3 -18
  556. angr/procedures/definitions/win32_netshell.py +3 -18
  557. angr/procedures/definitions/win32_newdev.py +3 -18
  558. angr/procedures/definitions/win32_ninput.py +3 -18
  559. angr/procedures/definitions/win32_normaliz.py +3 -18
  560. angr/procedures/definitions/win32_ntdll.py +3 -18
  561. angr/procedures/definitions/win32_ntdllk.py +3 -18
  562. angr/procedures/definitions/win32_ntdsapi.py +3 -18
  563. angr/procedures/definitions/win32_ntlanman.py +3 -18
  564. angr/procedures/definitions/win32_odbc32.py +3 -18
  565. angr/procedures/definitions/win32_odbcbcp.py +3 -18
  566. angr/procedures/definitions/win32_ole32.py +3 -18
  567. angr/procedures/definitions/win32_oleacc.py +3 -18
  568. angr/procedures/definitions/win32_oleaut32.py +3 -18
  569. angr/procedures/definitions/win32_oledlg.py +3 -18
  570. angr/procedures/definitions/win32_ondemandconnroutehelper.py +3 -18
  571. angr/procedures/definitions/win32_opengl32.py +3 -18
  572. angr/procedures/definitions/win32_opmxbox.py +3 -18
  573. angr/procedures/definitions/win32_p2p.py +3 -18
  574. angr/procedures/definitions/win32_p2pgraph.py +3 -18
  575. angr/procedures/definitions/win32_pdh.py +3 -18
  576. angr/procedures/definitions/win32_peerdist.py +3 -18
  577. angr/procedures/definitions/win32_powrprof.py +3 -18
  578. angr/procedures/definitions/win32_prntvpt.py +3 -18
  579. angr/procedures/definitions/win32_projectedfslib.py +3 -18
  580. angr/procedures/definitions/win32_propsys.py +3 -18
  581. angr/procedures/definitions/win32_psapi.py +3 -18
  582. angr/procedures/definitions/win32_quartz.py +3 -18
  583. angr/procedures/definitions/win32_query.py +3 -18
  584. angr/procedures/definitions/win32_qwave.py +3 -18
  585. angr/procedures/definitions/win32_rasapi32.py +3 -18
  586. angr/procedures/definitions/win32_rasdlg.py +3 -18
  587. angr/procedures/definitions/win32_resutils.py +3 -18
  588. angr/procedures/definitions/win32_rometadata.py +3 -3
  589. angr/procedures/definitions/win32_rpcns4.py +3 -18
  590. angr/procedures/definitions/win32_rpcproxy.py +3 -18
  591. angr/procedures/definitions/win32_rpcrt4.py +3 -18
  592. angr/procedures/definitions/win32_rstrtmgr.py +3 -18
  593. angr/procedures/definitions/win32_rtm.py +3 -18
  594. angr/procedures/definitions/win32_rtutils.py +3 -18
  595. angr/procedures/definitions/win32_rtworkq.py +3 -18
  596. angr/procedures/definitions/win32_sas.py +3 -18
  597. angr/procedures/definitions/win32_scarddlg.py +3 -18
  598. angr/procedures/definitions/win32_schannel.py +3 -18
  599. angr/procedures/definitions/win32_sechost.py +3 -18
  600. angr/procedures/definitions/win32_secur32.py +3 -18
  601. angr/procedures/definitions/win32_sensapi.py +3 -18
  602. angr/procedures/definitions/win32_sensorsutilsv2.py +3 -18
  603. angr/procedures/definitions/win32_setupapi.py +3 -18
  604. angr/procedures/definitions/win32_sfc.py +3 -18
  605. angr/procedures/definitions/win32_shdocvw.py +3 -18
  606. angr/procedures/definitions/win32_shell32.py +3 -18
  607. angr/procedures/definitions/win32_shlwapi.py +3 -18
  608. angr/procedures/definitions/win32_slc.py +3 -18
  609. angr/procedures/definitions/win32_slcext.py +3 -18
  610. angr/procedures/definitions/win32_slwga.py +3 -18
  611. angr/procedures/definitions/win32_snmpapi.py +3 -18
  612. angr/procedures/definitions/win32_spoolss.py +3 -18
  613. angr/procedures/definitions/win32_srclient.py +3 -18
  614. angr/procedures/definitions/win32_srpapi.py +3 -18
  615. angr/procedures/definitions/win32_sspicli.py +3 -18
  616. angr/procedures/definitions/win32_sti.py +3 -18
  617. angr/procedures/definitions/win32_t2embed.py +3 -18
  618. angr/procedures/definitions/win32_tapi32.py +3 -18
  619. angr/procedures/definitions/win32_tbs.py +3 -18
  620. angr/procedures/definitions/win32_tdh.py +3 -18
  621. angr/procedures/definitions/win32_tokenbinding.py +3 -18
  622. angr/procedures/definitions/win32_traffic.py +3 -18
  623. angr/procedures/definitions/win32_txfw32.py +3 -18
  624. angr/procedures/definitions/win32_ualapi.py +3 -18
  625. angr/procedures/definitions/win32_uiautomationcore.py +3 -18
  626. angr/procedures/definitions/win32_urlmon.py +3 -18
  627. angr/procedures/definitions/win32_user32.py +4 -19
  628. angr/procedures/definitions/win32_userenv.py +3 -18
  629. angr/procedures/definitions/win32_usp10.py +3 -18
  630. angr/procedures/definitions/win32_uxtheme.py +3 -18
  631. angr/procedures/definitions/win32_verifier.py +3 -18
  632. angr/procedures/definitions/win32_version.py +3 -18
  633. angr/procedures/definitions/win32_vertdll.py +3 -18
  634. angr/procedures/definitions/win32_virtdisk.py +3 -18
  635. angr/procedures/definitions/win32_vmdevicehost.py +3 -18
  636. angr/procedures/definitions/win32_vmsavedstatedumpprovider.py +3 -18
  637. angr/procedures/definitions/win32_vssapi.py +3 -18
  638. angr/procedures/definitions/win32_wcmapi.py +3 -18
  639. angr/procedures/definitions/win32_wdsbp.py +3 -18
  640. angr/procedures/definitions/win32_wdsclientapi.py +3 -18
  641. angr/procedures/definitions/win32_wdsmc.py +3 -18
  642. angr/procedures/definitions/win32_wdspxe.py +3 -18
  643. angr/procedures/definitions/win32_wdstptc.py +3 -18
  644. angr/procedures/definitions/win32_webauthn.py +3 -18
  645. angr/procedures/definitions/win32_webservices.py +3 -18
  646. angr/procedures/definitions/win32_websocket.py +3 -18
  647. angr/procedures/definitions/win32_wecapi.py +3 -18
  648. angr/procedures/definitions/win32_wer.py +3 -18
  649. angr/procedures/definitions/win32_wevtapi.py +3 -18
  650. angr/procedures/definitions/win32_winbio.py +3 -18
  651. angr/procedures/definitions/win32_windows_ai_machinelearning.py +3 -18
  652. angr/procedures/definitions/win32_windows_data_pdf.py +3 -3
  653. angr/procedures/definitions/win32_windows_media_mediacontrol.py +3 -18
  654. angr/procedures/definitions/win32_windows_networking.py +3 -18
  655. angr/procedures/definitions/win32_windows_ui_xaml.py +3 -18
  656. angr/procedures/definitions/win32_windowscodecs.py +3 -18
  657. angr/procedures/definitions/win32_winfax.py +3 -18
  658. angr/procedures/definitions/win32_winhttp.py +3 -18
  659. angr/procedures/definitions/win32_winhvemulation.py +3 -18
  660. angr/procedures/definitions/win32_winhvplatform.py +3 -18
  661. angr/procedures/definitions/win32_wininet.py +3 -18
  662. angr/procedures/definitions/win32_winml.py +3 -18
  663. angr/procedures/definitions/win32_winmm.py +3 -18
  664. angr/procedures/definitions/win32_winscard.py +3 -18
  665. angr/procedures/definitions/win32_winspool.py +3 -3
  666. angr/procedures/definitions/win32_winspool_drv.py +3 -18
  667. angr/procedures/definitions/win32_wintrust.py +3 -18
  668. angr/procedures/definitions/win32_winusb.py +3 -18
  669. angr/procedures/definitions/win32_wlanapi.py +3 -18
  670. angr/procedures/definitions/win32_wlanui.py +3 -18
  671. angr/procedures/definitions/win32_wldap32.py +3 -18
  672. angr/procedures/definitions/win32_wldp.py +3 -18
  673. angr/procedures/definitions/win32_wmvcore.py +3 -18
  674. angr/procedures/definitions/win32_wnvapi.py +3 -18
  675. angr/procedures/definitions/win32_wofutil.py +3 -18
  676. angr/procedures/definitions/win32_ws2_32.py +3 -18
  677. angr/procedures/definitions/win32_wscapi.py +3 -18
  678. angr/procedures/definitions/win32_wsclient.py +3 -18
  679. angr/procedures/definitions/win32_wsdapi.py +3 -18
  680. angr/procedures/definitions/win32_wsmsvc.py +3 -18
  681. angr/procedures/definitions/win32_wsnmp32.py +3 -18
  682. angr/procedures/definitions/win32_wtsapi32.py +3 -18
  683. angr/procedures/definitions/win32_xaudio2_8.py +3 -18
  684. angr/procedures/definitions/win32_xinput1_4.py +3 -18
  685. angr/procedures/definitions/win32_xinputuap.py +3 -3
  686. angr/procedures/definitions/win32_xmllite.py +3 -18
  687. angr/procedures/definitions/win32_xolehlp.py +3 -18
  688. angr/procedures/definitions/win32_xpsprint.py +3 -18
  689. angr/procedures/glibc/scanf.py +2 -2
  690. angr/procedures/glibc/sscanf.py +1 -1
  691. angr/procedures/java/__init__.py +6 -3
  692. angr/procedures/java/unconstrained.py +4 -4
  693. angr/procedures/java_io/read.py +1 -1
  694. angr/procedures/java_io/write.py +1 -1
  695. angr/procedures/java_jni/__init__.py +25 -17
  696. angr/procedures/java_jni/array_operations.py +2 -2
  697. angr/procedures/java_jni/field_access.py +3 -3
  698. angr/procedures/java_jni/method_calls.py +2 -2
  699. angr/procedures/java_jni/object_operations.py +1 -1
  700. angr/procedures/java_jni/string_operations.py +2 -2
  701. angr/procedures/java_lang/character.py +1 -1
  702. angr/procedures/java_lang/double.py +2 -2
  703. angr/procedures/java_lang/exit.py +1 -1
  704. angr/procedures/java_lang/getsimplename.py +1 -1
  705. angr/procedures/java_lang/integer.py +2 -2
  706. angr/procedures/java_lang/load_library.py +1 -1
  707. angr/procedures/java_lang/math.py +1 -1
  708. angr/procedures/java_lang/string.py +4 -4
  709. angr/procedures/java_lang/stringbuilder.py +2 -2
  710. angr/procedures/java_lang/system.py +1 -1
  711. angr/procedures/java_util/collection.py +2 -2
  712. angr/procedures/java_util/iterator.py +2 -2
  713. angr/procedures/java_util/list.py +3 -3
  714. angr/procedures/java_util/map.py +3 -3
  715. angr/procedures/java_util/random.py +1 -1
  716. angr/procedures/java_util/scanner_nextline.py +3 -3
  717. angr/procedures/libc/fseek.py +1 -1
  718. angr/procedures/libc/memcpy.py +1 -1
  719. angr/procedures/libc/strlen.py +12 -4
  720. angr/procedures/libc/strncmp.py +9 -4
  721. angr/procedures/linux_kernel/iovec.py +3 -3
  722. angr/procedures/linux_kernel/mmap.py +1 -1
  723. angr/procedures/linux_kernel/stat.py +1 -1
  724. angr/procedures/linux_kernel/sysinfo.py +1 -1
  725. angr/procedures/linux_kernel/vsyscall.py +1 -1
  726. angr/procedures/posix/bzero.py +1 -1
  727. angr/procedures/posix/mmap.py +1 -1
  728. angr/procedures/posix/send.py +1 -1
  729. angr/procedures/posix/syslog.py +2 -3
  730. angr/procedures/procedure_dict.py +2 -2
  731. angr/procedures/stubs/Redirect.py +1 -1
  732. angr/procedures/stubs/UserHook.py +1 -1
  733. angr/procedures/stubs/format_parser.py +6 -6
  734. angr/procedures/tracer/random.py +1 -1
  735. angr/procedures/tracer/receive.py +1 -1
  736. angr/procedures/tracer/transmit.py +1 -1
  737. angr/procedures/uclibc/__uClibc_main.py +1 -1
  738. angr/protos/__init__.py +8 -0
  739. angr/sim_options.py +0 -4
  740. angr/sim_procedure.py +5 -5
  741. angr/sim_state.py +21 -34
  742. angr/sim_type.py +51 -18
  743. angr/simos/__init__.py +12 -0
  744. angr/simos/cgc.py +5 -5
  745. angr/simos/javavm.py +18 -23
  746. angr/simos/linux.py +6 -6
  747. angr/simos/simos.py +12 -16
  748. angr/simos/userland.py +3 -3
  749. angr/simos/windows.py +6 -11
  750. angr/state_hierarchy.py +1 -1
  751. angr/state_plugins/__init__.py +84 -28
  752. angr/state_plugins/callstack.py +1 -1
  753. angr/state_plugins/concrete.py +3 -4
  754. angr/state_plugins/filesystem.py +3 -3
  755. angr/state_plugins/gdb.py +1 -1
  756. angr/state_plugins/heap/__init__.py +14 -5
  757. angr/state_plugins/heap/heap_base.py +5 -4
  758. angr/state_plugins/heap/heap_brk.py +1 -1
  759. angr/state_plugins/heap/heap_freelist.py +1 -1
  760. angr/state_plugins/heap/heap_ptmalloc.py +2 -20
  761. angr/state_plugins/heap/utils.py +1 -1
  762. angr/state_plugins/history.py +2 -2
  763. angr/state_plugins/javavm_classloader.py +3 -3
  764. angr/state_plugins/jni_references.py +1 -1
  765. angr/state_plugins/light_registers.py +3 -3
  766. angr/state_plugins/log.py +1 -1
  767. angr/state_plugins/plugin.py +3 -2
  768. angr/state_plugins/posix.py +3 -3
  769. angr/state_plugins/preconstrainer.py +6 -6
  770. angr/state_plugins/scratch.py +4 -4
  771. angr/state_plugins/sim_action_object.py +1 -1
  772. angr/state_plugins/solver.py +15 -19
  773. angr/state_plugins/symbolizer.py +2 -3
  774. angr/state_plugins/trace_additions.py +8 -8
  775. angr/state_plugins/uc_manager.py +1 -1
  776. angr/state_plugins/unicorn_engine.py +4 -4
  777. angr/state_plugins/view.py +1 -1
  778. angr/storage/__init__.py +9 -3
  779. angr/storage/file.py +16 -16
  780. angr/storage/memory_mixins/__init__.py +88 -6
  781. angr/storage/memory_mixins/actions_mixin.py +3 -3
  782. angr/storage/memory_mixins/address_concretization_mixin.py +6 -6
  783. angr/storage/memory_mixins/bvv_conversion_mixin.py +1 -1
  784. angr/storage/memory_mixins/clouseau_mixin.py +1 -1
  785. angr/storage/memory_mixins/convenient_mappings_mixin.py +8 -10
  786. angr/storage/memory_mixins/default_filler_mixin.py +3 -3
  787. angr/storage/memory_mixins/hex_dumper_mixin.py +1 -1
  788. angr/storage/memory_mixins/{javavm_memory/javavm_memory_mixin.py → javavm_memory_mixin.py} +15 -12
  789. angr/storage/memory_mixins/{keyvalue_memory/keyvalue_memory_mixin.py → keyvalue_memory_mixin.py} +11 -6
  790. angr/storage/memory_mixins/multi_value_merger_mixin.py +5 -5
  791. angr/storage/memory_mixins/name_resolution_mixin.py +2 -2
  792. angr/storage/memory_mixins/paged_memory/paged_memory_mixin.py +1 -1
  793. angr/storage/memory_mixins/paged_memory/paged_memory_multivalue_mixin.py +1 -1
  794. angr/storage/memory_mixins/paged_memory/pages/__init__.py +15 -0
  795. angr/storage/memory_mixins/paged_memory/pages/mv_list_page.py +1 -1
  796. angr/storage/memory_mixins/paged_memory/pages/ultra_page.py +2 -2
  797. angr/storage/memory_mixins/paged_memory/stack_allocation_mixin.py +2 -2
  798. angr/storage/memory_mixins/regioned_memory/__init__.py +10 -0
  799. angr/storage/memory_mixins/regioned_memory/abstract_merger_mixin.py +1 -1
  800. angr/storage/memory_mixins/regioned_memory/region_category_mixin.py +1 -1
  801. angr/storage/memory_mixins/regioned_memory/region_data.py +2 -2
  802. angr/storage/memory_mixins/regioned_memory/region_meta_mixin.py +1 -1
  803. angr/storage/memory_mixins/regioned_memory/regioned_address_concretization_mixin.py +4 -4
  804. angr/storage/memory_mixins/regioned_memory/regioned_memory_mixin.py +7 -19
  805. angr/storage/memory_mixins/regioned_memory/static_find_mixin.py +1 -1
  806. angr/storage/memory_mixins/simple_interface_mixin.py +1 -1
  807. angr/storage/memory_mixins/simplification_mixin.py +1 -1
  808. angr/storage/memory_mixins/size_resolution_mixin.py +2 -2
  809. angr/storage/memory_mixins/slotted_memory.py +1 -1
  810. angr/storage/memory_mixins/smart_find_mixin.py +3 -3
  811. angr/storage/memory_mixins/underconstrained_mixin.py +1 -1
  812. angr/storage/memory_mixins/unwrapper_mixin.py +1 -1
  813. angr/storage/memory_object.py +8 -10
  814. angr/utils/__init__.py +12 -0
  815. angr/utils/enums_conv.py +1 -1
  816. angr/utils/library.py +2 -2
  817. angr/utils/mp.py +1 -1
  818. angr/utils/timing.py +30 -18
  819. {angr-9.2.118.dist-info → angr-9.2.120.dist-info}/METADATA +8 -7
  820. angr-9.2.120.dist-info/RECORD +1340 -0
  821. angr/analyses/s_liveness/__init__.py +0 -2
  822. angr/analyses/s_propagator/__init__.py +0 -2
  823. angr/analyses/s_reaching_definitions/s_rda.py +0 -479
  824. angr/knowledge_base/__init__.py +0 -2
  825. angr/knowledge_plugins/structured_code/__init__.py +0 -2
  826. angr/knowledge_plugins/sync/__init__.py +0 -2
  827. angr/knowledge_plugins/sync/sync_controller.py +0 -324
  828. angr/misc/range.py +0 -24
  829. angr/misc/weakpatch.py +0 -59
  830. angr/storage/memory_mixins/javavm_memory/__init__.py +0 -2
  831. angr/storage/memory_mixins/keyvalue_memory/__init__.py +0 -2
  832. angr/storage/pcap.py +0 -65
  833. angr/utils/typing.py +0 -18
  834. angr-9.2.118.dist-info/RECORD +0 -1344
  835. /angr/analyses/{s_liveness/s_liveness.py → s_liveness.py} +0 -0
  836. {angr-9.2.118.dist-info → angr-9.2.120.dist-info}/LICENSE +0 -0
  837. {angr-9.2.118.dist-info → angr-9.2.120.dist-info}/WHEEL +0 -0
  838. {angr-9.2.118.dist-info → angr-9.2.120.dist-info}/entry_points.txt +0 -0
  839. {angr-9.2.118.dist-info → angr-9.2.120.dist-info}/top_level.txt +0 -0
@@ -1,8 +1,8 @@
1
1
  from __future__ import annotations
2
2
  import claripy
3
3
 
4
- from ...state_plugins.sim_action import SimActionData, SimActionObject
5
- from ... import sim_options as o
4
+ from angr.state_plugins.sim_action import SimActionData, SimActionObject
5
+ from angr import sim_options as o
6
6
  from . import MemoryMixin
7
7
 
8
8
 
@@ -46,7 +46,7 @@ class ActionsMixinHigh(MemoryMixin):
46
46
  self.state, region_type, kind, addr=addr, data=data, size=ref_size, condition=condition, fallback=fallback
47
47
  )
48
48
 
49
- action.added_constraints = claripy.true
49
+ action.added_constraints = claripy.true()
50
50
  return action
51
51
 
52
52
  def _add_constraints(self, c, action=None, **kwargs):
@@ -2,12 +2,12 @@ from __future__ import annotations
2
2
  import claripy
3
3
 
4
4
  from . import MemoryMixin
5
- from ... import sim_options as options
6
- from ... import concretization_strategies
7
- from ...sim_state_options import SimStateOptions
8
- from ...state_plugins.inspect import BP_BEFORE, BP_AFTER
9
- from ...errors import SimMergeError, SimUnsatError, SimMemoryAddressError, SimMemoryError
10
- from ...storage import DUMMY_SYMBOLIC_READ_VALUE
5
+ from angr import sim_options as options
6
+ from angr import concretization_strategies
7
+ from angr.sim_state_options import SimStateOptions
8
+ from angr.state_plugins.inspect import BP_BEFORE, BP_AFTER
9
+ from angr.errors import SimMergeError, SimUnsatError, SimMemoryAddressError, SimMemoryError
10
+ from angr.storage import DUMMY_SYMBOLIC_READ_VALUE
11
11
 
12
12
 
13
13
  class MultiwriteAnnotation(claripy.Annotation):
@@ -70,4 +70,4 @@ class DataNormalizationMixin(MemoryMixin):
70
70
  return raw_to_bv()
71
71
 
72
72
 
73
- from ...errors import SimMemoryError
73
+ from angr.errors import SimMemoryError
@@ -129,4 +129,4 @@ class InspectMixinHigh(MemoryMixin):
129
129
  super()._add_constraints(c, add_constraints=add_constraints, inspect=inspect, **kwargs)
130
130
 
131
131
 
132
- from ...state_plugins.inspect import BP_BEFORE, BP_AFTER
132
+ from angr.state_plugins.inspect import BP_BEFORE, BP_AFTER
@@ -5,8 +5,8 @@ import logging
5
5
  import claripy
6
6
 
7
7
  from angr import sim_options as options
8
- from ...utils.cowdict import ChainMapCOW
9
- from ...errors import SimMemoryError, SimMemoryMissingError
8
+ from angr.utils.cowdict import ChainMapCOW
9
+ from angr.errors import SimMemoryError, SimMemoryMissingError
10
10
  from . import MemoryMixin
11
11
 
12
12
  l = logging.getLogger(name=__name__)
@@ -63,7 +63,7 @@ class ConvenientMappingsMixin(MemoryMixin):
63
63
  self._updated_mappings.remove((v, id(self._name_mapping)))
64
64
 
65
65
  if options.REVERSE_MEMORY_HASH_MAP in self.state.options:
66
- h = old_obj.cache_key
66
+ h = old_obj.hash()
67
67
  self._mark_updated_mapping(self._hash_mapping, h)
68
68
  self._hash_mapping[h].difference_update(range(addr, addr + size))
69
69
  if len(self._hash_mapping[h]) == 0:
@@ -82,7 +82,7 @@ class ConvenientMappingsMixin(MemoryMixin):
82
82
 
83
83
  if options.REVERSE_MEMORY_HASH_MAP in self.state.options:
84
84
  # add the new variables to the hash->addrs mapping
85
- h = data.cache_key
85
+ h = data.hash()
86
86
  self._mark_updated_mapping(self._hash_mapping, h)
87
87
  if h not in self._hash_mapping:
88
88
  self._hash_mapping[h] = set()
@@ -148,7 +148,7 @@ class ConvenientMappingsMixin(MemoryMixin):
148
148
  self._name_mapping.pop(v, None)
149
149
 
150
150
  if options.REVERSE_MEMORY_HASH_MAP in self.state.options:
151
- h = hash(old_obj)
151
+ h = old_obj.hash()
152
152
  self._mark_updated_mapping(self._hash_mapping, h)
153
153
  self._hash_mapping[h].discard(actual_addr)
154
154
  if len(self._hash_mapping[h]) == 0:
@@ -166,7 +166,7 @@ class ConvenientMappingsMixin(MemoryMixin):
166
166
 
167
167
  if options.REVERSE_MEMORY_HASH_MAP in self.state.options:
168
168
  # add the new variables to the hash->addrs mapping
169
- h = hash(new_obj)
169
+ h = new_obj.hash()
170
170
  self._mark_updated_mapping(self._hash_mapping, h)
171
171
  if h not in self._hash_mapping:
172
172
  self._hash_mapping[h] = set()
@@ -208,10 +208,8 @@ class ConvenientMappingsMixin(MemoryMixin):
208
208
  for e in self._hash_mapping[h]:
209
209
  try:
210
210
  present = self.load(e, size=1)
211
- if h == present.cache_key or (
212
- present.op == "Extract"
213
- and present.args[0] - present.args[1] == 7
214
- and h == present.args[2].cache_key
211
+ if h == present.hash() or (
212
+ present.op == "Extract" and present.args[0] - present.args[1] == 7 and h == present.args[2].hash()
215
213
  ):
216
214
  yield e
217
215
  else:
@@ -4,9 +4,9 @@ import logging
4
4
  import claripy
5
5
 
6
6
  from . import MemoryMixin
7
- from ... import sim_options as options
8
- from ...misc.ux import once
9
- from ...errors import SimMemoryMissingError
7
+ from angr import sim_options as options
8
+ from angr.misc.ux import once
9
+ from angr.errors import SimMemoryMissingError
10
10
 
11
11
  l = logging.getLogger(__name__)
12
12
 
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
  import string
3
3
 
4
- from ...errors import SimValueError
4
+ from angr.errors import SimValueError
5
5
  from . import MemoryMixin
6
6
  import contextlib
7
7
 
@@ -5,9 +5,9 @@ import os
5
5
 
6
6
  import claripy
7
7
 
8
- from .... import concretization_strategies
9
- from ....errors import SimUnsatError, SimMemoryAddressError
10
- from ....engines.soot.values import (
8
+ from angr import concretization_strategies
9
+ from angr.errors import SimUnsatError, SimMemoryAddressError
10
+ from angr.engines.soot.values import (
11
11
  SimSootValue_ArrayRef,
12
12
  SimSootValue_ArrayBaseRef,
13
13
  SimSootValue_InstanceFieldRef,
@@ -16,13 +16,18 @@ from ....engines.soot.values import (
16
16
  SimSootValue_StaticFieldRef,
17
17
  SimSootValue_StringRef,
18
18
  )
19
- from .. import MemoryMixin
19
+ from . import MemoryMixin
20
20
 
21
21
 
22
22
  l = logging.getLogger(name=__name__)
23
23
 
24
24
 
25
+ # pylint: disable=too-many-positional-arguments
26
+
27
+
25
28
  class JavaVmMemoryMixin(MemoryMixin):
29
+ """A memory mixin for JavaVM memory."""
30
+
26
31
  def __init__(
27
32
  self,
28
33
  memory_id="mem",
@@ -38,7 +43,7 @@ class JavaVmMemoryMixin(MemoryMixin):
38
43
 
39
44
  self._stack = [] if stack is None else stack
40
45
  # delayed import
41
- from .. import KeyValueMemory
46
+ from . import KeyValueMemory # pylint: disable=import-outside-toplevel
42
47
 
43
48
  self.heap = KeyValueMemory("mem") if heap is None else heap
44
49
  self.vm_static_table = KeyValueMemory("mem") if vm_static_table is None else vm_static_table
@@ -81,7 +86,7 @@ class JavaVmMemoryMixin(MemoryMixin):
81
86
  else:
82
87
  l.error("Unknown addr type %s", addr)
83
88
 
84
- def load(self, addr, frame=0, none_if_missing=False): # pylint: disable=arguments-differ
89
+ def load(self, addr, frame=0, none_if_missing=False): # pylint: disable=arguments-differ,arguments-renamed
85
90
  if type(addr) is SimSootValue_Local:
86
91
  cstack = self._stack[-1 + (-1 * frame)]
87
92
  return cstack.load(addr.id, none_if_missing=none_if_missing)
@@ -118,7 +123,7 @@ class JavaVmMemoryMixin(MemoryMixin):
118
123
  return None
119
124
 
120
125
  def push_stack_frame(self):
121
- from .. import KeyValueMemory
126
+ from . import KeyValueMemory # pylint: disable=import-outside-toplevel
122
127
 
123
128
  self._stack.append(KeyValueMemory("mem"))
124
129
 
@@ -379,11 +384,9 @@ class JavaVmMemoryMixin(MemoryMixin):
379
384
  def merge(self, others, merge_conditions, common_ancestor=None): # pylint: disable=unused-argument
380
385
  l.warning("Merging is not implemented for JavaVM memory!")
381
386
 
382
- def widen(self, others): # pylint: disable=unused-argument
387
+ def widen(self, others): # pylint: disable=no-self-use,unused-argument
383
388
  l.warning("Widening is not implemented for JavaVM memory!")
384
389
 
385
- def _find(
386
- self, addr, what, max_search=None, max_symbolic_bytes=None, default=None
387
- ): # pylint: disable=unused-argument
390
+ # pylint: disable=no-self-use,unused-argument
391
+ def _find(self, addr, what, max_search=None, max_symbolic_bytes=None, default=None):
388
392
  l.warning("Find is not implemented for JavaVM memory!")
389
- return
@@ -1,8 +1,11 @@
1
1
  from __future__ import annotations
2
- from .. import MemoryMixin
2
+
3
+ from . import MemoryMixin
3
4
 
4
5
 
5
6
  class TypedVariable:
7
+ """TypedVariable is a simple class that holds a value and a type."""
8
+
6
9
  __slots__ = (
7
10
  "type",
8
11
  "value",
@@ -14,18 +17,20 @@ class TypedVariable:
14
17
 
15
18
 
16
19
  class KeyValueMemoryMixin(MemoryMixin):
20
+ """KeyValueMemoryMixin is a mixin that provides a simple key-value store for memory."""
21
+
17
22
  def __init__(self, *args, **kwargs):
18
23
  super().__init__(*args, **kwargs)
19
24
 
20
25
  self._store = {}
21
26
 
22
- def load(self, key, none_if_missing=False, **kwargs):
23
- if none_if_missing and key not in self._store:
27
+ def load(self, addr, size=None, none_if_missing=False, **kwargs): # pylint: disable=unused-argument
28
+ if none_if_missing and addr not in self._store:
24
29
  return None
25
- return self._store[key].value
30
+ return self._store[addr].value
26
31
 
27
- def store(self, key, data, type_=None, **kwargs):
28
- self._store[key] = TypedVariable(type_, data)
32
+ def store(self, addr, data, type_=None, **kwargs):
33
+ self._store[addr] = TypedVariable(type_, data)
29
34
 
30
35
  @MemoryMixin.memo
31
36
  def copy(self, memo):
@@ -41,16 +41,16 @@ class MultiValueMergerMixin(MemoryMixin):
41
41
  ret_val = self._top_func(merged_size * self.state.arch.byte_width)
42
42
  else:
43
43
  # strip annotations from each value and see how many raw values there are in total
44
- # We have to use cache_key to determine uniqueness here, because if __hash__ collides,
44
+ # We have to use hash manually to determine uniqueness here, because if __hash__ collides,
45
45
  # python implicitly calls __eq__ to determine if the two objects are actually the same
46
46
  # and that just results in a new AST for a BV. Python then tries to convert that AST to a bool
47
47
  # which fails with the safeguard in claripy.ast.bool.Bool.__bool__.
48
- stripped_values_set = {v.clear_annotations().cache_key for v in values_set}
49
- if len(stripped_values_set) > 1:
48
+ stripped_values_dict = {v.hash(): v for v in values_set}
49
+ if len(stripped_values_dict) > 1:
50
50
  ret_val = self._top_func(merged_size * self.state.arch.byte_width)
51
51
  else:
52
- # Get the AST back from the cache_key
53
- ret_val = next(iter(stripped_values_set)).ast
52
+ # Get the AST back from the hash dict
53
+ ret_val = stripped_values_dict[next(iter(stripped_values_dict))]
54
54
 
55
55
  # migrate annotations
56
56
  annotations = []
@@ -15,7 +15,7 @@ class NameResolutionMixin(MemoryMixin):
15
15
 
16
16
  def _resolve_location_name(self, name, is_write=False):
17
17
  # Delayed load so SimMemory does not rely on SimEngines
18
- from ...engines.vex.claripy.ccall import _get_flags
18
+ from angr.engines.vex.claripy.ccall import _get_flags
19
19
 
20
20
  if self.category == "reg":
21
21
  if self.state.arch.name in ("X86", "AMD64"):
@@ -64,4 +64,4 @@ class NameResolutionMixin(MemoryMixin):
64
64
  return super().load(addr, size=size, **kwargs)
65
65
 
66
66
 
67
- from ...errors import SimMemoryError
67
+ from angr.errors import SimMemoryError
@@ -9,7 +9,7 @@ import claripy
9
9
 
10
10
  from angr.storage.memory_mixins import MemoryMixin
11
11
  from angr.storage.memory_mixins.paged_memory.pages import PageType, ListPage, UltraPage, MVListPage
12
- from ....errors import SimMemoryError
12
+ from angr.errors import SimMemoryError
13
13
 
14
14
  # yeet
15
15
  ffi = cffi.FFI()
@@ -1,5 +1,5 @@
1
1
  from __future__ import annotations
2
- from .. import MemoryMixin
2
+ from angr.storage.memory_mixins import MemoryMixin
3
3
 
4
4
 
5
5
  class PagedMemoryMultiValueMixin(MemoryMixin):
@@ -30,3 +30,18 @@ PageType = typing.TypeVar("PageType", bound=PageBase)
30
30
  from .list_page import ListPage
31
31
  from .mv_list_page import MVListPage
32
32
  from .ultra_page import UltraPage
33
+
34
+
35
+ __all__ = (
36
+ "CooperationBase",
37
+ "MemoryObjectMixin",
38
+ "ISPOMixin",
39
+ "RefcountMixin",
40
+ "PermissionsMixin",
41
+ "HistoryTrackingMixin",
42
+ "PageBase",
43
+ "PageType",
44
+ "ListPage",
45
+ "MVListPage",
46
+ "UltraPage",
47
+ )
@@ -5,7 +5,7 @@ from typing import Union, Any
5
5
  from collections.abc import Callable
6
6
 
7
7
  from angr.utils.dynamic_dictlist import DynamicDictList
8
- from .....storage.memory_object import SimMemoryObject, SimLabeledMemoryObject
8
+ from angr.storage.memory_object import SimMemoryObject, SimLabeledMemoryObject
9
9
  from . import PageBase
10
10
  from .cooperation import MemoryObjectSetMixin
11
11
 
@@ -8,7 +8,7 @@ from sortedcontainers import SortedDict
8
8
 
9
9
  import claripy
10
10
 
11
- from .....errors import SimMemoryError
11
+ from angr.errors import SimMemoryError
12
12
  from . import PageBase
13
13
  from .cooperation import MemoryObjectMixin, SimMemoryObject
14
14
 
@@ -464,7 +464,7 @@ class UltraPage(MemoryObjectMixin, PageBase):
464
464
  if replaced_object is not None:
465
465
  self._replace_memory_object(mo, replaced_object, memory=memory)
466
466
 
467
- def _replace_memory_object(self, old: SimMemoryObject, new_content: claripy.Bits, memory=None):
467
+ def _replace_memory_object(self, old: SimMemoryObject, new_content: claripy.ast.Bits, memory=None):
468
468
  """
469
469
  Replaces the memory object `old` with a new memory object containing `new_content`.
470
470
 
@@ -2,8 +2,8 @@ from __future__ import annotations
2
2
  import logging
3
3
 
4
4
  from .paged_memory_mixin import PagedMemoryMixin
5
- from ....errors import SimSegfaultException, SimMemoryError
6
- from ....sim_options import STRICT_PAGE_ACCESS
5
+ from angr.errors import SimSegfaultException, SimMemoryError
6
+ from angr.sim_options import STRICT_PAGE_ACCESS
7
7
 
8
8
  l = logging.getLogger(__name__)
9
9
 
@@ -1,7 +1,17 @@
1
1
  from __future__ import annotations
2
+
2
3
  from .regioned_memory_mixin import RegionedMemoryMixin
3
4
  from .region_category_mixin import RegionCategoryMixin
4
5
  from .static_find_mixin import StaticFindMixin
5
6
  from .abstract_merger_mixin import AbstractMergerMixin
6
7
  from .region_meta_mixin import MemoryRegionMetaMixin
7
8
  from .regioned_address_concretization_mixin import RegionedAddressConcretizationMixin
9
+
10
+ __all__ = (
11
+ "RegionedMemoryMixin",
12
+ "RegionCategoryMixin",
13
+ "StaticFindMixin",
14
+ "AbstractMergerMixin",
15
+ "MemoryRegionMetaMixin",
16
+ "RegionedAddressConcretizationMixin",
17
+ )
@@ -5,7 +5,7 @@ from collections.abc import Iterable
5
5
  from typing import Any
6
6
 
7
7
 
8
- from .. import MemoryMixin
8
+ from angr.storage.memory_mixins import MemoryMixin
9
9
 
10
10
  l = logging.getLogger(name=__name__)
11
11
 
@@ -1,5 +1,5 @@
1
1
  from __future__ import annotations
2
- from .. import MemoryMixin
2
+ from angr.storage.memory_mixins import MemoryMixin
3
3
 
4
4
 
5
5
  class RegionCategoryMixin(MemoryMixin):
@@ -3,8 +3,8 @@ from sortedcontainers import SortedDict
3
3
 
4
4
  import claripy
5
5
 
6
- from ....errors import SimRegionMapError
7
- from ....state_plugins import SimStatePlugin
6
+ from angr.errors import SimRegionMapError
7
+ from angr.state_plugins import SimStatePlugin
8
8
 
9
9
 
10
10
  class AddressWrapper:
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
  import copy
3
3
  from typing import Any
4
4
 
5
- from .. import MemoryMixin
5
+ from angr.storage.memory_mixins import MemoryMixin
6
6
 
7
7
 
8
8
  class Segment:
@@ -3,10 +3,10 @@ from collections.abc import Generator
3
3
 
4
4
  import claripy
5
5
 
6
- from ....sim_options import HYBRID_SOLVER, APPROXIMATE_FIRST
7
- from .... import concretization_strategies
8
- from ....errors import SimMergeError, SimMemoryAddressError
9
- from .. import MemoryMixin
6
+ from angr.sim_options import HYBRID_SOLVER, APPROXIMATE_FIRST
7
+ from angr import concretization_strategies
8
+ from angr.errors import SimMergeError, SimMemoryAddressError
9
+ from angr.storage.memory_mixins import MemoryMixin
10
10
  from .abstract_address_descriptor import AbstractAddressDescriptor
11
11
  from .region_data import AddressWrapper
12
12
 
@@ -8,20 +8,15 @@ import claripy
8
8
  from claripy.annotation import RegionAnnotation
9
9
  from claripy.ast import Bool, Bits, BV
10
10
 
11
- from ....sim_options import (
12
- AVOID_MULTIVALUED_READS,
13
- CONSERVATIVE_READ_STRATEGY,
14
- KEEP_MEMORY_READS_DISCRETE,
15
- CONSERVATIVE_WRITE_STRATEGY,
16
- )
17
- from ....state_plugins.sim_action_object import _raw_ast
18
- from ....errors import SimMemoryError, SimAbstractMemoryError
19
- from .. import MemoryMixin
11
+ from angr.sim_options import AVOID_MULTIVALUED_READS, CONSERVATIVE_READ_STRATEGY, CONSERVATIVE_WRITE_STRATEGY
12
+ from angr.state_plugins.sim_action_object import _raw_ast
13
+ from angr.errors import SimMemoryError, SimAbstractMemoryError
14
+ from angr.storage.memory_mixins import MemoryMixin
20
15
  from .region_data import AddressWrapper, RegionMap
21
16
  from .abstract_address_descriptor import AbstractAddressDescriptor
22
17
 
23
18
  if TYPE_CHECKING:
24
- from ....sim_state import SimState
19
+ from angr.sim_state import SimState
25
20
 
26
21
 
27
22
  _l = logging.getLogger(name=__name__)
@@ -59,7 +54,7 @@ class RegionedMemoryMixin(MemoryMixin):
59
54
 
60
55
  if regioned_memory_cls is None:
61
56
  # delayed import
62
- from .. import RegionedMemory # pylint:disable=import-outside-toplevel
57
+ from angr.storage.memory_mixins import RegionedMemory # pylint:disable=import-outside-toplevel
63
58
 
64
59
  regioned_memory_cls = RegionedMemory
65
60
 
@@ -126,13 +121,7 @@ class RegionedMemoryMixin(MemoryMixin):
126
121
  **kwargs,
127
122
  )
128
123
 
129
- if val is None:
130
- if KEEP_MEMORY_READS_DISCRETE in self.state.options:
131
- val = self.state.solver.DSIS(to_conv=new_val, max_card=100000)
132
- else:
133
- val = new_val
134
- else:
135
- val = val.union(new_val)
124
+ val = new_val if val is None else val.union(new_val)
136
125
 
137
126
  if val is None:
138
127
  # address_wrappers is empty - we cannot concretize the address in static mode.
@@ -358,7 +347,6 @@ class RegionedMemoryMixin(MemoryMixin):
358
347
 
359
348
  :param addr:
360
349
  :param is_write:
361
- :param convert_to_valueset:
362
350
  :param target_region:
363
351
  :return:
364
352
  """
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
  import claripy
3
3
 
4
- from ..smart_find_mixin import SmartFindMixin
4
+ from angr.storage.memory_mixins.smart_find_mixin import SmartFindMixin
5
5
 
6
6
 
7
7
  class StaticFindMixin(SmartFindMixin): # pylint:disable=abstract-method
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
  import claripy
3
3
 
4
4
  from . import MemoryMixin
5
- from ...errors import SimMemoryError
5
+ from angr.errors import SimMemoryError
6
6
 
7
7
 
8
8
  class SimpleInterfaceMixin(MemoryMixin):
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
  from . import MemoryMixin
3
- from ... import sim_options as options
3
+ from angr import sim_options as options
4
4
 
5
5
 
6
6
  class SimplificationMixin(MemoryMixin):
@@ -4,7 +4,7 @@ import logging
4
4
  import claripy
5
5
 
6
6
  from . import MemoryMixin
7
- from ...errors import SimMemoryLimitError, SimMemoryError, SimUnsatError
7
+ from angr.errors import SimMemoryLimitError, SimMemoryError, SimUnsatError
8
8
 
9
9
  l = logging.getLogger(__name__)
10
10
 
@@ -136,7 +136,7 @@ class SizeConcretizationMixin(MemoryMixin):
136
136
  conc_sizes = [min(cs, self._max_symbolic_size) for cs in conc_sizes]
137
137
 
138
138
  if condition is None:
139
- condition = claripy.true
139
+ condition = claripy.true()
140
140
  for conc_size in conc_sizes:
141
141
  if conc_size == 0:
142
142
  continue
@@ -3,7 +3,7 @@ import claripy
3
3
 
4
4
  from . import MemoryMixin
5
5
  from .paged_memory.pages.ispo_mixin import ISPOMixin
6
- from ...errors import SimMergeError
6
+ from angr.errors import SimMergeError
7
7
 
8
8
 
9
9
  class SlottedMemoryMixin(MemoryMixin):
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
  import claripy
3
3
 
4
4
  from . import MemoryMixin
5
- from ...errors import SimSegfaultException
5
+ from angr.errors import SimSegfaultException
6
6
 
7
7
 
8
8
  class SmartFindMixin(MemoryMixin):
@@ -99,7 +99,7 @@ class SmartFindMixin(MemoryMixin):
99
99
  able to handle wide characters
100
100
  """
101
101
  if condition is None:
102
- condition = claripy.true
102
+ condition = claripy.true()
103
103
  chunk = None
104
104
  chunk_progress = chunk_size
105
105
 
@@ -139,7 +139,7 @@ class SmartFindMixin(MemoryMixin):
139
139
 
140
140
  def _find_condition(self, target_addr): # pylint:disable=unused-argument,no-self-use
141
141
  # TODO: fill this in in order to make each load have the correct condition associated with it
142
- return claripy.true
142
+ return claripy.true()
143
143
 
144
144
  def _find_compare(self, element, target):
145
145
  comparison = element == target
@@ -3,7 +3,7 @@ import claripy
3
3
  import logging
4
4
 
5
5
  from . import MemoryMixin
6
- from ... import sim_options as o
6
+ from angr import sim_options as o
7
7
 
8
8
  l = logging.getLogger(__name__)
9
9
 
@@ -24,4 +24,4 @@ class UnwrapperMixin(MemoryMixin):
24
24
  return super().copy_contents(_raw_ast(dst), _raw_ast(src), _raw_ast(size), _raw_ast(condition), **kwargs)
25
25
 
26
26
 
27
- from ...state_plugins.sim_action_object import _raw_ast
27
+ from angr.state_plugins.sim_action_object import _raw_ast