angr 9.2.118__py3-none-macosx_11_0_arm64.whl → 9.2.120__py3-none-macosx_11_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

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.dylib +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
@@ -3,30 +3,18 @@ import logging
3
3
 
4
4
  import claripy
5
5
 
6
- from ..plugin import SimStatePlugin
6
+ from angr.state_plugins.plugin import SimStatePlugin
7
7
  from .heap_freelist import SimHeapFreelist, Chunk
8
8
  from .utils import concretize
9
- from ...errors import SimHeapError, SimMergeError, SimSolverError
9
+ from angr.errors import SimHeapError, SimMergeError, SimSolverError
10
10
 
11
11
 
12
12
  l = logging.getLogger("angr.state_plugins.heap.heap_ptmalloc")
13
- sml = logging.getLogger("angr.state_plugins.symbolic_memory")
14
13
 
15
14
  CHUNK_FLAGS_MASK = 0x07
16
15
  CHUNK_P_MASK = 0x01
17
16
 
18
17
 
19
- # These are included as sometimes the heap will touch uninitialized locations, which normally causes a warning
20
- def silence_logger():
21
- level = sml.getEffectiveLevel()
22
- sml.setLevel("ERROR")
23
- return level
24
-
25
-
26
- def unsilence_logger(level):
27
- sml.setLevel(level)
28
-
29
-
30
18
  class PTChunk(Chunk):
31
19
  """
32
20
  A chunk, inspired by the implementation of chunks in ptmalloc. Provides a representation of a chunk via a view into
@@ -60,11 +48,9 @@ class PTChunk(Chunk):
60
48
  return chunk_size - 2 * self._chunk_size_t_size
61
49
 
62
50
  def _set_leading_size(self, size):
63
- level = silence_logger()
64
51
  chunk_flags = (
65
52
  self.state.memory.load(self.base + self._chunk_size_t_size, self._chunk_size_t_size) & CHUNK_FLAGS_MASK
66
53
  )
67
- unsilence_logger(level)
68
54
  self.state.memory.store(self.base + self._chunk_size_t_size, size | chunk_flags, size=self.state.arch.bytes)
69
55
 
70
56
  def _set_trailing_size(self, size):
@@ -98,9 +84,7 @@ class PTChunk(Chunk):
98
84
 
99
85
  :param is_free: if True, sets the previous chunk to be free; if False, sets it to be allocated
100
86
  """
101
- level = silence_logger()
102
87
  size_field = self.state.memory.load(self.base + self._chunk_size_t_size, self._chunk_size_t_size)
103
- unsilence_logger(level)
104
88
  if is_free:
105
89
  self.state.memory.store(
106
90
  self.base + self._chunk_size_t_size, size_field & ~CHUNK_P_MASK, size=self.state.arch.bytes
@@ -550,9 +534,7 @@ class SimHeapPTMalloc(SimHeapFreelist):
550
534
  return 0
551
535
  # Copy the old data over
552
536
  old_data_ptr = chunk.data_ptr()
553
- level = silence_logger()
554
537
  old_data = self.state.memory.load(old_data_ptr, size=old_size - 2 * self._chunk_size_t_size)
555
- unsilence_logger(level)
556
538
  self.state.memory.store(new_data_ptr, old_data)
557
539
  self.free(old_data_ptr) # Free the old chunk
558
540
  return new_data_ptr
@@ -1,5 +1,5 @@
1
1
  from __future__ import annotations
2
- from ...errors import SimSolverError
2
+ from angr.errors import SimSolverError
3
3
 
4
4
 
5
5
  def concretize(x, solver, sym_handler):
@@ -9,8 +9,8 @@ import claripy
9
9
  from claripy.ast.bv import BV
10
10
 
11
11
  from .plugin import SimStatePlugin
12
- from .. import sim_options
13
- from ..state_plugins.sim_action import SimActionObject
12
+ from angr import sim_options
13
+ from angr.state_plugins.sim_action import SimActionObject
14
14
 
15
15
  l = logging.getLogger(name=__name__)
16
16
 
@@ -3,9 +3,9 @@ import logging
3
3
 
4
4
  from archinfo.arch_soot import SootAddressDescriptor, SootAddressTerminator, SootClassDescriptor
5
5
 
6
- from ..engines.soot.method_dispatcher import resolve_method
7
- from ..engines import UberEngine
8
- from ..sim_state import SimState
6
+ from angr.engines.soot.method_dispatcher import resolve_method
7
+ from angr.engines import UberEngine
8
+ from angr.sim_state import SimState
9
9
  from .plugin import SimStatePlugin
10
10
 
11
11
  l = logging.getLogger("angr.state_plugins.javavm_classloader")
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
  import logging
3
3
 
4
- from ..sim_state import SimState
4
+ from angr.sim_state import SimState
5
5
  from .plugin import SimStatePlugin
6
6
 
7
7
  l = logging.getLogger("angr.state_plugins.jni_references")
@@ -3,9 +3,9 @@ import claripy
3
3
  import logging
4
4
 
5
5
  from .plugin import SimStatePlugin
6
- from ..errors import SimFastMemoryError
7
- from ..misc.ux import once
8
- from .. import sim_options as options
6
+ from angr.errors import SimFastMemoryError
7
+ from angr.misc.ux import once
8
+ from angr import sim_options as options
9
9
 
10
10
  l = logging.getLogger(__name__)
11
11
 
angr/state_plugins/log.py CHANGED
@@ -76,7 +76,7 @@ class SimStateLog(SimStatePlugin):
76
76
  # self.input_variables.clear()
77
77
 
78
78
 
79
- from ..errors import SimEventError
79
+ from angr.errors import SimEventError
80
80
  from .sim_event import SimEvent
81
81
  from .sim_action import SimAction, SimActionConstraint
82
82
 
@@ -1,10 +1,11 @@
1
1
  from __future__ import annotations
2
+
2
3
  from typing import cast
3
4
 
4
- import angr # For type annotations; pylint: disable=unused-import
5
5
  import logging
6
6
 
7
- from ..misc.ux import once
7
+ import angr
8
+ from angr.misc.ux import once
8
9
 
9
10
  l = logging.getLogger(name=__name__)
10
11
 
@@ -5,8 +5,8 @@ import claripy
5
5
 
6
6
  from .plugin import SimStatePlugin
7
7
  from .filesystem import SimMount, Stat
8
- from ..storage.file import SimFile, SimPacketsStream, Flags, SimFileDescriptor, SimFileDescriptorDuplex
9
- from .. import sim_options as options
8
+ from angr.storage.file import SimFile, SimPacketsStream, Flags, SimFileDescriptor, SimFileDescriptorDuplex
9
+ from angr import sim_options as options
10
10
 
11
11
  l = logging.getLogger(name=__name__)
12
12
 
@@ -700,4 +700,4 @@ from angr.sim_state import SimState
700
700
 
701
701
  SimState.register_default("posix", SimSystemPosix)
702
702
 
703
- from ..errors import SimPosixError, SimSolverError, SimMergeError, SimMemoryError
703
+ from angr.errors import SimPosixError, SimSolverError, SimMergeError, SimMemoryError
@@ -4,8 +4,8 @@ import logging
4
4
  import claripy
5
5
 
6
6
  from .plugin import SimStatePlugin
7
- from .. import sim_options as o
8
- from ..errors import AngrError
7
+ from angr import sim_options as o
8
+ from angr.errors import AngrError
9
9
 
10
10
 
11
11
  l = logging.getLogger(name=__name__)
@@ -55,8 +55,8 @@ class SimStatePreconstrainer(SimStatePlugin):
55
55
  """
56
56
  if not isinstance(value, claripy.ast.Base):
57
57
  value = claripy.BVV(value, len(variable))
58
- elif value.op != "BVV":
59
- raise ValueError("Passed a value to preconstrain that was not a BVV or a string")
58
+ elif value.op not in ["BVV", "FPV"]:
59
+ raise ValueError("Passed a value to preconstrain that was not a BVV or FPV or a string")
60
60
 
61
61
  if not variable.is_leaf():
62
62
  l.warning(
@@ -147,13 +147,13 @@ class SimStatePreconstrainer(SimStatePlugin):
147
147
  precon_cache_keys = set()
148
148
 
149
149
  for con in self.preconstraints:
150
- precon_cache_keys.add(con.cache_key)
150
+ precon_cache_keys.add(con.hash())
151
151
 
152
152
  # if we used the replacement solver we didn't add constraints we need to remove so keep all constraints
153
153
  if o.REPLACEMENT_SOLVER in self.state.options:
154
154
  new_constraints = self.state.solver.constraints
155
155
  else:
156
- new_constraints = [x for x in self.state.solver.constraints if x.cache_key not in precon_cache_keys]
156
+ new_constraints = [x for x in self.state.solver.constraints if x.hash() not in precon_cache_keys]
157
157
 
158
158
  if self.state.has_plugin("zen_plugin"):
159
159
  new_constraints = self.state.get_plugin("zen_plugin").filter_constraints(new_constraints)
@@ -30,7 +30,7 @@ class SimStateScratch(SimStatePlugin):
30
30
 
31
31
  # information on exits *from* this state
32
32
  self.jumpkind = None
33
- self.guard = claripy.true
33
+ self.guard = claripy.true()
34
34
  self.target = None
35
35
  self.source = None
36
36
  self.exit_stmt_idx = None
@@ -167,10 +167,10 @@ class SimStateScratch(SimStatePlugin):
167
167
 
168
168
  # pylint:disable=wrong-import-position
169
169
  from .sim_action import SimActionObject, SimActionData
170
- from ..errors import SimValueError, SimMissingTempError
171
- from .. import sim_options as o
170
+ from angr.errors import SimValueError, SimMissingTempError
171
+ from angr import sim_options as o
172
172
  from .inspect import BP_AFTER, BP_BEFORE
173
173
 
174
- from ..sim_state import SimState
174
+ from angr.sim_state import SimState
175
175
 
176
176
  SimState.register_default("scratch", SimStateScratch)
@@ -9,7 +9,7 @@ import claripy
9
9
  from angr import sim_options as o
10
10
  from angr.errors import SimActionError
11
11
  from .sim_action import SimActionData, SimActionOperation
12
- from ..sim_state import SimState
12
+ from angr.sim_state import SimState
13
13
 
14
14
  if typing.TYPE_CHECKING:
15
15
  from claripy.annotation import Annotation
@@ -95,7 +95,7 @@ def error_converter(f):
95
95
  return f(*args, **kwargs)
96
96
  except claripy.UnsatError as e:
97
97
  raise SimUnsatError("Got an unsat result") from e
98
- except claripy.ClaripyFrontendError as e:
98
+ except claripy.ClaripyError as e:
99
99
  raise SimSolverModeError("Claripy threw an error") from e
100
100
 
101
101
  return wrapped_f
@@ -346,23 +346,19 @@ class SimSolver(SimStatePlugin):
346
346
  """
347
347
  if o.SYMBOLIC_INITIAL_VALUES in self.state.options:
348
348
  # Return a symbolic value
349
- if o.ABSTRACT_MEMORY in self.state.options:
350
- l.debug("Creating new top StridedInterval")
351
- r = claripy.TSI(bits=bits, name=name, uninitialized=uninitialized, **kwargs)
352
- else:
353
- l.debug("Creating new unconstrained BV named %s", name)
354
- r = self.BVS(
355
- name,
356
- bits,
357
- uninitialized=uninitialized,
358
- key=key,
359
- eternal=eternal,
360
- inspect=inspect,
361
- events=events,
362
- **kwargs,
363
- )
364
- if uc_alloc_depth is not None:
365
- self.state.uc_manager.set_alloc_depth(r, uc_alloc_depth)
349
+ l.debug("Creating new unconstrained BV named %s", name)
350
+ r = self.BVS(
351
+ name,
352
+ bits,
353
+ uninitialized=uninitialized,
354
+ key=key,
355
+ eternal=eternal,
356
+ inspect=inspect,
357
+ events=events,
358
+ **kwargs,
359
+ )
360
+ if uc_alloc_depth is not None:
361
+ self.state.uc_manager.set_alloc_depth(r, uc_alloc_depth)
366
362
 
367
363
  return r
368
364
  # Return a default value, aka. 0
@@ -416,7 +412,7 @@ class SimSolver(SimStatePlugin):
416
412
  or min != r.args[1]
417
413
  or max != r.args[2]
418
414
  or stride != r.args[3]
419
- or uninitialized != r.args[4]
415
+ or uninitialized != r.uninitialized
420
416
  or bool(explicit_name) ^ (r.args[0] == name)
421
417
  ):
