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

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

Potentially problematic release.


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

Files changed (838) 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/misc/__init__.py +12 -2
  300. angr/misc/loggers.py +2 -2
  301. angr/misc/telemetry.py +54 -0
  302. angr/procedures/__init__.py +9 -0
  303. angr/procedures/cgc/receive.py +2 -2
  304. angr/procedures/cgc/transmit.py +1 -1
  305. angr/procedures/definitions/__init__.py +8 -8
  306. angr/procedures/definitions/cgc.py +1 -1
  307. angr/procedures/definitions/glibc.py +2 -15
  308. angr/procedures/definitions/gnulib.py +2 -6
  309. angr/procedures/definitions/libstdcpp.py +2 -2
  310. angr/procedures/definitions/linux_kernel.py +2 -3
  311. angr/procedures/definitions/linux_loader.py +1 -1
  312. angr/procedures/definitions/msvcr.py +2 -2
  313. angr/procedures/definitions/wdk_api-ms-win-dx-d3dkmt-l1-1-4.py +3 -18
  314. angr/procedures/definitions/wdk_api-ms-win-dx-d3dkmt-l1-1-6.py +3 -18
  315. angr/procedures/definitions/wdk_clfs.py +3 -18
  316. angr/procedures/definitions/wdk_fltmgr.py +3 -18
  317. angr/procedures/definitions/wdk_fwpkclnt.py +3 -18
  318. angr/procedures/definitions/wdk_fwpuclnt.py +3 -18
  319. angr/procedures/definitions/wdk_gdi32.py +3 -18
  320. angr/procedures/definitions/wdk_hal.py +3 -18
  321. angr/procedures/definitions/wdk_ksecdd.py +3 -18
  322. angr/procedures/definitions/wdk_ndis.py +3 -18
  323. angr/procedures/definitions/wdk_ntoskrnl.py +3 -18
  324. angr/procedures/definitions/wdk_offreg.py +3 -18
  325. angr/procedures/definitions/wdk_pshed.py +3 -18
  326. angr/procedures/definitions/wdk_secur32.py +3 -18
  327. angr/procedures/definitions/wdk_vhfum.py +3 -18
  328. angr/procedures/definitions/win32_aclui.py +3 -18
  329. angr/procedures/definitions/win32_activeds.py +3 -18
  330. angr/procedures/definitions/win32_advapi32.py +3 -18
  331. angr/procedures/definitions/win32_advpack.py +3 -18
  332. angr/procedures/definitions/win32_amsi.py +3 -18
  333. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-1.py +3 -18
  334. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-3.py +3 -18
  335. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-6.py +3 -18
  336. angr/procedures/definitions/win32_api-ms-win-core-apiquery-l2-1-0.py +3 -18
  337. angr/procedures/definitions/win32_api-ms-win-core-backgroundtask-l1-1-0.py +3 -18
  338. angr/procedures/definitions/win32_api-ms-win-core-comm-l1-1-1.py +3 -18
  339. angr/procedures/definitions/win32_api-ms-win-core-comm-l1-1-2.py +3 -18
  340. angr/procedures/definitions/win32_api-ms-win-core-enclave-l1-1-1.py +3 -18
  341. angr/procedures/definitions/win32_api-ms-win-core-errorhandling-l1-1-3.py +3 -18
  342. angr/procedures/definitions/win32_api-ms-win-core-featurestaging-l1-1-0.py +3 -18
  343. angr/procedures/definitions/win32_api-ms-win-core-featurestaging-l1-1-1.py +3 -18
  344. angr/procedures/definitions/win32_api-ms-win-core-file-fromapp-l1-1-0.py +3 -18
  345. angr/procedures/definitions/win32_api-ms-win-core-handle-l1-1-0.py +3 -18
  346. angr/procedures/definitions/win32_api-ms-win-core-ioring-l1-1-0.py +3 -18
  347. angr/procedures/definitions/win32_api-ms-win-core-marshal-l1-1-0.py +3 -18
  348. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-3.py +3 -18
  349. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-4.py +3 -18
  350. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-5.py +3 -18
  351. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-6.py +3 -18
  352. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-7.py +3 -18
  353. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-8.py +3 -18
  354. angr/procedures/definitions/win32_api-ms-win-core-path-l1-1-0.py +3 -18
  355. angr/procedures/definitions/win32_api-ms-win-core-psm-appnotify-l1-1-0.py +3 -18
  356. angr/procedures/definitions/win32_api-ms-win-core-psm-appnotify-l1-1-1.py +3 -18
  357. angr/procedures/definitions/win32_api-ms-win-core-realtime-l1-1-1.py +3 -18
  358. angr/procedures/definitions/win32_api-ms-win-core-realtime-l1-1-2.py +3 -18
  359. angr/procedures/definitions/win32_api-ms-win-core-slapi-l1-1-0.py +3 -18
  360. angr/procedures/definitions/win32_api-ms-win-core-state-helpers-l1-1-0.py +3 -18
  361. angr/procedures/definitions/win32_api-ms-win-core-synch-l1-2-0.py +3 -18
  362. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-0.py +3 -18
  363. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-3.py +3 -18
  364. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-4.py +3 -18
  365. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-6.py +3 -18
  366. angr/procedures/definitions/win32_api-ms-win-core-util-l1-1-1.py +3 -18
  367. angr/procedures/definitions/win32_api-ms-win-core-winrt-error-l1-1-0.py +3 -3
  368. angr/procedures/definitions/win32_api-ms-win-core-winrt-error-l1-1-1.py +3 -3
  369. angr/procedures/definitions/win32_api-ms-win-core-winrt-l1-1-0.py +3 -3
  370. angr/procedures/definitions/win32_api-ms-win-core-winrt-registration-l1-1-0.py +3 -3
  371. angr/procedures/definitions/win32_api-ms-win-core-winrt-robuffer-l1-1-0.py +3 -3
  372. angr/procedures/definitions/win32_api-ms-win-core-winrt-roparameterizediid-l1-1-0.py +3 -3
  373. angr/procedures/definitions/win32_api-ms-win-core-winrt-string-l1-1-0.py +3 -3
  374. angr/procedures/definitions/win32_api-ms-win-core-winrt-string-l1-1-1.py +3 -3
  375. angr/procedures/definitions/win32_api-ms-win-core-wow64-l1-1-1.py +3 -18
  376. angr/procedures/definitions/win32_api-ms-win-devices-query-l1-1-0.py +3 -18
  377. angr/procedures/definitions/win32_api-ms-win-devices-query-l1-1-1.py +3 -18
  378. angr/procedures/definitions/win32_api-ms-win-dx-d3dkmt-l1-1-0.py +3 -18
  379. angr/procedures/definitions/win32_api-ms-win-gaming-deviceinformation-l1-1-0.py +3 -18
  380. angr/procedures/definitions/win32_api-ms-win-gaming-expandedresources-l1-1-0.py +3 -18
  381. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-0.py +3 -18
  382. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-1.py +3 -18
  383. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-2.py +3 -18
  384. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-3.py +3 -18
  385. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-4.py +3 -18
  386. angr/procedures/definitions/win32_api-ms-win-mm-misc-l1-1-1.py +3 -18
  387. angr/procedures/definitions/win32_api-ms-win-net-isolation-l1-1-0.py +3 -18
  388. angr/procedures/definitions/win32_api-ms-win-security-base-l1-2-2.py +3 -18
  389. angr/procedures/definitions/win32_api-ms-win-security-isolatedcontainer-l1-1-0.py +3 -18
  390. angr/procedures/definitions/win32_api-ms-win-security-isolatedcontainer-l1-1-1.py +3 -18
  391. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-3.py +3 -18
  392. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-4.py +3 -18
  393. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-5.py +3 -18
  394. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-0.py +3 -18
  395. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-1.py +3 -18
  396. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-2.py +3 -18
  397. angr/procedures/definitions/win32_api-ms-win-shcore-stream-winrt-l1-1-0.py +3 -3
  398. angr/procedures/definitions/win32_api-ms-win-wsl-api-l1-1-0.py +3 -18
  399. angr/procedures/definitions/win32_apphelp.py +3 -18
  400. angr/procedures/definitions/win32_authz.py +3 -18
  401. angr/procedures/definitions/win32_avicap32.py +3 -18
  402. angr/procedures/definitions/win32_avifil32.py +3 -18
  403. angr/procedures/definitions/win32_avrt.py +3 -18
  404. angr/procedures/definitions/win32_bcp47mrm.py +3 -18
  405. angr/procedures/definitions/win32_bcrypt.py +3 -18
  406. angr/procedures/definitions/win32_bcryptprimitives.py +3 -18
  407. angr/procedures/definitions/win32_bluetoothapis.py +3 -18
  408. angr/procedures/definitions/win32_bthprops.py +3 -3
  409. angr/procedures/definitions/win32_bthprops_cpl.py +3 -18
  410. angr/procedures/definitions/win32_cabinet.py +3 -18
  411. angr/procedures/definitions/win32_certadm.py +3 -18
  412. angr/procedures/definitions/win32_certpoleng.py +3 -18
  413. angr/procedures/definitions/win32_cfgmgr32.py +3 -18
  414. angr/procedures/definitions/win32_chakra.py +3 -18
  415. angr/procedures/definitions/win32_cldapi.py +3 -18
  416. angr/procedures/definitions/win32_clfsw32.py +3 -18
  417. angr/procedures/definitions/win32_clusapi.py +3 -18
  418. angr/procedures/definitions/win32_comctl32.py +3 -18
  419. angr/procedures/definitions/win32_comdlg32.py +3 -18
  420. angr/procedures/definitions/win32_compstui.py +3 -18
  421. angr/procedures/definitions/win32_computecore.py +3 -18
  422. angr/procedures/definitions/win32_computenetwork.py +3 -18
  423. angr/procedures/definitions/win32_computestorage.py +3 -18
  424. angr/procedures/definitions/win32_comsvcs.py +3 -18
  425. angr/procedures/definitions/win32_coremessaging.py +3 -3
  426. angr/procedures/definitions/win32_credui.py +3 -18
  427. angr/procedures/definitions/win32_crypt32.py +3 -18
  428. angr/procedures/definitions/win32_cryptnet.py +3 -18
  429. angr/procedures/definitions/win32_cryptui.py +3 -18
  430. angr/procedures/definitions/win32_cryptxml.py +3 -18
  431. angr/procedures/definitions/win32_cscapi.py +3 -18
  432. angr/procedures/definitions/win32_d2d1.py +3 -18
  433. angr/procedures/definitions/win32_d3d10.py +3 -18
  434. angr/procedures/definitions/win32_d3d10_1.py +3 -18
  435. angr/procedures/definitions/win32_d3d11.py +3 -18
  436. angr/procedures/definitions/win32_d3d12.py +3 -18
  437. angr/procedures/definitions/win32_d3d9.py +3 -18
  438. angr/procedures/definitions/win32_d3dcompiler_47.py +3 -18
  439. angr/procedures/definitions/win32_d3dcsx.py +3 -18
  440. angr/procedures/definitions/win32_davclnt.py +3 -18
  441. angr/procedures/definitions/win32_dbgeng.py +3 -18
  442. angr/procedures/definitions/win32_dbghelp.py +3 -18
  443. angr/procedures/definitions/win32_dbgmodel.py +3 -18
  444. angr/procedures/definitions/win32_dciman32.py +3 -18
  445. angr/procedures/definitions/win32_dcomp.py +3 -18
  446. angr/procedures/definitions/win32_ddraw.py +3 -18
  447. angr/procedures/definitions/win32_deviceaccess.py +3 -18
  448. angr/procedures/definitions/win32_dflayout.py +3 -18
  449. angr/procedures/definitions/win32_dhcpcsvc.py +3 -18
  450. angr/procedures/definitions/win32_dhcpcsvc6.py +3 -18
  451. angr/procedures/definitions/win32_dhcpsapi.py +3 -18
  452. angr/procedures/definitions/win32_diagnosticdataquery.py +3 -18
  453. angr/procedures/definitions/win32_dinput8.py +3 -18
  454. angr/procedures/definitions/win32_directml.py +3 -18
  455. angr/procedures/definitions/win32_dmprocessxmlfiltered.py +3 -18
  456. angr/procedures/definitions/win32_dnsapi.py +3 -18
  457. angr/procedures/definitions/win32_drt.py +3 -18
  458. angr/procedures/definitions/win32_drtprov.py +3 -18
  459. angr/procedures/definitions/win32_drttransport.py +3 -18
  460. angr/procedures/definitions/win32_dsound.py +3 -18
  461. angr/procedures/definitions/win32_dsparse.py +3 -18
  462. angr/procedures/definitions/win32_dsprop.py +3 -18
  463. angr/procedures/definitions/win32_dssec.py +3 -18
  464. angr/procedures/definitions/win32_dsuiext.py +3 -18
  465. angr/procedures/definitions/win32_dwmapi.py +3 -18
  466. angr/procedures/definitions/win32_dwrite.py +3 -18
  467. angr/procedures/definitions/win32_dxcompiler.py +3 -18
  468. angr/procedures/definitions/win32_dxcore.py +3 -18
  469. angr/procedures/definitions/win32_dxgi.py +3 -18
  470. angr/procedures/definitions/win32_dxva2.py +3 -18
  471. angr/procedures/definitions/win32_eappcfg.py +3 -18
  472. angr/procedures/definitions/win32_eappprxy.py +3 -18
  473. angr/procedures/definitions/win32_efswrt.py +3 -18
  474. angr/procedures/definitions/win32_elscore.py +3 -18
  475. angr/procedures/definitions/win32_esent.py +3 -18
  476. angr/procedures/definitions/win32_evr.py +3 -18
  477. angr/procedures/definitions/win32_faultrep.py +3 -18
  478. angr/procedures/definitions/win32_fhsvcctl.py +3 -18
  479. angr/procedures/definitions/win32_firewallapi.py +3 -18
  480. angr/procedures/definitions/win32_fltlib.py +3 -18
  481. angr/procedures/definitions/win32_fontsub.py +3 -18
  482. angr/procedures/definitions/win32_forceinline.py +3 -18
  483. angr/procedures/definitions/win32_fwpuclnt.py +3 -18
  484. angr/procedures/definitions/win32_fxsutility.py +3 -18
  485. angr/procedures/definitions/win32_gdi32.py +3 -18
  486. angr/procedures/definitions/win32_gdiplus.py +3 -18
  487. angr/procedures/definitions/win32_glu32.py +3 -18
  488. angr/procedures/definitions/win32_gpedit.py +3 -18
  489. angr/procedures/definitions/win32_hhctrl_ocx.py +3 -18
  490. angr/procedures/definitions/win32_hid.py +3 -18
  491. angr/procedures/definitions/win32_hlink.py +3 -18
  492. angr/procedures/definitions/win32_hrtfapo.py +3 -18
  493. angr/procedures/definitions/win32_httpapi.py +3 -18
  494. angr/procedures/definitions/win32_icm32.py +3 -18
  495. angr/procedures/definitions/win32_icmui.py +3 -18
  496. angr/procedures/definitions/win32_icu.py +3 -18
  497. angr/procedures/definitions/win32_ieframe.py +3 -18
  498. angr/procedures/definitions/win32_imagehlp.py +3 -18
  499. angr/procedures/definitions/win32_imgutil.py +3 -18
  500. angr/procedures/definitions/win32_imm32.py +3 -18
  501. angr/procedures/definitions/win32_infocardapi.py +3 -18
  502. angr/procedures/definitions/win32_inkobjcore.py +3 -18
  503. angr/procedures/definitions/win32_iphlpapi.py +3 -18
  504. angr/procedures/definitions/win32_iscsidsc.py +3 -18
  505. angr/procedures/definitions/win32_isolatedwindowsenvironmentutils.py +3 -18
  506. angr/procedures/definitions/win32_kernel32.py +3 -18
  507. angr/procedures/definitions/win32_kernelbase.py +3 -18
  508. angr/procedures/definitions/win32_keycredmgr.py +3 -18
  509. angr/procedures/definitions/win32_ksproxy_ax.py +3 -18
  510. angr/procedures/definitions/win32_ksuser.py +3 -18
  511. angr/procedures/definitions/win32_ktmw32.py +3 -18
  512. angr/procedures/definitions/win32_licenseprotection.py +3 -18
  513. angr/procedures/definitions/win32_loadperf.py +3 -18
  514. angr/procedures/definitions/win32_magnification.py +3 -18
  515. angr/procedures/definitions/win32_mapi32.py +3 -18
  516. angr/procedures/definitions/win32_mdmlocalmanagement.py +3 -18
  517. angr/procedures/definitions/win32_mdmregistration.py +3 -18
  518. angr/procedures/definitions/win32_mf.py +3 -18
  519. angr/procedures/definitions/win32_mfcore.py +3 -18
  520. angr/procedures/definitions/win32_mfplat.py +3 -18
  521. angr/procedures/definitions/win32_mfplay.py +3 -18
  522. angr/procedures/definitions/win32_mfreadwrite.py +3 -18
  523. angr/procedures/definitions/win32_mfsensorgroup.py +3 -18
  524. angr/procedures/definitions/win32_mfsrcsnk.py +3 -18
  525. angr/procedures/definitions/win32_mgmtapi.py +3 -18
  526. angr/procedures/definitions/win32_mi.py +3 -18
  527. angr/procedures/definitions/win32_mmdevapi.py +3 -18
  528. angr/procedures/definitions/win32_mpr.py +3 -18
  529. angr/procedures/definitions/win32_mprapi.py +3 -18
  530. angr/procedures/definitions/win32_mqrt.py +3 -18
  531. angr/procedures/definitions/win32_mrmsupport.py +3 -18
  532. angr/procedures/definitions/win32_msacm32.py +3 -18
  533. angr/procedures/definitions/win32_msajapi.py +3 -18
  534. angr/procedures/definitions/win32_mscms.py +3 -18
  535. angr/procedures/definitions/win32_mscoree.py +3 -18
  536. angr/procedures/definitions/win32_msctfmonitor.py +3 -18
  537. angr/procedures/definitions/win32_msdelta.py +3 -18
  538. angr/procedures/definitions/win32_msdmo.py +3 -18
  539. angr/procedures/definitions/win32_msdrm.py +3 -18
  540. angr/procedures/definitions/win32_msi.py +3 -18
  541. angr/procedures/definitions/win32_msimg32.py +3 -18
  542. angr/procedures/definitions/win32_mspatcha.py +3 -18
  543. angr/procedures/definitions/win32_mspatchc.py +3 -18
  544. angr/procedures/definitions/win32_msports.py +3 -18
  545. angr/procedures/definitions/win32_msrating.py +3 -18
  546. angr/procedures/definitions/win32_mssign32.py +3 -18
  547. angr/procedures/definitions/win32_mstask.py +3 -18
  548. angr/procedures/definitions/win32_msvfw32.py +3 -18
  549. angr/procedures/definitions/win32_mswsock.py +3 -18
  550. angr/procedures/definitions/win32_mtxdm.py +3 -18
  551. angr/procedures/definitions/win32_ncrypt.py +3 -18
  552. angr/procedures/definitions/win32_ndfapi.py +3 -18
  553. angr/procedures/definitions/win32_netapi32.py +3 -18
  554. angr/procedures/definitions/win32_netsh.py +3 -18
  555. angr/procedures/definitions/win32_netshell.py +3 -18
  556. angr/procedures/definitions/win32_newdev.py +3 -18
  557. angr/procedures/definitions/win32_ninput.py +3 -18
  558. angr/procedures/definitions/win32_normaliz.py +3 -18
  559. angr/procedures/definitions/win32_ntdll.py +3 -18
  560. angr/procedures/definitions/win32_ntdllk.py +3 -18
  561. angr/procedures/definitions/win32_ntdsapi.py +3 -18
  562. angr/procedures/definitions/win32_ntlanman.py +3 -18
  563. angr/procedures/definitions/win32_odbc32.py +3 -18
  564. angr/procedures/definitions/win32_odbcbcp.py +3 -18
  565. angr/procedures/definitions/win32_ole32.py +3 -18
  566. angr/procedures/definitions/win32_oleacc.py +3 -18
  567. angr/procedures/definitions/win32_oleaut32.py +3 -18
  568. angr/procedures/definitions/win32_oledlg.py +3 -18
  569. angr/procedures/definitions/win32_ondemandconnroutehelper.py +3 -18
  570. angr/procedures/definitions/win32_opengl32.py +3 -18
  571. angr/procedures/definitions/win32_opmxbox.py +3 -18
  572. angr/procedures/definitions/win32_p2p.py +3 -18
  573. angr/procedures/definitions/win32_p2pgraph.py +3 -18
  574. angr/procedures/definitions/win32_pdh.py +3 -18
  575. angr/procedures/definitions/win32_peerdist.py +3 -18
  576. angr/procedures/definitions/win32_powrprof.py +3 -18
  577. angr/procedures/definitions/win32_prntvpt.py +3 -18
  578. angr/procedures/definitions/win32_projectedfslib.py +3 -18
  579. angr/procedures/definitions/win32_propsys.py +3 -18
  580. angr/procedures/definitions/win32_psapi.py +3 -18
  581. angr/procedures/definitions/win32_quartz.py +3 -18
  582. angr/procedures/definitions/win32_query.py +3 -18
  583. angr/procedures/definitions/win32_qwave.py +3 -18
  584. angr/procedures/definitions/win32_rasapi32.py +3 -18
  585. angr/procedures/definitions/win32_rasdlg.py +3 -18
  586. angr/procedures/definitions/win32_resutils.py +3 -18
  587. angr/procedures/definitions/win32_rometadata.py +3 -3
  588. angr/procedures/definitions/win32_rpcns4.py +3 -18
  589. angr/procedures/definitions/win32_rpcproxy.py +3 -18
  590. angr/procedures/definitions/win32_rpcrt4.py +3 -18
  591. angr/procedures/definitions/win32_rstrtmgr.py +3 -18
  592. angr/procedures/definitions/win32_rtm.py +3 -18
  593. angr/procedures/definitions/win32_rtutils.py +3 -18
  594. angr/procedures/definitions/win32_rtworkq.py +3 -18
  595. angr/procedures/definitions/win32_sas.py +3 -18
  596. angr/procedures/definitions/win32_scarddlg.py +3 -18
  597. angr/procedures/definitions/win32_schannel.py +3 -18
  598. angr/procedures/definitions/win32_sechost.py +3 -18
  599. angr/procedures/definitions/win32_secur32.py +3 -18
  600. angr/procedures/definitions/win32_sensapi.py +3 -18
  601. angr/procedures/definitions/win32_sensorsutilsv2.py +3 -18
  602. angr/procedures/definitions/win32_setupapi.py +3 -18
  603. angr/procedures/definitions/win32_sfc.py +3 -18
  604. angr/procedures/definitions/win32_shdocvw.py +3 -18
  605. angr/procedures/definitions/win32_shell32.py +3 -18
  606. angr/procedures/definitions/win32_shlwapi.py +3 -18
  607. angr/procedures/definitions/win32_slc.py +3 -18
  608. angr/procedures/definitions/win32_slcext.py +3 -18
  609. angr/procedures/definitions/win32_slwga.py +3 -18
  610. angr/procedures/definitions/win32_snmpapi.py +3 -18
  611. angr/procedures/definitions/win32_spoolss.py +3 -18
  612. angr/procedures/definitions/win32_srclient.py +3 -18
  613. angr/procedures/definitions/win32_srpapi.py +3 -18
  614. angr/procedures/definitions/win32_sspicli.py +3 -18
  615. angr/procedures/definitions/win32_sti.py +3 -18
  616. angr/procedures/definitions/win32_t2embed.py +3 -18
  617. angr/procedures/definitions/win32_tapi32.py +3 -18
  618. angr/procedures/definitions/win32_tbs.py +3 -18
  619. angr/procedures/definitions/win32_tdh.py +3 -18
  620. angr/procedures/definitions/win32_tokenbinding.py +3 -18
  621. angr/procedures/definitions/win32_traffic.py +3 -18
  622. angr/procedures/definitions/win32_txfw32.py +3 -18
  623. angr/procedures/definitions/win32_ualapi.py +3 -18
  624. angr/procedures/definitions/win32_uiautomationcore.py +3 -18
  625. angr/procedures/definitions/win32_urlmon.py +3 -18
  626. angr/procedures/definitions/win32_user32.py +4 -19
  627. angr/procedures/definitions/win32_userenv.py +3 -18
  628. angr/procedures/definitions/win32_usp10.py +3 -18
  629. angr/procedures/definitions/win32_uxtheme.py +3 -18
  630. angr/procedures/definitions/win32_verifier.py +3 -18
  631. angr/procedures/definitions/win32_version.py +3 -18
  632. angr/procedures/definitions/win32_vertdll.py +3 -18
  633. angr/procedures/definitions/win32_virtdisk.py +3 -18
  634. angr/procedures/definitions/win32_vmdevicehost.py +3 -18
  635. angr/procedures/definitions/win32_vmsavedstatedumpprovider.py +3 -18
  636. angr/procedures/definitions/win32_vssapi.py +3 -18
  637. angr/procedures/definitions/win32_wcmapi.py +3 -18
  638. angr/procedures/definitions/win32_wdsbp.py +3 -18
  639. angr/procedures/definitions/win32_wdsclientapi.py +3 -18
  640. angr/procedures/definitions/win32_wdsmc.py +3 -18
  641. angr/procedures/definitions/win32_wdspxe.py +3 -18
  642. angr/procedures/definitions/win32_wdstptc.py +3 -18
  643. angr/procedures/definitions/win32_webauthn.py +3 -18
  644. angr/procedures/definitions/win32_webservices.py +3 -18
  645. angr/procedures/definitions/win32_websocket.py +3 -18
  646. angr/procedures/definitions/win32_wecapi.py +3 -18
  647. angr/procedures/definitions/win32_wer.py +3 -18
  648. angr/procedures/definitions/win32_wevtapi.py +3 -18
  649. angr/procedures/definitions/win32_winbio.py +3 -18
  650. angr/procedures/definitions/win32_windows_ai_machinelearning.py +3 -18
  651. angr/procedures/definitions/win32_windows_data_pdf.py +3 -3
  652. angr/procedures/definitions/win32_windows_media_mediacontrol.py +3 -18
  653. angr/procedures/definitions/win32_windows_networking.py +3 -18
  654. angr/procedures/definitions/win32_windows_ui_xaml.py +3 -18
  655. angr/procedures/definitions/win32_windowscodecs.py +3 -18
  656. angr/procedures/definitions/win32_winfax.py +3 -18
  657. angr/procedures/definitions/win32_winhttp.py +3 -18
  658. angr/procedures/definitions/win32_winhvemulation.py +3 -18
  659. angr/procedures/definitions/win32_winhvplatform.py +3 -18
  660. angr/procedures/definitions/win32_wininet.py +3 -18
  661. angr/procedures/definitions/win32_winml.py +3 -18
  662. angr/procedures/definitions/win32_winmm.py +3 -18
  663. angr/procedures/definitions/win32_winscard.py +3 -18
  664. angr/procedures/definitions/win32_winspool.py +3 -3
  665. angr/procedures/definitions/win32_winspool_drv.py +3 -18
  666. angr/procedures/definitions/win32_wintrust.py +3 -18
  667. angr/procedures/definitions/win32_winusb.py +3 -18
  668. angr/procedures/definitions/win32_wlanapi.py +3 -18
  669. angr/procedures/definitions/win32_wlanui.py +3 -18
  670. angr/procedures/definitions/win32_wldap32.py +3 -18
  671. angr/procedures/definitions/win32_wldp.py +3 -18
  672. angr/procedures/definitions/win32_wmvcore.py +3 -18
  673. angr/procedures/definitions/win32_wnvapi.py +3 -18
  674. angr/procedures/definitions/win32_wofutil.py +3 -18
  675. angr/procedures/definitions/win32_ws2_32.py +3 -18
  676. angr/procedures/definitions/win32_wscapi.py +3 -18
  677. angr/procedures/definitions/win32_wsclient.py +3 -18
  678. angr/procedures/definitions/win32_wsdapi.py +3 -18
  679. angr/procedures/definitions/win32_wsmsvc.py +3 -18
  680. angr/procedures/definitions/win32_wsnmp32.py +3 -18
  681. angr/procedures/definitions/win32_wtsapi32.py +3 -18
  682. angr/procedures/definitions/win32_xaudio2_8.py +3 -18
  683. angr/procedures/definitions/win32_xinput1_4.py +3 -18
  684. angr/procedures/definitions/win32_xinputuap.py +3 -3
  685. angr/procedures/definitions/win32_xmllite.py +3 -18
  686. angr/procedures/definitions/win32_xolehlp.py +3 -18
  687. angr/procedures/definitions/win32_xpsprint.py +3 -18
  688. angr/procedures/glibc/scanf.py +2 -2
  689. angr/procedures/glibc/sscanf.py +1 -1
  690. angr/procedures/java/__init__.py +6 -3
  691. angr/procedures/java/unconstrained.py +4 -4
  692. angr/procedures/java_io/read.py +1 -1
  693. angr/procedures/java_io/write.py +1 -1
  694. angr/procedures/java_jni/__init__.py +25 -17
  695. angr/procedures/java_jni/array_operations.py +2 -2
  696. angr/procedures/java_jni/field_access.py +3 -3
  697. angr/procedures/java_jni/method_calls.py +2 -2
  698. angr/procedures/java_jni/object_operations.py +1 -1
  699. angr/procedures/java_jni/string_operations.py +2 -2
  700. angr/procedures/java_lang/character.py +1 -1
  701. angr/procedures/java_lang/double.py +2 -2
  702. angr/procedures/java_lang/exit.py +1 -1
  703. angr/procedures/java_lang/getsimplename.py +1 -1
  704. angr/procedures/java_lang/integer.py +2 -2
  705. angr/procedures/java_lang/load_library.py +1 -1
  706. angr/procedures/java_lang/math.py +1 -1
  707. angr/procedures/java_lang/string.py +4 -4
  708. angr/procedures/java_lang/stringbuilder.py +2 -2
  709. angr/procedures/java_lang/system.py +1 -1
  710. angr/procedures/java_util/collection.py +2 -2
  711. angr/procedures/java_util/iterator.py +2 -2
  712. angr/procedures/java_util/list.py +3 -3
  713. angr/procedures/java_util/map.py +3 -3
  714. angr/procedures/java_util/random.py +1 -1
  715. angr/procedures/java_util/scanner_nextline.py +3 -3
  716. angr/procedures/libc/fseek.py +1 -1
  717. angr/procedures/libc/memcpy.py +1 -1
  718. angr/procedures/libc/strlen.py +12 -4
  719. angr/procedures/libc/strncmp.py +9 -4
  720. angr/procedures/linux_kernel/iovec.py +3 -3
  721. angr/procedures/linux_kernel/mmap.py +1 -1
  722. angr/procedures/linux_kernel/stat.py +1 -1
  723. angr/procedures/linux_kernel/sysinfo.py +1 -1
  724. angr/procedures/linux_kernel/vsyscall.py +1 -1
  725. angr/procedures/posix/bzero.py +1 -1
  726. angr/procedures/posix/mmap.py +1 -1
  727. angr/procedures/posix/send.py +1 -1
  728. angr/procedures/posix/syslog.py +2 -3
  729. angr/procedures/procedure_dict.py +2 -2
  730. angr/procedures/stubs/Redirect.py +1 -1
  731. angr/procedures/stubs/UserHook.py +1 -1
  732. angr/procedures/stubs/format_parser.py +6 -6
  733. angr/procedures/tracer/random.py +1 -1
  734. angr/procedures/tracer/receive.py +1 -1
  735. angr/procedures/tracer/transmit.py +1 -1
  736. angr/procedures/uclibc/__uClibc_main.py +1 -1
  737. angr/protos/__init__.py +8 -0
  738. angr/sim_options.py +0 -4
  739. angr/sim_procedure.py +5 -5
  740. angr/sim_state.py +21 -34
  741. angr/sim_type.py +51 -18
  742. angr/simos/__init__.py +12 -0
  743. angr/simos/cgc.py +5 -5
  744. angr/simos/javavm.py +18 -23
  745. angr/simos/linux.py +6 -6
  746. angr/simos/simos.py +12 -16
  747. angr/simos/userland.py +3 -3
  748. angr/simos/windows.py +6 -11
  749. angr/state_hierarchy.py +1 -1
  750. angr/state_plugins/__init__.py +84 -28
  751. angr/state_plugins/callstack.py +1 -1
  752. angr/state_plugins/concrete.py +3 -4
  753. angr/state_plugins/filesystem.py +3 -3
  754. angr/state_plugins/gdb.py +1 -1
  755. angr/state_plugins/heap/__init__.py +14 -5
  756. angr/state_plugins/heap/heap_base.py +5 -4
  757. angr/state_plugins/heap/heap_brk.py +1 -1
  758. angr/state_plugins/heap/heap_freelist.py +1 -1
  759. angr/state_plugins/heap/heap_ptmalloc.py +2 -20
  760. angr/state_plugins/heap/utils.py +1 -1
  761. angr/state_plugins/history.py +2 -2
  762. angr/state_plugins/javavm_classloader.py +3 -3
  763. angr/state_plugins/jni_references.py +1 -1
  764. angr/state_plugins/light_registers.py +3 -3
  765. angr/state_plugins/log.py +1 -1
  766. angr/state_plugins/plugin.py +3 -2
  767. angr/state_plugins/posix.py +3 -3
  768. angr/state_plugins/preconstrainer.py +6 -6
  769. angr/state_plugins/scratch.py +4 -4
  770. angr/state_plugins/sim_action_object.py +1 -1
  771. angr/state_plugins/solver.py +15 -19
  772. angr/state_plugins/symbolizer.py +2 -3
  773. angr/state_plugins/trace_additions.py +8 -8
  774. angr/state_plugins/uc_manager.py +1 -1
  775. angr/state_plugins/unicorn_engine.py +4 -4
  776. angr/state_plugins/view.py +1 -1
  777. angr/storage/__init__.py +9 -3
  778. angr/storage/file.py +16 -16
  779. angr/storage/memory_mixins/__init__.py +88 -6
  780. angr/storage/memory_mixins/actions_mixin.py +3 -3
  781. angr/storage/memory_mixins/address_concretization_mixin.py +6 -6
  782. angr/storage/memory_mixins/bvv_conversion_mixin.py +1 -1
  783. angr/storage/memory_mixins/clouseau_mixin.py +1 -1
  784. angr/storage/memory_mixins/convenient_mappings_mixin.py +8 -10
  785. angr/storage/memory_mixins/default_filler_mixin.py +3 -3
  786. angr/storage/memory_mixins/hex_dumper_mixin.py +1 -1
  787. angr/storage/memory_mixins/{javavm_memory/javavm_memory_mixin.py → javavm_memory_mixin.py} +15 -12
  788. angr/storage/memory_mixins/{keyvalue_memory/keyvalue_memory_mixin.py → keyvalue_memory_mixin.py} +11 -6
  789. angr/storage/memory_mixins/multi_value_merger_mixin.py +5 -5
  790. angr/storage/memory_mixins/name_resolution_mixin.py +2 -2
  791. angr/storage/memory_mixins/paged_memory/paged_memory_mixin.py +1 -1
  792. angr/storage/memory_mixins/paged_memory/paged_memory_multivalue_mixin.py +1 -1
  793. angr/storage/memory_mixins/paged_memory/pages/__init__.py +15 -0
  794. angr/storage/memory_mixins/paged_memory/pages/mv_list_page.py +1 -1
  795. angr/storage/memory_mixins/paged_memory/pages/ultra_page.py +2 -2
  796. angr/storage/memory_mixins/paged_memory/stack_allocation_mixin.py +2 -2
  797. angr/storage/memory_mixins/regioned_memory/__init__.py +10 -0
  798. angr/storage/memory_mixins/regioned_memory/abstract_merger_mixin.py +1 -1
  799. angr/storage/memory_mixins/regioned_memory/region_category_mixin.py +1 -1
  800. angr/storage/memory_mixins/regioned_memory/region_data.py +2 -2
  801. angr/storage/memory_mixins/regioned_memory/region_meta_mixin.py +1 -1
  802. angr/storage/memory_mixins/regioned_memory/regioned_address_concretization_mixin.py +4 -4
  803. angr/storage/memory_mixins/regioned_memory/regioned_memory_mixin.py +7 -19
  804. angr/storage/memory_mixins/regioned_memory/static_find_mixin.py +1 -1
  805. angr/storage/memory_mixins/simple_interface_mixin.py +1 -1
  806. angr/storage/memory_mixins/simplification_mixin.py +1 -1
  807. angr/storage/memory_mixins/size_resolution_mixin.py +2 -2
  808. angr/storage/memory_mixins/slotted_memory.py +1 -1
  809. angr/storage/memory_mixins/smart_find_mixin.py +3 -3
  810. angr/storage/memory_mixins/underconstrained_mixin.py +1 -1
  811. angr/storage/memory_mixins/unwrapper_mixin.py +1 -1
  812. angr/storage/memory_object.py +8 -10
  813. angr/utils/__init__.py +12 -0
  814. angr/utils/enums_conv.py +1 -1
  815. angr/utils/library.py +2 -2
  816. angr/utils/mp.py +1 -1
  817. angr/utils/timing.py +30 -18
  818. {angr-9.2.118.dist-info → angr-9.2.120.dist-info}/METADATA +8 -7
  819. angr-9.2.120.dist-info/RECORD +1340 -0
  820. angr/analyses/s_liveness/__init__.py +0 -2
  821. angr/analyses/s_propagator/__init__.py +0 -2
  822. angr/analyses/s_reaching_definitions/s_rda.py +0 -479
  823. angr/knowledge_base/__init__.py +0 -2
  824. angr/knowledge_plugins/structured_code/__init__.py +0 -2
  825. angr/knowledge_plugins/sync/__init__.py +0 -2
  826. angr/knowledge_plugins/sync/sync_controller.py +0 -324
  827. angr/misc/range.py +0 -24
  828. angr/misc/weakpatch.py +0 -59
  829. angr/storage/memory_mixins/javavm_memory/__init__.py +0 -2
  830. angr/storage/memory_mixins/keyvalue_memory/__init__.py +0 -2
  831. angr/storage/pcap.py +0 -65
  832. angr/utils/typing.py +0 -18
  833. angr-9.2.118.dist-info/RECORD +0 -1344
  834. /angr/analyses/{s_liveness/s_liveness.py → s_liveness.py} +0 -0
  835. {angr-9.2.118.dist-info → angr-9.2.120.dist-info}/LICENSE +0 -0
  836. {angr-9.2.118.dist-info → angr-9.2.120.dist-info}/WHEEL +0 -0
  837. {angr-9.2.118.dist-info → angr-9.2.120.dist-info}/entry_points.txt +0 -0
  838. {angr-9.2.118.dist-info → angr-9.2.120.dist-info}/top_level.txt +0 -0
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
  import claripy