422
418
  l.warning("Variable %s being retrieved with different settings than it was tracked with", name)
@@ -4,11 +4,10 @@ import claripy
4
4
  import struct
5
5
 
6
6
  from .plugin import SimStatePlugin
7
- from ..storage.memory_mixins import PagedMemoryMixin
7
+ from angr.storage.memory_mixins import PagedMemoryMixin
8
8
 
9
9
 
10
10
  l = logging.getLogger(name=__name__)
11
- l.setLevel("DEBUG")
12
11
 
13
12
 
14
13
  def _mem_write_cb(s):
@@ -286,6 +285,6 @@ class SimSymbolizer(SimStatePlugin): # pylint:disable=abstract-method
286
285
  return sc
287
286
 
288
287
 
289
- from ..sim_state import SimState
288
+ from angr.sim_state import SimState
290
289
 
291
290
  SimState.register_default("symbolizer", SimSymbolizer)
@@ -219,7 +219,7 @@ def end_info_hook(state):
219
219
  )
220
220
  chall_resp_plugin.str_to_int_pairs.append((input_bvs, new_var))
221
221
  if pending_info.allows_negative:
222
- chall_resp_plugin.allows_negative_bvs.add(input_bvs.cache_key)
222
+ chall_resp_plugin.allows_negative_bvs.add(input_bvs.hash())
223
223
  chall_resp_plugin.replacement_pairs.append((input_bvs, input_val))
224
224
  elif pending_info.get_type() == "IntToStr":
225
225
  # result constraint
@@ -459,11 +459,11 @@ class ChallRespInfo(angr.state_plugins.SimStatePlugin):
459
459
  base = int(int_var_name.split("_")[1], 10)
460
460
  original_len = str_var.size() // 8
461
461
  abs_max = (1 << int_var.size()) - 1
462
- if str_var.cache_key in self.allows_negative_bvs:
462
+ if str_var.hash() in self.allows_negative_bvs:
463
463
  abs_max = (1 << (int_var.size() - 1)) - 1
464
464
  max_val = base ** (original_len) - 1
465
465
  min_val = 0
466
- if str_var.cache_key in self.allows_negative_bvs and original_len > 1:
466
+ if str_var.hash() in self.allows_negative_bvs and original_len > 1:
467
467
  min_val = -(base ** (original_len - 1) - 1)
468
468
 
469
469
  max_val = min(max_val, abs_max)
@@ -569,10 +569,10 @@ def zen_hook(state, expr):
569
569
  if len(flag_args) > 1:
570
570
  zen_plugin = state.get_plugin("zen_plugin")
571
571
 
572
- if expr.cache_key in zen_plugin.replacements:
572
+ if expr.hash() in zen_plugin.replacements:
573
573
  # we already have the replacement
574
574
  concrete_val = state.solver.eval(expr)
575
- replacement = zen_plugin.replacements[expr.cache_key]
575
+ replacement = zen_plugin.replacements[expr.hash()]
576
576
  state.preconstrainer.preconstrain(concrete_val, replacement)
577
577
  zen_plugin.preconstraints.append(replacement == concrete_val)
578
578
  else:
@@ -603,7 +603,7 @@ def zen_hook(state, expr):
603
603
  zen_plugin.state.preconstrainer.preconstraints.append(constraint)
604
604
  zen_plugin.preconstraints.append(replacement == concrete_val)
605
605
 
606
- zen_plugin.replacements[expr.cache_key] = replacement
606
+ zen_plugin.replacements[expr.hash()] = replacement
607
607
 
608
608
  return replacement
609
609
  return None
@@ -701,11 +701,11 @@ class ZenPlugin(angr.state_plugins.SimStatePlugin):
701
701
  return contained_bytes
702
702
 
703
703
  def filter_constraints(self, constraints):
704
- zen_cache_keys = {x.cache_key for x in self.zen_constraints}
704
+ zen_cache_keys = {x.hash() for x in self.zen_constraints}
705
705
  new_cons = []
706
706
  for con in constraints:
707
707
  if (
708
- con.cache_key in zen_cache_keys
708
+ con.hash() in zen_cache_keys
709
709
  or not all(v.startswith(("cgc-flag", "random")) for v in con.variables)
710
710
  or len(con.variables) == 0
711
711
  ):
@@ -4,7 +4,7 @@ import logging
4
4
  import claripy
5
5
 
6
6
  from .plugin import SimStatePlugin
7
- from ..errors import SimUCManagerAllocationError
7
+ from angr.errors import SimUCManagerAllocationError
8
8
 
9
9
  l = logging.getLogger(name=__name__)
10
10
 