3
3
  import logging
4
4
 
5
- from ..java import JavaSimProcedure
5
+ from angr.procedures.java import JavaSimProcedure
6
6
 
7
7
  log = logging.getLogger(name=__name__)
8
8
 
@@ -3,9 +3,9 @@ import logging
3
3
 
4
4
  import claripy
5
5
 
6
- from ..java import JavaSimProcedure
7
- from ...engines.soot.expressions import SimSootExpr_NewArray
8
- from ...engines.soot.values import SimSootValue_ArrayRef, SimSootValue_StringRef
6
+ from angr.procedures.java import JavaSimProcedure
7
+ from angr.engines.soot.expressions import SimSootExpr_NewArray
8
+ from angr.engines.soot.values import SimSootValue_ArrayRef, SimSootValue_StringRef
9
9
 
10
10
  log = logging.getLogger(name=__name__)
11
11
 
@@ -65,7 +65,7 @@ class StringLength(JavaSimProcedure):
65
65
  def run(self, this_str):
66
66
  log.debug(f"Called SimProcedure java.lang.String.length with args: {this_str}")
67
67
 
68
- return claripy.StrLen(self.state.memory.load(this_str), 32)
68
+ return claripy.StrLen(self.state.memory.load(this_str))
69
69
 
70
70
 