@@ -17,10 +17,10 @@ import pyvex
17
17
  from angr.engines.vex.claripy import ccall
18
18
  from angr.sim_state import SimState
19
19
 
20
- from .. import sim_options as options
21
- from ..engines.vex.claripy.irop import operations as irop_ops
22
- from ..errors import SimMemoryError, SimSegfaultError, SimUnicornError, SimUnicornUnsupport, SimValueError
23
- from ..misc.testing import is_testing
20
+ from angr import sim_options as options
21
+ from angr.engines.vex.claripy.irop import operations as irop_ops
22
+ from angr.errors import SimMemoryError, SimSegfaultError, SimUnicornError, SimUnicornUnsupport, SimValueError
23
+ from angr.misc.testing import is_testing
24
24
  from .plugin import SimStatePlugin
25
25
 
26
26
  l = logging.getLogger(name=__name__)
@@ -331,7 +331,7 @@ class StructMode:
331
331
  self.__getattr__(k).store(v)
332
332
 
333
333
 
334
- from ..sim_type import ALL_TYPES, SimTypeFixedSizeArray, SimTypePointer
334
+ from angr.sim_type import ALL_TYPES, SimTypeFixedSizeArray, SimTypePointer
335
335
 
336
336
  SimMemView.types = ALL_TYPES # identity purposefully here
337
337
 
angr/storage/__init__.py CHANGED
@@ -1,10 +1,16 @@
1
- # misc
2
1
  from __future__ import annotations
3
2
 
4
3
  DUMMY_SYMBOLIC_READ_VALUE = 0xC0DEB4BE
5
4
 
6
- # imports
7
-
8
5
  from .file import SimFile
9
6
  from .memory_object import SimMemoryObject
10
7
  from .memory_mixins import MemoryMixin, DefaultMemory
8
+
9
+
10
+ __all__ = (
11
+ "DUMMY_SYMBOLIC_READ_VALUE",
12
+ "SimFile",
13
+ "SimMemoryObject",
14
+ "MemoryMixin",
15
+ "DefaultMemory",
16
+ )
angr/storage/file.py CHANGED
@@ -5,9 +5,9 @@ import itertools
5
5
  import claripy
6
6
 
7
7
  from .memory_mixins import DefaultMemory
8
- from ..state_plugins.plugin import SimStatePlugin
9
- from ..state_plugins.sim_action_object import SimActionObject
10
- from .. import sim_options
8
+ from angr.state_plugins.plugin import SimStatePlugin
9
+ from angr.state_plugins.sim_action_object import SimActionObject
10
+ from angr import sim_options
11
11
 
12
12
  l = logging.getLogger(name=__name__)
13
13
 
@@ -209,7 +209,7 @@ class SimFile(SimFileBase, DefaultMemory): # TODO: pick a better base class omg
209
209
  content = claripy.BVV(content.encode())
210
210
  elif content is None:
211
211
  pass
212
- elif isinstance(content, claripy.Bits):
212
+ elif isinstance(content, claripy.ast.Bits):
213
213
  if concrete is None and not content.symbolic:
214
214
  concrete = True
215
215
  else:
@@ -322,7 +322,7 @@ class SimFile(SimFileBase, DefaultMemory): # TODO: pick a better base class omg
322
322
 
323
323
  data = _deps_unpack(data)[0]
324
324
  if size is None:
325
- size = len(data) // self.state.arch.byte_width if isinstance(data, claripy.Bits) else len(data)
325
+ size = len(data) // self.state.arch.byte_width if isinstance(data, claripy.ast.Bits) else len(data)
326
326
  # \(_^^)/
327
327
  self.store(pos, data, size=size)
328
328
  new_end = _deps_unpack(pos + size)[0] # decline to store SAO
@@ -442,7 +442,7 @@ class SimPackets(SimFileBase):
442
442
  if type(x) is tuple