71
71
  class StringCharAt(JavaSimProcedure):
@@ -2,8 +2,8 @@ from __future__ import annotations
2
2
  import claripy
3
3
  import logging
4
4
 
5
- from ..java import JavaSimProcedure
6
- from ...engines.soot.values import SimSootValue_StringRef
5
+ from angr.procedures.java import JavaSimProcedure
6
+ from angr.engines.soot.values import SimSootValue_StringRef
7
7
 
8
8
  log = logging.getLogger(name=__name__)
9
9
 
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
  import logging
3
3
  import claripy
4
4
 
5
- from ..java import JavaSimProcedure
5
+ from angr.procedures.java import JavaSimProcedure
6
6
 
7
7
  log = logging.getLogger(name=__name__)
8
8
 
@@ -2,8 +2,8 @@ from __future__ import annotations
2
2
  import claripy
3
3
  import logging
4
4
 
5
- from ..java import JavaSimProcedure
6
- from ...engines.soot.values import SimSootValue_ThisRef
5
+ from angr.procedures.java import JavaSimProcedure
6
+ from angr.engines.soot.values import SimSootValue_ThisRef
7
7
 
8
8
  log = logging.getLogger(name=__name__)
9
9
 
@@ -2,8 +2,8 @@ from __future__ import annotations
2
2
  import claripy