443
443
  else (
444
444
  (x, len(x) // 8)
445
- if isinstance(x, claripy.Bits)
445
+ if isinstance(x, claripy.ast.Bits)
446
446
  else (
447
447
  (x.ast, len(x) // 8)
448
448
  if isinstance(x, SimActionObject)
@@ -593,7 +593,7 @@ class SimPackets(SimFileBase):
593
593
  if type(data) is bytes:
594
594
  data = claripy.BVV(data)
595
595
  if size is None:
596
- size = len(data) // self.state.arch.byte_width if isinstance(data, claripy.Bits) else len(data)
596
+ size = len(data) // self.state.arch.byte_width if isinstance(data, claripy.ast.Bits) else len(data)
597
597
  if type(size) is int:
598
598
  size = claripy.BVV(size, self.state.arch.bits)
599
599
 
@@ -903,7 +903,7 @@ class SimFileDescriptor(SimFileDescriptorBase):
903
903
 
904
904
  data = _deps_unpack(data)[0]
905
905
  if size is None:
906
- size = len(data) // self.state.arch.byte_width if isinstance(data, claripy.Bits) else len(data)
906
+ size = len(data) // self.state.arch.byte_width if isinstance(data, claripy.ast.Bits) else len(data)
907
907
 
908
908
  size = self._prep_write(size)
909
909
  self._pos = self.file.write(self._pos, data, size)
@@ -911,7 +911,7 @@ class SimFileDescriptor(SimFileDescriptorBase):
911
911
 
912
912
  def seek(self, offset, whence="start"):
913
913
  if not self.file.seekable:
914
- return claripy.false
914
+ return claripy.false()
915
915
 
916
916
  if type(offset) is int:
917
917
  offset = claripy.BVV(offset, self.state.arch.bits)
@@ -929,9 +929,9 @@ class SimFileDescriptor(SimFileDescriptorBase):
929
929
 
930
930
  def eof(self):
931
931
  if not self.file.seekable:
932
- return claripy.false
932
+ return claripy.false()
933
933
  if not getattr(self.file, "has_end", True):
934
- return claripy.false
934
+ return claripy.false()
935
935
  return self._pos == self.file.size
936
936
 
937
937
  def tell(self):
@@ -1034,7 +1034,7 @@ class SimFileDescriptorDuplex(SimFileDescriptorBase):
1034
1034
  def write_data(self, data, size=None, **kwargs):
1035
1035
  data = _deps_unpack(data)[0]
1036
1036
  if size is None:
1037
- size = len(data) // self.state.arch.byte_width if isinstance(data, claripy.Bits) else len(data)
1037
+ size = len(data) // self.state.arch.byte_width if isinstance(data, claripy.ast.Bits) else len(data)
1038
1038
 
1039
1039
  size = self._prep_write(size)
1040
1040
  self._write_pos = self._write_file.write(self._write_pos, data, size)
@@ -1048,16 +1048,16 @@ class SimFileDescriptorDuplex(SimFileDescriptorBase):
1048
1048
  def eof(self):
1049
1049
  # the thing that makes the most sense is for this to refer to the read eof status...
1050
1050
  if not self._read_file.seekable:
1051
- return claripy.false
1051
+ return claripy.false()
1052
1052
  if not getattr(self._read_file, "has_end", True):
1053
- return claripy.false
1053
+ return claripy.false()
1054
1054
  return self._read_pos == self._read_file.size
1055
1055
 
1056
1056
  def tell(self):
1057
1057
  return None
1058
1058
 
1059
1059
  def seek(self, offset, whence="start"):
1060
- return claripy.false
1060
+ return claripy.false()
1061
1061
 
1062
1062
  def size(self):
1063
1063
  return None
@@ -1209,4 +1209,4 @@ class SimPacketsSlots(SimFileBase):
1209
1209
  raise SimMergeError("Widening the filesystem is unsupported")
1210
1210
 
1211
1211
 
1212
- from ..errors import SimMergeError, SimFileError, SimSolverError
1212
+ from angr.errors import SimMergeError, SimFileError, SimSolverError
@@ -1,12 +1,12 @@
1
1
  # pylint:disable=abstract-method,wrong-import-position,unused-argument,missing-class-docstring,arguments-differ
2
2
  from __future__ import annotations
3
- from typing import Tuple, Dict, Any, Optional
3
+ from typing import Any
4
4
  from collections.abc import Iterable
5
5
 
6
6
  import claripy
7
7
 
8
- from ...state_plugins.plugin import SimStatePlugin
9
- from ...errors import SimMemoryError
8
+ from angr.state_plugins.plugin import SimStatePlugin
9
+ from angr.errors import SimMemoryError
10
10
 
11
11
 
12
12
  class MemoryMixin(SimStatePlugin):
@@ -188,7 +188,19 @@ from .paged_memory.paged_memory_mixin import (
188
188
  from .paged_memory.privileged_mixin import PrivilegedPagingMixin
189
189
  from .paged_memory.stack_allocation_mixin import StackAllocationMixin
190
190
  from .paged_memory.paged_memory_multivalue_mixin import PagedMemoryMultiValueMixin
191
- from .paged_memory.pages import *
191
+ from .paged_memory.pages import (
192
+ CooperationBase,
193
+ MemoryObjectMixin,
194
+ ISPOMixin,
195
+ RefcountMixin,
196
+ PermissionsMixin,
197
+ HistoryTrackingMixin,
198
+ PageBase,
199
+ PageType,
200
+ ListPage,
201
+ MVListPage,
202
+ UltraPage,
203
+ )
192
204
 
193
205
  from .slotted_memory import SlottedMemoryMixin
194
206
  from .regioned_memory import (
@@ -199,8 +211,8 @@ from .regioned_memory import (
199
211
  MemoryRegionMetaMixin,
200
212
  RegionedAddressConcretizationMixin,
201
213
  )
202
- from .keyvalue_memory import KeyValueMemoryMixin
203
- from .javavm_memory import JavaVmMemoryMixin
214
+ from .keyvalue_memory_mixin import KeyValueMemoryMixin
215
+ from .javavm_memory_mixin import JavaVmMemoryMixin
204
216
 
205
217
 
206
218
  class DefaultMemory(
@@ -388,3 +400,73 @@ SimState.register_default("fast_memory", FastMemory)
388
400
  SimState.register_default("abs_memory", AbstractMemory)
389
401
  SimState.register_default("keyvalue_memory", KeyValueMemory)
390
402
  SimState.register_default("javavm_memory", JavaVmMemory)
403
+
404
+
405
+ __all__ = (
406
+ "MemoryMixin",
407
+ "ActionsMixinHigh",
408
+ "ActionsMixinLow",
409
+ "AddressConcretizationMixin",
410
+ "DataNormalizationMixin",
411
+ "InspectMixinHigh",
412
+ "ConditionalMixin",
413
+ "ConvenientMappingsMixin",
414
+ "DefaultFillerMixin",
415
+ "SpecialFillerMixin",
416
+ "ExplicitFillerMixin",
417
+ "DirtyAddrsMixin",
418
+ "HexDumperMixin",
419
+ "LabelMergerMixin",
420
+ "MultiValueMergerMixin",
421
+ "NameResolutionMixin",
422
+ "SimplificationMixin",
423
+ "SimpleInterfaceMixin",
424
+ "SizeNormalizationMixin",
425
+ "SizeConcretizationMixin",
426
+ "SmartFindMixin",
427
+ "SymbolicMergerMixin",
428
+ "TopMergerMixin",
429
+ "UnderconstrainedMixin",
430
+ "UnwrapperMixin",
431
+ "ClemoryBackerMixin",
432
+ "ConcreteBackerMixin",
433
+ "DictBackerMixin",
434
+ "PagedMemoryMixin",
435
+ "ListPagesMixin",
436
+ "UltraPagesMixin",
437
+ "ListPagesWithLabelsMixin",
438
+ "MVListPagesMixin",
439
+ "MVListPagesWithLabelsMixin",
440
+ "PrivilegedPagingMixin",
441
+ "StackAllocationMixin",
442
+ "PagedMemoryMultiValueMixin",
443
+ "CooperationBase",
444
+ "MemoryObjectMixin",
445
+ "ISPOMixin",
446
+ "RefcountMixin",
447
+ "PermissionsMixin",
448
+ "HistoryTrackingMixin",
449
+ "PageBase",
450
+ "PageType",
451
+ "ListPage",
452
+ "MVListPage",
453
+ "UltraPage",
454
+ "SlottedMemoryMixin",
455
+ "RegionedMemoryMixin",
456
+ "RegionCategoryMixin",
457
+ "StaticFindMixin",
458
+ "AbstractMergerMixin",
459
+ "MemoryRegionMetaMixin",
460
+ "RegionedAddressConcretizationMixin",
461
+ "KeyValueMemoryMixin",
462
+ "JavaVmMemoryMixin",
463
+ "DefaultMemory",
464
+ "DefaultListPagesMemory",
465
+ "FastMemory",
466
+ "AbstractMemory",
467
+ "RegionedMemory",
468
+ "LabeledMemory",
469
+ "MultiValuedMemory",
470
+ "KeyValueMemory",
471
+ "JavaVmMemory",
472
+ )