3
3
  import logging
4
4
 
5
- from ..java import JavaSimProcedure
6
- from ...engines.soot.values import SimSootValue_ThisRef
5
+ from angr.procedures.java import JavaSimProcedure
6
+ from angr.engines.soot.values import SimSootValue_ThisRef
7
7
  from .collection import ELEMS, SIZE, INDEX
8
8
 
9
9
  log = logging.getLogger(name=__name__)
@@ -2,9 +2,9 @@ from __future__ import annotations
2
2
  import claripy
3
3
  import logging
4
4
 
5
- from ..java import JavaSimProcedure
6
- from ...engines.soot.expressions import SimSootExpr_NewArray
7
- from ...engines.soot.values import SimSootValue_ThisRef
5
+ from angr.procedures.java import JavaSimProcedure
6
+ from angr.engines.soot.expressions import SimSootExpr_NewArray
7
+ from angr.engines.soot.values import SimSootValue_ThisRef
8
8
  from .collection import ELEMS, SIZE
9
9
 
10
10
  log = logging.getLogger(name=__name__)
@@ -2,9 +2,9 @@ from __future__ import annotations
2
2
  import claripy
3
3
  import logging
4
4
 
5
- from ..java import JavaSimProcedure
6
- from ...engines.soot.expressions import SimSootExpr_NewArray, SimSootExpr_NullConstant
7
- from ...engines.soot.values import SimSootValue_StringRef, SimSootValue_ThisRef
5
+ from angr.procedures.java import JavaSimProcedure
6
+ from angr.engines.soot.expressions import SimSootExpr_NewArray, SimSootExpr_NullConstant
7
+ from angr.engines.soot.values import SimSootValue_StringRef, SimSootValue_ThisRef
8
8
  from .collection import ELEMS, SIZE
9
9
 
10
10
  log = logging.getLogger(name=__name__)
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
  import claripy
3
3
 
4
- from ..java import JavaSimProcedure
4
+ from angr.procedures.java import JavaSimProcedure
5
5
 
6
6
 
7
7
  class NextInt(JavaSimProcedure):
@@ -3,8 +3,8 @@ import logging
3
3
 
4
4
  from claripy import StringS
5
5
 
6
- from ...engines.soot.values import SimSootValue_StringRef
7
- from ..java import JavaSimProcedure
6
+ from angr.engines.soot.values import SimSootValue_StringRef
7
+ from angr.procedures.java import JavaSimProcedure
8
8
 
9
9
  l = logging.getLogger("angr.procedures.java.scanner.nextLine")
10
10
 
@@ -14,7 +14,7 @@ class ScannerNextLine(JavaSimProcedure):
14
14
 
15
15
  def run(self, this): # pylint: disable=arguments-differ,unused-argument
16
16
  str_ref = SimSootValue_StringRef(self.state.memory.get_new_uuid())
17
- self.state.memory.store(str_ref, StringS("scanner_return", 100))
17
+ self.state.memory.store(str_ref, StringS("scanner_return"))
18
18
  # save reference in global dict, so we can easily access it later
19
19
  try:
20
20
  self.state.globals["java.util.Scanner"].append(str_ref)
@@ -3,7 +3,7 @@ import claripy
3
3
  from cle.backends.externs.simdata.io_file import io_file_data_for_arch
4
4
 
5
5
  import angr
6
- from ...errors import SimSolverError
6
+ from angr.errors import SimSolverError
7
7
 
8
8
 
9
9
  class fseek(angr.SimProcedure):
@@ -35,4 +35,4 @@ class memcpy(angr.SimProcedure):
35
35
  return dst_addr
36
36
 
37
37
 
38
- from ...sim_options import ABSTRACT_MEMORY
38
+ from angr.sim_options import ABSTRACT_MEMORY
@@ -1,5 +1,7 @@
1
1
  from __future__ import annotations
2
+
2
3
  import logging
4
+ from functools import reduce
3
5
 
4
6
  import claripy
5
7
 
@@ -39,7 +41,7 @@ class strlen(angr.SimProcedure):
39
41
  addr_desc: AbstractAddressDescriptor = self.state.memory._normalize_address(s)
40
42
 
41
43
  # size_t
42
- length = claripy.ESI(self.arch.bits)
44
+ lengths = []
43
45
  for s_aw in self.state.memory._concretize_address_descriptor(addr_desc, None):
44
46
  s_ptr = s_aw.to_valueset(self.state)
45
47
  r, c, i = self.state.memory.find(
@@ -65,9 +67,15 @@ class strlen(angr.SimProcedure):
65
67
 
66
68
  for r_aw in r_aw_iter:
67
69
  r_ptr = r_aw.to_valueset(self.state)
68
- length = length.union(r_ptr - s_ptr)
69
-
70
- return length
70
+ lengths.append(r_ptr - s_ptr)
71
+
72
+ match len(lengths):
73
+ case 0:
74
+ return claripy.BVS("unnamed", self.state.arch.bits)
75
+ case 1:
76
+ return lengths[0]
77
+ case _:
78
+ return reduce(claripy.union, lengths)
71
79
 
72
80
  search_len = max_str_len
73
81
  r, c, i = self.state.memory.find(
@@ -1,5 +1,7 @@
1
1
  from __future__ import annotations
2
+
2
3
  import logging
4
+ from functools import reduce
3
5
 
4
6
  import claripy
5
7
 
@@ -152,10 +154,13 @@ class strncmp(angr.SimProcedure):
152
154
  return claripy.BVV(0, 32)
153
155
 
154
156
  if self.state.mode == "static":
155
- ret_expr = claripy.ESI(8)
156
- for expr in return_values:
157
- ret_expr = ret_expr.union(expr)
158
-
157
+ match len(return_values):
158
+ case 0:
159
+ ret_expr = claripy.BVS("unnamed", self.state.arch.bits - 24)
160
+ case 1:
161
+ ret_expr = return_values[0]
162
+ case _:
163
+ ret_expr = reduce(claripy.union, return_values)
159
164
  ret_expr = ret_expr.sign_extend(24)
160
165
 
161
166
  else:
@@ -1,8 +1,8 @@
1
1
  from __future__ import annotations
2
2
  import angr
3
- from ..posix.read import read
4
- from ..posix.write import write
5
- from ...sim_type import register_types, parse_types
3
+ from angr.procedures.posix.read import read
4
+ from angr.procedures.posix.write import write
5
+ from angr.sim_type import register_types, parse_types
6
6
 
7
7
  register_types(
8
8
  parse_types(
@@ -1,5 +1,5 @@
1
1
  from __future__ import annotations
2
- from ..posix.mmap import mmap
2
+ from angr.procedures.posix.mmap import mmap
3
3
 
4
4
 
5
5
  class old_mmap(mmap):
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
  import angr
3
3
 
4
- from ...storage.file import Flags
4
+ from angr.storage.file import Flags
5
5
  from .fstat import fstat
6
6
 
7
7
 
@@ -2,7 +2,7 @@
2
2
  from __future__ import annotations
3
3
  import angr
4
4
 
5
- from ...sim_type import SimStruct, SimTypeLong, SimTypeFixedSizeArray, SimTypeShort, SimTypeInt
5
+ from angr.sim_type import SimStruct, SimTypeLong, SimTypeFixedSizeArray, SimTypeShort, SimTypeInt
6
6
 
7
7
  # struct sysinfo {
8
8
  # long uptime; /* Seconds since boot */
@@ -13,4 +13,4 @@ class _vsyscall(angr.SimProcedure):
13
13
  else:
14
14
  ret_addr = self.state.registers.load(self.state.arch.lr_offset, self.state.arch.bytes)
15
15
 
16
- self.successors.add_successor(self.state, ret_addr, claripy.true, "Ijk_Sys")
16
+ self.successors.add_successor(self.state, ret_addr, claripy.true(), "Ijk_Sys")
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
  import claripy
3
3
 
4
- from ..libc import memset
4
+ from angr.procedures.libc import memset
5
5
 
6
6
 
7
7
  class bzero(memset.memset):
@@ -4,7 +4,7 @@ import logging
4
4
  import claripy
5
5
 
6
6
  import angr
7
- from ...storage.file import SimFileDescriptor
7
+ from angr.storage.file import SimFileDescriptor
8
8
 
9
9
 
10
10
  l = logging.getLogger(name=__name__)
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
  import claripy
3
3
 
4
4
  import angr
5
- from ...sim_options import ALLOW_SEND_FAILURES
5
+ from angr.sim_options import ALLOW_SEND_FAILURES
6
6
 
7
7
 
8
8
  class send(angr.SimProcedure):
@@ -1,14 +1,13 @@
1
1
  from __future__ import annotations
2
2
  import logging
3
3
 
4
- from ..stubs.format_parser import FormatParser
4
+ from angr.procedures.stubs.format_parser import FormatParser
5
5
 
6
6
  l = logging.getLogger(name=__name__)
7
- l.setLevel("INFO")
8
7
 
9
8
 
10
9
  class syslog(FormatParser):
11
- def run(self, priority, fmt):
10
+ def run(self, priority, fmt): # pylint:disable=arguments-differ
12
11
  fmt = self._parse(fmt)
13
12
  formatted = fmt.replace(self.va_arg)
14
13
  if not formatted.symbolic:
@@ -4,8 +4,8 @@ import os
4
4
 
5
5
  l = logging.getLogger(name=__name__)
6
6
 
7
- from ..misc import autoimport
8
- from ..sim_procedure import SimProcedure
7
+ from angr.misc import autoimport
8
+ from angr.sim_procedure import SimProcedure
9
9
 
10
10
  # Import all classes under the current directory, and group them based on
11
11
  # lib names.
@@ -15,4 +15,4 @@ class Redirect(angr.SimProcedure):
15
15
 
16
16
  self._custom_name = f"Redirect to 0x{redirect_to:08x}"
17
17
  # There is definitely no refs
18
- self.add_successor(self.state, redirect_to, claripy.true, "Ijk_Boring")
18
+ self.add_successor(self.state, redirect_to, claripy.true(), "Ijk_Boring")
@@ -12,7 +12,7 @@ class UserHook(angr.SimProcedure):
12
12
  result = user_func(self.state)
13
13
  if result is None:
14
14
  jumpkind = "Ijk_NoHook" if length == 0 else "Ijk_Boring"
15
- self.successors.add_successor(self.state, self.state.addr + length, claripy.true, jumpkind)
15
+ self.successors.add_successor(self.state, self.state.addr + length, claripy.true(), jumpkind)
16
16
  else:
17
17
  for state in result:
18
18
  self.successors.add_successor(state, state.addr, state.scratch.guard, state.history.jumpkind)
@@ -6,9 +6,9 @@ import math
6
6
  import claripy
7
7
 
8
8
  from angr.errors import SimProcedureArgumentError, SimProcedureError, SimSolverError
9
- from ... import sim_type
10
- from ...sim_procedure import SimProcedure
11
- from ...storage.file import SimPackets
9
+ from angr import sim_type
10
+ from angr.sim_procedure import SimProcedure
11
+ from angr.storage.file import SimPackets
12
12
 
13
13
  if TYPE_CHECKING:
14
14
  from angr.sim_type import SimType
@@ -130,7 +130,7 @@ class FormatString:
130
130
  if type(component) is bytes:
131
131
  sdata, _ = simfd.read_data(len(component), short_reads=False)
132
132
  self.state.add_constraints(sdata == component)
133
- elif isinstance(component, claripy.Bits):
133
+ elif isinstance(component, claripy.ast.Bits):
134
134
  sdata, _ = simfd.read_data(len(component) // 8, short_reads=False)
135
135
  self.state.add_constraints(sdata == component)
136
136
  elif component.spec_type == b"s":
@@ -556,7 +556,7 @@ class FormatParser(SimProcedure):
556
556
  Return the result of invoking the atoi simprocedure on `str_addr`.
557
557
  """
558
558
 
559
- from .. import SIM_PROCEDURES # pylint:disable=import-outside-toplevel
559
+ from angr.procedures import SIM_PROCEDURES # pylint:disable=import-outside-toplevel
560
560
 
561
561
  strtol = SIM_PROCEDURES["libc"]["strtol"]
562
562
 
@@ -567,7 +567,7 @@ class FormatParser(SimProcedure):
567
567
  Return the result of invoking the strlen simprocedure on `str_addr`.
568
568
  """
569
569
 
570
- from .. import SIM_PROCEDURES # pylint:disable=import-outside-toplevel
570
+ from angr.procedures import SIM_PROCEDURES # pylint:disable=import-outside-toplevel
571
571
 
572
572
  strlen = SIM_PROCEDURES["libc"]["strlen"]
573
573
 
@@ -1,5 +1,5 @@
1
1
  from __future__ import annotations
2
- from ..cgc.random import random as orig_random
2
+ from angr.procedures.cgc.random import random as orig_random
3
3
 
4
4
 
5
5
  class random(orig_random):
@@ -3,7 +3,7 @@ import logging
3
3
 
4
4
  import claripy
5
5
 
6
- from ..cgc.receive import receive as orig_receive
6
+ from angr.procedures.cgc.receive import receive as orig_receive
7
7
 
8
8
 
9
9
  l = logging.getLogger(name=__name__)
@@ -3,7 +3,7 @@ import logging
3
3
 
4
4
  import claripy
5
5
 
6
- from ..cgc.transmit import transmit as orig_transmit
6
+ from angr.procedures.cgc.transmit import transmit as orig_transmit
7
7
 
8
8
 
9
9
  l = logging.getLogger(name=__name__)
@@ -1,5 +1,5 @@
1
1
  from __future__ import annotations
2
- from ..glibc.__libc_start_main import __libc_start_main as fucker
2
+ from angr.procedures.glibc.__libc_start_main import __libc_start_main as fucker
3
3
 
4
4
 
5
5
  class __uClibc_main(fucker):
angr/protos/__init__.py CHANGED
@@ -12,3 +12,11 @@ from . import function_pb2
12
12
  from . import cfg_pb2
13
13
  from . import xrefs_pb2
14
14
  from . import variables_pb2
15
+
16
+ __all__ = (
17
+ "primitives_pb2",
18
+ "function_pb2",
19
+ "cfg_pb2",
20
+ "xrefs_pb2",
21
+ "variables_pb2",
22
+ )
angr/sim_options.py CHANGED
@@ -232,10 +232,6 @@ KEEP_IP_SYMBOLIC = "KEEP_IP_SYMBOLIC"
232
232
  # Do not try to concretize a symbolic IP. With this option, all states with symbolic IPs will be seen as unconstrained.
233
233
  NO_IP_CONCRETIZATION = "NO_IP_CONCRETIZATION"
234
234
 
235
- # Do not union values from different locations when reading from the memory for a reduced loss in precision
236
- # It is only applied to SimAbstractMemory
237
- KEEP_MEMORY_READS_DISCRETE = "KEEP_MEMORY_READS_DISCRETE"
238
-
239
235
  # Raise a SimSegfaultError on illegal memory accesses
240
236
  STRICT_PAGE_ACCESS = "STRICT_PAGE_ACCESS"
241
237
 
angr/sim_procedure.py CHANGED
@@ -477,7 +477,7 @@ class SimProcedure:
477
477
  self._prepare_ret_state()
478
478
 
479
479
  self._exit_action(self.state, ret_addr)
480
- self.successors.add_successor(self.state, ret_addr, claripy.true, "Ijk_Ret")
480
+ self.successors.add_successor(self.state, ret_addr, claripy.true(), "Ijk_Ret")
481
481
 
482
482
  def call(self, addr, args, continue_at, cc=None, prototype=None, jumpkind="Ijk_Call"):
483
483
  """
@@ -520,7 +520,7 @@ class SimProcedure:
520
520
  call_state.regs.t9 = addr
521
521
 
522
522
  self._exit_action(call_state, addr)
523
- self.successors.add_successor(call_state, addr, claripy.true, jumpkind)
523
+ self.successors.add_successor(call_state, addr, claripy.true(), jumpkind)
524
524
  if jumpkind != "Ijk_Call":
525
525
  call_state.callstack.call(
526
526
  self.state.addr, addr, retn_target=ret_addr, stack_pointer=call_state.regs.sp.concrete_value
@@ -531,7 +531,7 @@ class SimProcedure:
531
531
  ret_state = self.state.copy()
532
532
  cc.setup_callsite(ret_state, ret_addr, args, prototype)
533
533
  ret_state.callstack.top.procedure_data = simcallstack_entry
534
- guard = claripy.true if o.TRUE_RET_EMULATION_GUARD in ret_state.options else claripy.false
534
+ guard = claripy.true() if o.TRUE_RET_EMULATION_GUARD in ret_state.options else claripy.false()
535
535
  self.successors.add_successor(ret_state, ret_addr, guard, "Ijk_FakeRet")
536
536
 
537
537
  def jump(self, addr, jumpkind="Ijk_Boring"):
@@ -540,7 +540,7 @@ class SimProcedure:
540
540
  """
541
541
  self.inhibit_autoret = True
542
542
  self._exit_action(self.state, addr)
543
- self.successors.add_successor(self.state, addr, claripy.true, jumpkind)
543
+ self.successors.add_successor(self.state, addr, claripy.true(), jumpkind)
544
544
 
545
545
  def exit(self, exit_code):
546
546
  """
@@ -553,7 +553,7 @@ class SimProcedure:
553
553
  if isinstance(exit_code, int):
554
554
  exit_code = claripy.BVV(exit_code, self.state.arch.bits)
555
555
  self.state.history.add_event("terminate", exit_code=exit_code)
556
- self.successors.add_successor(self.state, self.state.regs.ip, claripy.true, "Ijk_Exit")
556
+ self.successors.add_successor(self.state, self.state.regs.ip, claripy.true(), "Ijk_Exit")
557
557
 
558
558
  @staticmethod
559
559
  def _exit_action(state, addr):
angr/sim_state.py CHANGED
@@ -1,25 +1,36 @@
1
1
  from __future__ import annotations
2
+
3
+ import contextlib
2
4
  import functools
3
5
  import itertools
4
- import contextlib
5
- import weakref
6
-
7
6
  import logging
8
-
7
+ import weakref
9
8
  from typing import TypeVar, TYPE_CHECKING
10
9
 
11
- from archinfo import Arch
12
-
13
- l = logging.getLogger(name=__name__)
14
-
15
- import claripy
16
10
  import archinfo
11
+ import claripy
12
+ from archinfo import Arch
17
13
  from archinfo.arch_soot import SootAddressDescriptor
18
14
 
15
+ from . import sim_options as o
16
+ from .errors import SimMergeError, SimValueError, SimStateError, SimSolverModeError
19
17
  from .misc.plugins import PluginHub, PluginPreset
20
18
  from .sim_state_options import SimStateOptions
21
19
  from .state_plugins import SimStatePlugin
22
20
 
21
+ if TYPE_CHECKING:
22
+ from .storage import DefaultMemory
23
+ from .state_plugins.solver import SimSolver
24
+ from .state_plugins.posix import SimSystemPosix
25
+ from .state_plugins.view import SimRegNameView, SimMemView
26
+ from .state_plugins.callstack import CallStack
27
+ from .state_plugins.inspect import SimInspector
28
+ from .state_plugins.jni_references import SimStateJNIReferences
29
+ from .state_plugins.scratch import SimStateScratch
30
+
31
+
32
+ l = logging.getLogger(name=__name__)
33
+
23
34
 
24
35
  def arch_overridable(f):
25
36
  @functools.wraps(f)
@@ -513,16 +524,6 @@ class SimState(PluginHub):
513
524
  if self.solver.is_true(arg):
514
525
  continue
515
526
 
516
- # `is_true` and `is_false` does not use VSABackend currently (see commits 97a75366 and 2dfba73e in
517
- # claripy). There is a chance that VSA backend can in fact handle it.
518
- # Therefore we try to resolve it with VSABackend again
519
- if claripy.backends.vsa.is_false(arg):
520
- self._satisfiable = False
521
- return
522
-
523
- if claripy.backends.vsa.is_true(arg):
524
- continue
525
-
526
527
  # It's neither True or False. Let's try to apply the condition
527
528
 
528
529
  # We take the argument, extract a list of constrained SIs out of it (if we could, of course), and
@@ -678,7 +679,7 @@ class SimState(PluginHub):
678
679
  merge_conditions = [merge_flag == b for b in merge_values]
679
680
  else:
680
681
  merge_conditions = [
681
- (claripy.true if len(mc) == 0 else claripy.And(*[c.to_claripy() for c in mc]))
682
+ (claripy.true() if len(mc) == 0 else claripy.And(*[c.to_claripy() for c in mc]))
682
683
  for mc in merge_conditions
683
684
  ]
684
685
 
@@ -976,17 +977,3 @@ SimState.register_preset("default", default_state_plugin_preset)
976
977
  from .state_plugins.history import SimStateHistory
977
978
  from .state_plugins.inspect import BP_AFTER, BP_BEFORE
978
979
  from .state_plugins.sim_action import SimActionConstraint
979
-
980
- from . import sim_options as o
981
- from .errors import SimMergeError, SimValueError, SimStateError, SimSolverModeError
982
-
983
- # Type imports for annotations
984
- if TYPE_CHECKING:
985
- from .storage import DefaultMemory
986
- from .state_plugins.solver import SimSolver
987
- from .state_plugins.posix import SimSystemPosix
988
- from .state_plugins.view import SimRegNameView, SimMemView
989
- from .state_plugins.callstack import CallStack
990
- from .state_plugins.inspect import SimInspector
991
- from .state_plugins.jni_references import SimStateJNIReferences
992
- from .state_plugins.scratch import SimStateScratch