angr 9.2.119__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 (817) 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 +8 -8
  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 +1 -1
  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 +8 -8
  37. angr/analyses/decompiler/block_simplifier.py +3 -3
  38. angr/analyses/decompiler/callsite_maker.py +5 -3
  39. angr/analyses/decompiler/clinic.py +25 -26
  40. angr/analyses/decompiler/condition_processor.py +7 -5
  41. angr/analyses/decompiler/counters/__init__.py +11 -0
  42. angr/analyses/decompiler/decompiler.py +24 -10
  43. angr/analyses/decompiler/dephication/seqnode_dephication.py +19 -1
  44. angr/analyses/decompiler/optimization_passes/__init__.py +66 -54
  45. angr/analyses/decompiler/optimization_passes/const_derefs.py +1 -1
  46. angr/analyses/decompiler/optimization_passes/const_prop_reverter.py +3 -3
  47. angr/analyses/decompiler/optimization_passes/cross_jump_reverter.py +1 -1
  48. angr/analyses/decompiler/optimization_passes/duplication_reverter/__init__.py +3 -0
  49. angr/analyses/decompiler/optimization_passes/duplication_reverter/duplication_reverter.py +7 -7
  50. angr/analyses/decompiler/optimization_passes/duplication_reverter/similarity.py +1 -1
  51. angr/analyses/decompiler/optimization_passes/duplication_reverter/utils.py +1 -1
  52. angr/analyses/decompiler/optimization_passes/engine_base.py +2 -2
  53. angr/analyses/decompiler/optimization_passes/expr_op_swapper.py +2 -2
  54. angr/analyses/decompiler/optimization_passes/flip_boolean_cmp.py +4 -4
  55. angr/analyses/decompiler/optimization_passes/ite_expr_converter.py +6 -6
  56. angr/analyses/decompiler/optimization_passes/ite_region_converter.py +2 -2
  57. angr/analyses/decompiler/optimization_passes/lowered_switch_simplifier.py +7 -3
  58. angr/analyses/decompiler/optimization_passes/optimization_pass.py +34 -28
  59. angr/analyses/decompiler/optimization_passes/register_save_area_simplifier.py +2 -2
  60. angr/analyses/decompiler/optimization_passes/ret_addr_save_simplifier.py +1 -1
  61. angr/analyses/decompiler/optimization_passes/ret_deduplicator.py +3 -3
  62. angr/analyses/decompiler/optimization_passes/return_duplicator_base.py +5 -5
  63. angr/analyses/decompiler/optimization_passes/return_duplicator_high.py +1 -1
  64. angr/analyses/decompiler/peephole_optimizations/__init__.py +61 -19
  65. angr/analyses/decompiler/peephole_optimizations/simplify_pc_relative_loads.py +1 -1
  66. angr/analyses/decompiler/presets/__init__.py +20 -0
  67. angr/analyses/decompiler/presets/basic.py +30 -0
  68. angr/analyses/decompiler/presets/fast.py +54 -0
  69. angr/analyses/decompiler/presets/full.py +64 -0
  70. angr/analyses/decompiler/presets/preset.py +37 -0
  71. angr/analyses/decompiler/region_identifier.py +21 -7
  72. angr/analyses/decompiler/region_simplifiers/__init__.py +3 -0
  73. angr/analyses/decompiler/region_simplifiers/cascading_cond_transformer.py +3 -3
  74. angr/analyses/decompiler/region_simplifiers/cascading_ifs.py +3 -3
  75. angr/analyses/decompiler/region_simplifiers/expr_folding.py +2 -2
  76. angr/analyses/decompiler/region_simplifiers/goto.py +3 -3
  77. angr/analyses/decompiler/region_simplifiers/if_.py +2 -2
  78. angr/analyses/decompiler/region_simplifiers/ifelse.py +4 -4
  79. angr/analyses/decompiler/region_simplifiers/loop.py +4 -4
  80. angr/analyses/decompiler/region_simplifiers/node_address_finder.py +1 -1
  81. angr/analyses/decompiler/region_simplifiers/region_simplifier.py +6 -6
  82. angr/analyses/decompiler/region_simplifiers/switch_cluster_simplifier.py +12 -5
  83. angr/analyses/decompiler/region_simplifiers/switch_expr_simplifier.py +3 -3
  84. angr/analyses/decompiler/sequence_walker.py +11 -12
  85. angr/analyses/decompiler/structured_codegen/__init__.py +14 -0
  86. angr/analyses/decompiler/structured_codegen/base.py +1 -1
  87. angr/analyses/decompiler/structured_codegen/c.py +13 -13
  88. angr/analyses/decompiler/structured_codegen/dwarf_import.py +2 -2
  89. angr/analyses/decompiler/structuring/__init__.py +11 -1
  90. angr/analyses/decompiler/structuring/dream.py +8 -8
  91. angr/analyses/decompiler/structuring/phoenix.py +6 -6
  92. angr/analyses/decompiler/structuring/recursive_structurer.py +7 -7
  93. angr/analyses/decompiler/structuring/sailr.py +2 -2
  94. angr/analyses/decompiler/structuring/structurer_base.py +9 -4
  95. angr/analyses/decompiler/structuring/structurer_nodes.py +18 -9
  96. angr/analyses/decompiler/utils.py +4 -2
  97. angr/analyses/disassembly.py +6 -6
  98. angr/analyses/disassembly_utils.py +1 -1
  99. angr/analyses/dominance_frontier.py +1 -1
  100. angr/analyses/find_objects_static.py +5 -5
  101. angr/analyses/flirt.py +3 -3
  102. angr/analyses/forward_analysis/__init__.py +9 -0
  103. angr/analyses/forward_analysis/forward_analysis.py +4 -4
  104. angr/analyses/forward_analysis/job_info.py +1 -1
  105. angr/analyses/forward_analysis/visitors/__init__.py +9 -0
  106. angr/analyses/forward_analysis/visitors/graph.py +2 -2
  107. angr/analyses/identifier/__init__.py +3 -0
  108. angr/analyses/identifier/custom_callable.py +2 -3
  109. angr/analyses/identifier/errors.py +1 -1
  110. angr/analyses/identifier/functions/__init__.py +4 -4
  111. angr/analyses/identifier/functions/atoi.py +1 -1
  112. angr/analyses/identifier/functions/based_atoi.py +1 -1
  113. angr/analyses/identifier/functions/fdprintf.py +1 -1
  114. angr/analyses/identifier/functions/free.py +2 -2
  115. angr/analyses/identifier/functions/int2str.py +1 -1
  116. angr/analyses/identifier/functions/malloc.py +2 -2
  117. angr/analyses/identifier/functions/memcmp.py +1 -1
  118. angr/analyses/identifier/functions/memcpy.py +3 -3
  119. angr/analyses/identifier/functions/memset.py +1 -1
  120. angr/analyses/identifier/functions/printf.py +1 -1
  121. angr/analyses/identifier/functions/recv_until.py +2 -2
  122. angr/analyses/identifier/functions/skip_calloc.py +2 -2
  123. angr/analyses/identifier/functions/skip_realloc.py +2 -2
  124. angr/analyses/identifier/functions/skip_recv_n.py +1 -1
  125. angr/analyses/identifier/functions/snprintf.py +1 -1
  126. angr/analyses/identifier/functions/sprintf.py +1 -1
  127. angr/analyses/identifier/functions/strcmp.py +1 -1
  128. angr/analyses/identifier/functions/strcpy.py +1 -1
  129. angr/analyses/identifier/functions/strlen.py +1 -1
  130. angr/analyses/identifier/functions/strncmp.py +1 -1
  131. angr/analyses/identifier/functions/strncpy.py +1 -1
  132. angr/analyses/identifier/functions/strtol.py +1 -1
  133. angr/analyses/identifier/identify.py +3 -3
  134. angr/analyses/identifier/runner.py +6 -6
  135. angr/analyses/init_finder.py +1 -1
  136. angr/analyses/loop_analysis.py +2 -2
  137. angr/analyses/propagator/__init__.py +3 -0
  138. angr/analyses/propagator/engine_ail.py +4 -4
  139. angr/analyses/propagator/engine_base.py +2 -2
  140. angr/analyses/propagator/engine_vex.py +2 -2
  141. angr/analyses/propagator/outdated_definition_walker.py +3 -3
  142. angr/analyses/propagator/propagator.py +3 -3
  143. angr/analyses/propagator/top_checker_mixin.py +1 -1
  144. angr/analyses/proximity_graph.py +3 -3
  145. angr/analyses/reaching_definitions/__init__.py +6 -6
  146. angr/analyses/reaching_definitions/dep_graph.py +5 -5
  147. angr/analyses/reaching_definitions/engine_ail.py +8 -8
  148. angr/analyses/reaching_definitions/engine_vex.py +18 -13
  149. angr/analyses/reaching_definitions/heap_allocator.py +3 -3
  150. angr/analyses/reaching_definitions/rd_state.py +4 -10
  151. angr/analyses/reaching_definitions/reaching_definitions.py +11 -11
  152. angr/analyses/reaching_definitions/subject.py +3 -3
  153. angr/analyses/reassembler.py +5 -5
  154. angr/analyses/{s_propagator/s_propagator.py → s_propagator.py} +1 -1
  155. angr/analyses/s_reaching_definitions/__init__.py +11 -1
  156. angr/analyses/s_reaching_definitions/s_rda_model.py +117 -0
  157. angr/analyses/s_reaching_definitions/s_rda_view.py +213 -0
  158. angr/analyses/s_reaching_definitions/s_reaching_definitions.py +159 -0
  159. angr/analyses/stack_pointer_tracker.py +5 -5
  160. angr/analyses/static_hooker.py +2 -2
  161. angr/analyses/typehoon/__init__.py +3 -0
  162. angr/analyses/typehoon/lifter.py +1 -1
  163. angr/analyses/typehoon/translator.py +2 -2
  164. angr/analyses/typehoon/typehoon.py +3 -3
  165. angr/analyses/variable_recovery/__init__.py +6 -0
  166. angr/analyses/variable_recovery/engine_ail.py +5 -5
  167. angr/analyses/variable_recovery/engine_base.py +7 -7
  168. angr/analyses/variable_recovery/engine_vex.py +7 -7
  169. angr/analyses/variable_recovery/variable_recovery.py +5 -5
  170. angr/analyses/variable_recovery/variable_recovery_base.py +7 -7
  171. angr/analyses/variable_recovery/variable_recovery_fast.py +7 -7
  172. angr/analyses/veritesting.py +8 -8
  173. angr/analyses/vfg.py +13 -13
  174. angr/analyses/vsa_ddg.py +3 -3
  175. angr/analyses/vtable.py +1 -1
  176. angr/analyses/xrefs.py +3 -3
  177. angr/angrdb/__init__.py +3 -0
  178. angr/angrdb/db.py +2 -2
  179. angr/angrdb/serializers/__init__.py +7 -0
  180. angr/angrdb/serializers/cfg_model.py +2 -2
  181. angr/angrdb/serializers/comments.py +2 -2
  182. angr/angrdb/serializers/funcs.py +2 -2
  183. angr/angrdb/serializers/kb.py +2 -2
  184. angr/angrdb/serializers/labels.py +2 -2
  185. angr/angrdb/serializers/loader.py +2 -2
  186. angr/angrdb/serializers/structured_code.py +4 -4
  187. angr/angrdb/serializers/variables.py +3 -3
  188. angr/angrdb/serializers/xrefs.py +2 -2
  189. angr/concretization_strategies/__init__.py +17 -0
  190. angr/concretization_strategies/max.py +1 -1
  191. angr/concretization_strategies/norepeats_range.py +1 -1
  192. angr/distributed/__init__.py +6 -1
  193. angr/distributed/server.py +0 -1
  194. angr/distributed/worker.py +6 -4
  195. angr/engines/__init__.py +25 -0
  196. angr/engines/concrete.py +1 -2
  197. angr/engines/engine.py +3 -3
  198. angr/engines/failure.py +2 -2
  199. angr/engines/light/__init__.py +12 -0
  200. angr/engines/light/data.py +1 -1
  201. angr/engines/light/engine.py +6 -6
  202. angr/engines/pcode/__init__.py +7 -1
  203. angr/engines/pcode/behavior.py +1 -1
  204. angr/engines/pcode/cc.py +1 -1
  205. angr/engines/pcode/emulate.py +4 -4
  206. angr/engines/pcode/engine.py +3 -3
  207. angr/engines/pcode/lifter.py +7 -7
  208. angr/engines/procedure.py +3 -3
  209. angr/engines/soot/__init__.py +3 -0
  210. angr/engines/soot/engine.py +8 -8
  211. angr/engines/soot/expressions/__init__.py +33 -0
  212. angr/engines/soot/expressions/arrayref.py +1 -1
  213. angr/engines/soot/expressions/base.py +1 -1
  214. angr/engines/soot/expressions/cast.py +1 -1
  215. angr/engines/soot/expressions/condition.py +1 -1
  216. angr/engines/soot/expressions/constants.py +1 -1
  217. angr/engines/soot/expressions/invoke.py +2 -2
  218. angr/engines/soot/expressions/new.py +1 -1
  219. angr/engines/soot/expressions/newArray.py +1 -1
  220. angr/engines/soot/expressions/newMultiArray.py +1 -1
  221. angr/engines/soot/statements/__init__.py +16 -0
  222. angr/engines/soot/statements/assign.py +1 -1
  223. angr/engines/soot/statements/base.py +3 -3
  224. angr/engines/soot/values/__init__.py +14 -0
  225. angr/engines/soot/values/arrayref.py +1 -1
  226. angr/engines/soot/values/instancefieldref.py +1 -1
  227. angr/engines/soot/values/staticfieldref.py +1 -1
  228. angr/engines/soot/values/thisref.py +2 -2
  229. angr/engines/successors.py +7 -7
  230. angr/engines/syscall.py +1 -1
  231. angr/engines/unicorn.py +11 -11
  232. angr/engines/vex/__init__.py +18 -3
  233. angr/engines/vex/claripy/__init__.py +3 -0
  234. angr/engines/vex/claripy/ccall.py +1 -2
  235. angr/engines/vex/claripy/datalayer.py +3 -3
  236. angr/engines/vex/heavy/__init__.py +11 -1
  237. angr/engines/vex/heavy/heavy.py +6 -6
  238. angr/engines/vex/heavy/inspect.py +2 -2
  239. angr/engines/vex/heavy/resilience.py +2 -2
  240. angr/engines/vex/heavy/super_fastpath.py +3 -3
  241. angr/engines/vex/lifter.py +5 -5
  242. angr/engines/vex/light/__init__.py +7 -0
  243. angr/engines/vex/light/light.py +2 -2
  244. angr/engines/vex/light/slicing.py +1 -1
  245. angr/errors.py +0 -4
  246. angr/exploration_techniques/__init__.py +0 -1
  247. angr/exploration_techniques/bucketizer.py +9 -10
  248. angr/exploration_techniques/common.py +2 -2
  249. angr/exploration_techniques/director.py +4 -4
  250. angr/exploration_techniques/explorer.py +3 -3
  251. angr/exploration_techniques/loop_seer.py +3 -3
  252. angr/exploration_techniques/oppologist.py +3 -3
  253. angr/exploration_techniques/slicecutor.py +1 -1
  254. angr/exploration_techniques/spiller.py +1 -1
  255. angr/exploration_techniques/suggestions.py +4 -4
  256. angr/exploration_techniques/symbion.py +0 -1
  257. angr/exploration_techniques/threading.py +2 -2
  258. angr/exploration_techniques/tracer.py +3 -3
  259. angr/exploration_techniques/veritesting.py +1 -1
  260. angr/flirt/__init__.py +0 -1
  261. angr/{knowledge_base/knowledge_base.py → knowledge_base.py} +13 -15
  262. angr/knowledge_plugins/__init__.py +23 -1
  263. angr/knowledge_plugins/callsite_prototypes.py +2 -2
  264. angr/knowledge_plugins/cfg/cfg_manager.py +1 -1
  265. angr/knowledge_plugins/cfg/cfg_model.py +6 -6
  266. angr/knowledge_plugins/cfg/indirect_jump.py +1 -1
  267. angr/knowledge_plugins/cfg/memory_data.py +2 -2
  268. angr/knowledge_plugins/debug_variables.py +2 -2
  269. angr/knowledge_plugins/functions/__init__.py +6 -0
  270. angr/knowledge_plugins/functions/function.py +21 -16
  271. angr/knowledge_plugins/functions/function_manager.py +2 -2
  272. angr/knowledge_plugins/functions/function_parser.py +3 -3
  273. angr/knowledge_plugins/functions/soot_function.py +2 -2
  274. angr/knowledge_plugins/key_definitions/atoms.py +2 -2
  275. angr/knowledge_plugins/key_definitions/definition.py +3 -3
  276. angr/knowledge_plugins/key_definitions/key_definition_manager.py +2 -2
  277. angr/knowledge_plugins/key_definitions/uses.py +2 -2
  278. angr/knowledge_plugins/propagations/__init__.py +7 -0
  279. angr/knowledge_plugins/propagations/prop_value.py +1 -1
  280. angr/knowledge_plugins/{structured_code/manager.py → structured_code.py} +6 -3
  281. angr/knowledge_plugins/types.py +1 -1
  282. angr/knowledge_plugins/variables/__init__.py +6 -0
  283. angr/knowledge_plugins/variables/variable_access.py +3 -3
  284. angr/knowledge_plugins/variables/variable_manager.py +7 -7
  285. angr/knowledge_plugins/xrefs/__init__.py +9 -1
  286. angr/knowledge_plugins/xrefs/xref.py +5 -5
  287. angr/knowledge_plugins/xrefs/xref_manager.py +3 -3
  288. angr/misc/__init__.py +12 -2
  289. angr/misc/loggers.py +2 -2
  290. angr/procedures/__init__.py +9 -0
  291. angr/procedures/cgc/receive.py +2 -2
  292. angr/procedures/cgc/transmit.py +1 -1
  293. angr/procedures/definitions/__init__.py +8 -8
  294. angr/procedures/definitions/cgc.py +1 -1
  295. angr/procedures/definitions/glibc.py +2 -15
  296. angr/procedures/definitions/gnulib.py +2 -6
  297. angr/procedures/definitions/libstdcpp.py +2 -2
  298. angr/procedures/definitions/linux_kernel.py +2 -3
  299. angr/procedures/definitions/linux_loader.py +1 -1
  300. angr/procedures/definitions/msvcr.py +2 -2
  301. angr/procedures/definitions/wdk_api-ms-win-dx-d3dkmt-l1-1-4.py +3 -18
  302. angr/procedures/definitions/wdk_api-ms-win-dx-d3dkmt-l1-1-6.py +3 -18
  303. angr/procedures/definitions/wdk_clfs.py +3 -18
  304. angr/procedures/definitions/wdk_fltmgr.py +3 -18
  305. angr/procedures/definitions/wdk_fwpkclnt.py +3 -18
  306. angr/procedures/definitions/wdk_fwpuclnt.py +3 -18
  307. angr/procedures/definitions/wdk_gdi32.py +3 -18
  308. angr/procedures/definitions/wdk_hal.py +3 -18
  309. angr/procedures/definitions/wdk_ksecdd.py +3 -18
  310. angr/procedures/definitions/wdk_ndis.py +3 -18
  311. angr/procedures/definitions/wdk_ntoskrnl.py +3 -18
  312. angr/procedures/definitions/wdk_offreg.py +3 -18
  313. angr/procedures/definitions/wdk_pshed.py +3 -18
  314. angr/procedures/definitions/wdk_secur32.py +3 -18
  315. angr/procedures/definitions/wdk_vhfum.py +3 -18
  316. angr/procedures/definitions/win32_aclui.py +3 -18
  317. angr/procedures/definitions/win32_activeds.py +3 -18
  318. angr/procedures/definitions/win32_advapi32.py +3 -18
  319. angr/procedures/definitions/win32_advpack.py +3 -18
  320. angr/procedures/definitions/win32_amsi.py +3 -18
  321. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-1.py +3 -18
  322. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-3.py +3 -18
  323. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-6.py +3 -18
  324. angr/procedures/definitions/win32_api-ms-win-core-apiquery-l2-1-0.py +3 -18
  325. angr/procedures/definitions/win32_api-ms-win-core-backgroundtask-l1-1-0.py +3 -18
  326. angr/procedures/definitions/win32_api-ms-win-core-comm-l1-1-1.py +3 -18
  327. angr/procedures/definitions/win32_api-ms-win-core-comm-l1-1-2.py +3 -18
  328. angr/procedures/definitions/win32_api-ms-win-core-enclave-l1-1-1.py +3 -18
  329. angr/procedures/definitions/win32_api-ms-win-core-errorhandling-l1-1-3.py +3 -18
  330. angr/procedures/definitions/win32_api-ms-win-core-featurestaging-l1-1-0.py +3 -18
  331. angr/procedures/definitions/win32_api-ms-win-core-featurestaging-l1-1-1.py +3 -18
  332. angr/procedures/definitions/win32_api-ms-win-core-file-fromapp-l1-1-0.py +3 -18
  333. angr/procedures/definitions/win32_api-ms-win-core-handle-l1-1-0.py +3 -18
  334. angr/procedures/definitions/win32_api-ms-win-core-ioring-l1-1-0.py +3 -18
  335. angr/procedures/definitions/win32_api-ms-win-core-marshal-l1-1-0.py +3 -18
  336. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-3.py +3 -18
  337. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-4.py +3 -18
  338. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-5.py +3 -18
  339. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-6.py +3 -18
  340. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-7.py +3 -18
  341. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-8.py +3 -18
  342. angr/procedures/definitions/win32_api-ms-win-core-path-l1-1-0.py +3 -18
  343. angr/procedures/definitions/win32_api-ms-win-core-psm-appnotify-l1-1-0.py +3 -18
  344. angr/procedures/definitions/win32_api-ms-win-core-psm-appnotify-l1-1-1.py +3 -18
  345. angr/procedures/definitions/win32_api-ms-win-core-realtime-l1-1-1.py +3 -18
  346. angr/procedures/definitions/win32_api-ms-win-core-realtime-l1-1-2.py +3 -18
  347. angr/procedures/definitions/win32_api-ms-win-core-slapi-l1-1-0.py +3 -18
  348. angr/procedures/definitions/win32_api-ms-win-core-state-helpers-l1-1-0.py +3 -18
  349. angr/procedures/definitions/win32_api-ms-win-core-synch-l1-2-0.py +3 -18
  350. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-0.py +3 -18
  351. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-3.py +3 -18
  352. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-4.py +3 -18
  353. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-6.py +3 -18
  354. angr/procedures/definitions/win32_api-ms-win-core-util-l1-1-1.py +3 -18
  355. angr/procedures/definitions/win32_api-ms-win-core-winrt-error-l1-1-0.py +3 -3
  356. angr/procedures/definitions/win32_api-ms-win-core-winrt-error-l1-1-1.py +3 -3
  357. angr/procedures/definitions/win32_api-ms-win-core-winrt-l1-1-0.py +3 -3
  358. angr/procedures/definitions/win32_api-ms-win-core-winrt-registration-l1-1-0.py +3 -3
  359. angr/procedures/definitions/win32_api-ms-win-core-winrt-robuffer-l1-1-0.py +3 -3
  360. angr/procedures/definitions/win32_api-ms-win-core-winrt-roparameterizediid-l1-1-0.py +3 -3
  361. angr/procedures/definitions/win32_api-ms-win-core-winrt-string-l1-1-0.py +3 -3
  362. angr/procedures/definitions/win32_api-ms-win-core-winrt-string-l1-1-1.py +3 -3
  363. angr/procedures/definitions/win32_api-ms-win-core-wow64-l1-1-1.py +3 -18
  364. angr/procedures/definitions/win32_api-ms-win-devices-query-l1-1-0.py +3 -18
  365. angr/procedures/definitions/win32_api-ms-win-devices-query-l1-1-1.py +3 -18
  366. angr/procedures/definitions/win32_api-ms-win-dx-d3dkmt-l1-1-0.py +3 -18
  367. angr/procedures/definitions/win32_api-ms-win-gaming-deviceinformation-l1-1-0.py +3 -18
  368. angr/procedures/definitions/win32_api-ms-win-gaming-expandedresources-l1-1-0.py +3 -18
  369. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-0.py +3 -18
  370. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-1.py +3 -18
  371. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-2.py +3 -18
  372. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-3.py +3 -18
  373. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-4.py +3 -18
  374. angr/procedures/definitions/win32_api-ms-win-mm-misc-l1-1-1.py +3 -18
  375. angr/procedures/definitions/win32_api-ms-win-net-isolation-l1-1-0.py +3 -18
  376. angr/procedures/definitions/win32_api-ms-win-security-base-l1-2-2.py +3 -18
  377. angr/procedures/definitions/win32_api-ms-win-security-isolatedcontainer-l1-1-0.py +3 -18
  378. angr/procedures/definitions/win32_api-ms-win-security-isolatedcontainer-l1-1-1.py +3 -18
  379. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-3.py +3 -18
  380. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-4.py +3 -18
  381. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-5.py +3 -18
  382. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-0.py +3 -18
  383. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-1.py +3 -18
  384. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-2.py +3 -18
  385. angr/procedures/definitions/win32_api-ms-win-shcore-stream-winrt-l1-1-0.py +3 -3
  386. angr/procedures/definitions/win32_api-ms-win-wsl-api-l1-1-0.py +3 -18
  387. angr/procedures/definitions/win32_apphelp.py +3 -18
  388. angr/procedures/definitions/win32_authz.py +3 -18
  389. angr/procedures/definitions/win32_avicap32.py +3 -18
  390. angr/procedures/definitions/win32_avifil32.py +3 -18
  391. angr/procedures/definitions/win32_avrt.py +3 -18
  392. angr/procedures/definitions/win32_bcp47mrm.py +3 -18
  393. angr/procedures/definitions/win32_bcrypt.py +3 -18
  394. angr/procedures/definitions/win32_bcryptprimitives.py +3 -18
  395. angr/procedures/definitions/win32_bluetoothapis.py +3 -18
  396. angr/procedures/definitions/win32_bthprops.py +3 -3
  397. angr/procedures/definitions/win32_bthprops_cpl.py +3 -18
  398. angr/procedures/definitions/win32_cabinet.py +3 -18
  399. angr/procedures/definitions/win32_certadm.py +3 -18
  400. angr/procedures/definitions/win32_certpoleng.py +3 -18
  401. angr/procedures/definitions/win32_cfgmgr32.py +3 -18
  402. angr/procedures/definitions/win32_chakra.py +3 -18
  403. angr/procedures/definitions/win32_cldapi.py +3 -18
  404. angr/procedures/definitions/win32_clfsw32.py +3 -18
  405. angr/procedures/definitions/win32_clusapi.py +3 -18
  406. angr/procedures/definitions/win32_comctl32.py +3 -18
  407. angr/procedures/definitions/win32_comdlg32.py +3 -18
  408. angr/procedures/definitions/win32_compstui.py +3 -18
  409. angr/procedures/definitions/win32_computecore.py +3 -18
  410. angr/procedures/definitions/win32_computenetwork.py +3 -18
  411. angr/procedures/definitions/win32_computestorage.py +3 -18
  412. angr/procedures/definitions/win32_comsvcs.py +3 -18
  413. angr/procedures/definitions/win32_coremessaging.py +3 -3
  414. angr/procedures/definitions/win32_credui.py +3 -18
  415. angr/procedures/definitions/win32_crypt32.py +3 -18
  416. angr/procedures/definitions/win32_cryptnet.py +3 -18
  417. angr/procedures/definitions/win32_cryptui.py +3 -18
  418. angr/procedures/definitions/win32_cryptxml.py +3 -18
  419. angr/procedures/definitions/win32_cscapi.py +3 -18
  420. angr/procedures/definitions/win32_d2d1.py +3 -18
  421. angr/procedures/definitions/win32_d3d10.py +3 -18
  422. angr/procedures/definitions/win32_d3d10_1.py +3 -18
  423. angr/procedures/definitions/win32_d3d11.py +3 -18
  424. angr/procedures/definitions/win32_d3d12.py +3 -18
  425. angr/procedures/definitions/win32_d3d9.py +3 -18
  426. angr/procedures/definitions/win32_d3dcompiler_47.py +3 -18
  427. angr/procedures/definitions/win32_d3dcsx.py +3 -18
  428. angr/procedures/definitions/win32_davclnt.py +3 -18
  429. angr/procedures/definitions/win32_dbgeng.py +3 -18
  430. angr/procedures/definitions/win32_dbghelp.py +3 -18
  431. angr/procedures/definitions/win32_dbgmodel.py +3 -18
  432. angr/procedures/definitions/win32_dciman32.py +3 -18
  433. angr/procedures/definitions/win32_dcomp.py +3 -18
  434. angr/procedures/definitions/win32_ddraw.py +3 -18
  435. angr/procedures/definitions/win32_deviceaccess.py +3 -18
  436. angr/procedures/definitions/win32_dflayout.py +3 -18
  437. angr/procedures/definitions/win32_dhcpcsvc.py +3 -18
  438. angr/procedures/definitions/win32_dhcpcsvc6.py +3 -18
  439. angr/procedures/definitions/win32_dhcpsapi.py +3 -18
  440. angr/procedures/definitions/win32_diagnosticdataquery.py +3 -18
  441. angr/procedures/definitions/win32_dinput8.py +3 -18
  442. angr/procedures/definitions/win32_directml.py +3 -18
  443. angr/procedures/definitions/win32_dmprocessxmlfiltered.py +3 -18
  444. angr/procedures/definitions/win32_dnsapi.py +3 -18
  445. angr/procedures/definitions/win32_drt.py +3 -18
  446. angr/procedures/definitions/win32_drtprov.py +3 -18
  447. angr/procedures/definitions/win32_drttransport.py +3 -18
  448. angr/procedures/definitions/win32_dsound.py +3 -18
  449. angr/procedures/definitions/win32_dsparse.py +3 -18
  450. angr/procedures/definitions/win32_dsprop.py +3 -18
  451. angr/procedures/definitions/win32_dssec.py +3 -18
  452. angr/procedures/definitions/win32_dsuiext.py +3 -18
  453. angr/procedures/definitions/win32_dwmapi.py +3 -18
  454. angr/procedures/definitions/win32_dwrite.py +3 -18
  455. angr/procedures/definitions/win32_dxcompiler.py +3 -18
  456. angr/procedures/definitions/win32_dxcore.py +3 -18
  457. angr/procedures/definitions/win32_dxgi.py +3 -18
  458. angr/procedures/definitions/win32_dxva2.py +3 -18
  459. angr/procedures/definitions/win32_eappcfg.py +3 -18
  460. angr/procedures/definitions/win32_eappprxy.py +3 -18
  461. angr/procedures/definitions/win32_efswrt.py +3 -18
  462. angr/procedures/definitions/win32_elscore.py +3 -18
  463. angr/procedures/definitions/win32_esent.py +3 -18
  464. angr/procedures/definitions/win32_evr.py +3 -18
  465. angr/procedures/definitions/win32_faultrep.py +3 -18
  466. angr/procedures/definitions/win32_fhsvcctl.py +3 -18
  467. angr/procedures/definitions/win32_firewallapi.py +3 -18
  468. angr/procedures/definitions/win32_fltlib.py +3 -18
  469. angr/procedures/definitions/win32_fontsub.py +3 -18
  470. angr/procedures/definitions/win32_forceinline.py +3 -18
  471. angr/procedures/definitions/win32_fwpuclnt.py +3 -18
  472. angr/procedures/definitions/win32_fxsutility.py +3 -18
  473. angr/procedures/definitions/win32_gdi32.py +3 -18
  474. angr/procedures/definitions/win32_gdiplus.py +3 -18
  475. angr/procedures/definitions/win32_glu32.py +3 -18
  476. angr/procedures/definitions/win32_gpedit.py +3 -18
  477. angr/procedures/definitions/win32_hhctrl_ocx.py +3 -18
  478. angr/procedures/definitions/win32_hid.py +3 -18
  479. angr/procedures/definitions/win32_hlink.py +3 -18
  480. angr/procedures/definitions/win32_hrtfapo.py +3 -18
  481. angr/procedures/definitions/win32_httpapi.py +3 -18
  482. angr/procedures/definitions/win32_icm32.py +3 -18
  483. angr/procedures/definitions/win32_icmui.py +3 -18
  484. angr/procedures/definitions/win32_icu.py +3 -18
  485. angr/procedures/definitions/win32_ieframe.py +3 -18
  486. angr/procedures/definitions/win32_imagehlp.py +3 -18
  487. angr/procedures/definitions/win32_imgutil.py +3 -18
  488. angr/procedures/definitions/win32_imm32.py +3 -18
  489. angr/procedures/definitions/win32_infocardapi.py +3 -18
  490. angr/procedures/definitions/win32_inkobjcore.py +3 -18
  491. angr/procedures/definitions/win32_iphlpapi.py +3 -18
  492. angr/procedures/definitions/win32_iscsidsc.py +3 -18
  493. angr/procedures/definitions/win32_isolatedwindowsenvironmentutils.py +3 -18
  494. angr/procedures/definitions/win32_kernel32.py +3 -18
  495. angr/procedures/definitions/win32_kernelbase.py +3 -18
  496. angr/procedures/definitions/win32_keycredmgr.py +3 -18
  497. angr/procedures/definitions/win32_ksproxy_ax.py +3 -18
  498. angr/procedures/definitions/win32_ksuser.py +3 -18
  499. angr/procedures/definitions/win32_ktmw32.py +3 -18
  500. angr/procedures/definitions/win32_licenseprotection.py +3 -18
  501. angr/procedures/definitions/win32_loadperf.py +3 -18
  502. angr/procedures/definitions/win32_magnification.py +3 -18
  503. angr/procedures/definitions/win32_mapi32.py +3 -18
  504. angr/procedures/definitions/win32_mdmlocalmanagement.py +3 -18
  505. angr/procedures/definitions/win32_mdmregistration.py +3 -18
  506. angr/procedures/definitions/win32_mf.py +3 -18
  507. angr/procedures/definitions/win32_mfcore.py +3 -18
  508. angr/procedures/definitions/win32_mfplat.py +3 -18
  509. angr/procedures/definitions/win32_mfplay.py +3 -18
  510. angr/procedures/definitions/win32_mfreadwrite.py +3 -18
  511. angr/procedures/definitions/win32_mfsensorgroup.py +3 -18
  512. angr/procedures/definitions/win32_mfsrcsnk.py +3 -18
  513. angr/procedures/definitions/win32_mgmtapi.py +3 -18
  514. angr/procedures/definitions/win32_mi.py +3 -18
  515. angr/procedures/definitions/win32_mmdevapi.py +3 -18
  516. angr/procedures/definitions/win32_mpr.py +3 -18
  517. angr/procedures/definitions/win32_mprapi.py +3 -18
  518. angr/procedures/definitions/win32_mqrt.py +3 -18
  519. angr/procedures/definitions/win32_mrmsupport.py +3 -18
  520. angr/procedures/definitions/win32_msacm32.py +3 -18
  521. angr/procedures/definitions/win32_msajapi.py +3 -18
  522. angr/procedures/definitions/win32_mscms.py +3 -18
  523. angr/procedures/definitions/win32_mscoree.py +3 -18
  524. angr/procedures/definitions/win32_msctfmonitor.py +3 -18
  525. angr/procedures/definitions/win32_msdelta.py +3 -18
  526. angr/procedures/definitions/win32_msdmo.py +3 -18
  527. angr/procedures/definitions/win32_msdrm.py +3 -18
  528. angr/procedures/definitions/win32_msi.py +3 -18
  529. angr/procedures/definitions/win32_msimg32.py +3 -18
  530. angr/procedures/definitions/win32_mspatcha.py +3 -18
  531. angr/procedures/definitions/win32_mspatchc.py +3 -18
  532. angr/procedures/definitions/win32_msports.py +3 -18
  533. angr/procedures/definitions/win32_msrating.py +3 -18
  534. angr/procedures/definitions/win32_mssign32.py +3 -18
  535. angr/procedures/definitions/win32_mstask.py +3 -18
  536. angr/procedures/definitions/win32_msvfw32.py +3 -18
  537. angr/procedures/definitions/win32_mswsock.py +3 -18
  538. angr/procedures/definitions/win32_mtxdm.py +3 -18
  539. angr/procedures/definitions/win32_ncrypt.py +3 -18
  540. angr/procedures/definitions/win32_ndfapi.py +3 -18
  541. angr/procedures/definitions/win32_netapi32.py +3 -18
  542. angr/procedures/definitions/win32_netsh.py +3 -18
  543. angr/procedures/definitions/win32_netshell.py +3 -18
  544. angr/procedures/definitions/win32_newdev.py +3 -18
  545. angr/procedures/definitions/win32_ninput.py +3 -18
  546. angr/procedures/definitions/win32_normaliz.py +3 -18
  547. angr/procedures/definitions/win32_ntdll.py +3 -18
  548. angr/procedures/definitions/win32_ntdllk.py +3 -18
  549. angr/procedures/definitions/win32_ntdsapi.py +3 -18
  550. angr/procedures/definitions/win32_ntlanman.py +3 -18
  551. angr/procedures/definitions/win32_odbc32.py +3 -18
  552. angr/procedures/definitions/win32_odbcbcp.py +3 -18
  553. angr/procedures/definitions/win32_ole32.py +3 -18
  554. angr/procedures/definitions/win32_oleacc.py +3 -18
  555. angr/procedures/definitions/win32_oleaut32.py +3 -18
  556. angr/procedures/definitions/win32_oledlg.py +3 -18
  557. angr/procedures/definitions/win32_ondemandconnroutehelper.py +3 -18
  558. angr/procedures/definitions/win32_opengl32.py +3 -18
  559. angr/procedures/definitions/win32_opmxbox.py +3 -18
  560. angr/procedures/definitions/win32_p2p.py +3 -18
  561. angr/procedures/definitions/win32_p2pgraph.py +3 -18
  562. angr/procedures/definitions/win32_pdh.py +3 -18
  563. angr/procedures/definitions/win32_peerdist.py +3 -18
  564. angr/procedures/definitions/win32_powrprof.py +3 -18
  565. angr/procedures/definitions/win32_prntvpt.py +3 -18
  566. angr/procedures/definitions/win32_projectedfslib.py +3 -18
  567. angr/procedures/definitions/win32_propsys.py +3 -18
  568. angr/procedures/definitions/win32_psapi.py +3 -18
  569. angr/procedures/definitions/win32_quartz.py +3 -18
  570. angr/procedures/definitions/win32_query.py +3 -18
  571. angr/procedures/definitions/win32_qwave.py +3 -18
  572. angr/procedures/definitions/win32_rasapi32.py +3 -18
  573. angr/procedures/definitions/win32_rasdlg.py +3 -18
  574. angr/procedures/definitions/win32_resutils.py +3 -18
  575. angr/procedures/definitions/win32_rometadata.py +3 -3
  576. angr/procedures/definitions/win32_rpcns4.py +3 -18
  577. angr/procedures/definitions/win32_rpcproxy.py +3 -18
  578. angr/procedures/definitions/win32_rpcrt4.py +3 -18
  579. angr/procedures/definitions/win32_rstrtmgr.py +3 -18
  580. angr/procedures/definitions/win32_rtm.py +3 -18
  581. angr/procedures/definitions/win32_rtutils.py +3 -18
  582. angr/procedures/definitions/win32_rtworkq.py +3 -18
  583. angr/procedures/definitions/win32_sas.py +3 -18
  584. angr/procedures/definitions/win32_scarddlg.py +3 -18
  585. angr/procedures/definitions/win32_schannel.py +3 -18
  586. angr/procedures/definitions/win32_sechost.py +3 -18
  587. angr/procedures/definitions/win32_secur32.py +3 -18
  588. angr/procedures/definitions/win32_sensapi.py +3 -18
  589. angr/procedures/definitions/win32_sensorsutilsv2.py +3 -18
  590. angr/procedures/definitions/win32_setupapi.py +3 -18
  591. angr/procedures/definitions/win32_sfc.py +3 -18
  592. angr/procedures/definitions/win32_shdocvw.py +3 -18
  593. angr/procedures/definitions/win32_shell32.py +3 -18
  594. angr/procedures/definitions/win32_shlwapi.py +3 -18
  595. angr/procedures/definitions/win32_slc.py +3 -18
  596. angr/procedures/definitions/win32_slcext.py +3 -18
  597. angr/procedures/definitions/win32_slwga.py +3 -18
  598. angr/procedures/definitions/win32_snmpapi.py +3 -18
  599. angr/procedures/definitions/win32_spoolss.py +3 -18
  600. angr/procedures/definitions/win32_srclient.py +3 -18
  601. angr/procedures/definitions/win32_srpapi.py +3 -18
  602. angr/procedures/definitions/win32_sspicli.py +3 -18
  603. angr/procedures/definitions/win32_sti.py +3 -18
  604. angr/procedures/definitions/win32_t2embed.py +3 -18
  605. angr/procedures/definitions/win32_tapi32.py +3 -18
  606. angr/procedures/definitions/win32_tbs.py +3 -18
  607. angr/procedures/definitions/win32_tdh.py +3 -18
  608. angr/procedures/definitions/win32_tokenbinding.py +3 -18
  609. angr/procedures/definitions/win32_traffic.py +3 -18
  610. angr/procedures/definitions/win32_txfw32.py +3 -18
  611. angr/procedures/definitions/win32_ualapi.py +3 -18
  612. angr/procedures/definitions/win32_uiautomationcore.py +3 -18
  613. angr/procedures/definitions/win32_urlmon.py +3 -18
  614. angr/procedures/definitions/win32_user32.py +4 -19
  615. angr/procedures/definitions/win32_userenv.py +3 -18
  616. angr/procedures/definitions/win32_usp10.py +3 -18
  617. angr/procedures/definitions/win32_uxtheme.py +3 -18
  618. angr/procedures/definitions/win32_verifier.py +3 -18
  619. angr/procedures/definitions/win32_version.py +3 -18
  620. angr/procedures/definitions/win32_vertdll.py +3 -18
  621. angr/procedures/definitions/win32_virtdisk.py +3 -18
  622. angr/procedures/definitions/win32_vmdevicehost.py +3 -18
  623. angr/procedures/definitions/win32_vmsavedstatedumpprovider.py +3 -18
  624. angr/procedures/definitions/win32_vssapi.py +3 -18
  625. angr/procedures/definitions/win32_wcmapi.py +3 -18
  626. angr/procedures/definitions/win32_wdsbp.py +3 -18
  627. angr/procedures/definitions/win32_wdsclientapi.py +3 -18
  628. angr/procedures/definitions/win32_wdsmc.py +3 -18
  629. angr/procedures/definitions/win32_wdspxe.py +3 -18
  630. angr/procedures/definitions/win32_wdstptc.py +3 -18
  631. angr/procedures/definitions/win32_webauthn.py +3 -18
  632. angr/procedures/definitions/win32_webservices.py +3 -18
  633. angr/procedures/definitions/win32_websocket.py +3 -18
  634. angr/procedures/definitions/win32_wecapi.py +3 -18
  635. angr/procedures/definitions/win32_wer.py +3 -18
  636. angr/procedures/definitions/win32_wevtapi.py +3 -18
  637. angr/procedures/definitions/win32_winbio.py +3 -18
  638. angr/procedures/definitions/win32_windows_ai_machinelearning.py +3 -18
  639. angr/procedures/definitions/win32_windows_data_pdf.py +3 -3
  640. angr/procedures/definitions/win32_windows_media_mediacontrol.py +3 -18
  641. angr/procedures/definitions/win32_windows_networking.py +3 -18
  642. angr/procedures/definitions/win32_windows_ui_xaml.py +3 -18
  643. angr/procedures/definitions/win32_windowscodecs.py +3 -18
  644. angr/procedures/definitions/win32_winfax.py +3 -18
  645. angr/procedures/definitions/win32_winhttp.py +3 -18
  646. angr/procedures/definitions/win32_winhvemulation.py +3 -18
  647. angr/procedures/definitions/win32_winhvplatform.py +3 -18
  648. angr/procedures/definitions/win32_wininet.py +3 -18
  649. angr/procedures/definitions/win32_winml.py +3 -18
  650. angr/procedures/definitions/win32_winmm.py +3 -18
  651. angr/procedures/definitions/win32_winscard.py +3 -18
  652. angr/procedures/definitions/win32_winspool.py +3 -3
  653. angr/procedures/definitions/win32_winspool_drv.py +3 -18
  654. angr/procedures/definitions/win32_wintrust.py +3 -18
  655. angr/procedures/definitions/win32_winusb.py +3 -18
  656. angr/procedures/definitions/win32_wlanapi.py +3 -18
  657. angr/procedures/definitions/win32_wlanui.py +3 -18
  658. angr/procedures/definitions/win32_wldap32.py +3 -18
  659. angr/procedures/definitions/win32_wldp.py +3 -18
  660. angr/procedures/definitions/win32_wmvcore.py +3 -18
  661. angr/procedures/definitions/win32_wnvapi.py +3 -18
  662. angr/procedures/definitions/win32_wofutil.py +3 -18
  663. angr/procedures/definitions/win32_ws2_32.py +3 -18
  664. angr/procedures/definitions/win32_wscapi.py +3 -18
  665. angr/procedures/definitions/win32_wsclient.py +3 -18
  666. angr/procedures/definitions/win32_wsdapi.py +3 -18
  667. angr/procedures/definitions/win32_wsmsvc.py +3 -18
  668. angr/procedures/definitions/win32_wsnmp32.py +3 -18
  669. angr/procedures/definitions/win32_wtsapi32.py +3 -18
  670. angr/procedures/definitions/win32_xaudio2_8.py +3 -18
  671. angr/procedures/definitions/win32_xinput1_4.py +3 -18
  672. angr/procedures/definitions/win32_xinputuap.py +3 -3
  673. angr/procedures/definitions/win32_xmllite.py +3 -18
  674. angr/procedures/definitions/win32_xolehlp.py +3 -18
  675. angr/procedures/definitions/win32_xpsprint.py +3 -18
  676. angr/procedures/glibc/scanf.py +2 -2
  677. angr/procedures/glibc/sscanf.py +1 -1
  678. angr/procedures/java/__init__.py +6 -3
  679. angr/procedures/java/unconstrained.py +3 -3
  680. angr/procedures/java_io/read.py +1 -1
  681. angr/procedures/java_io/write.py +1 -1
  682. angr/procedures/java_jni/__init__.py +4 -4
  683. angr/procedures/java_jni/array_operations.py +2 -2
  684. angr/procedures/java_jni/field_access.py +3 -3
  685. angr/procedures/java_jni/method_calls.py +2 -2
  686. angr/procedures/java_jni/object_operations.py +1 -1
  687. angr/procedures/java_jni/string_operations.py +1 -1
  688. angr/procedures/java_lang/character.py +1 -1
  689. angr/procedures/java_lang/double.py +1 -1
  690. angr/procedures/java_lang/exit.py +1 -1
  691. angr/procedures/java_lang/getsimplename.py +1 -1
  692. angr/procedures/java_lang/integer.py +2 -2
  693. angr/procedures/java_lang/load_library.py +1 -1
  694. angr/procedures/java_lang/math.py +1 -1
  695. angr/procedures/java_lang/string.py +3 -3
  696. angr/procedures/java_lang/stringbuilder.py +2 -2
  697. angr/procedures/java_lang/system.py +1 -1
  698. angr/procedures/java_util/collection.py +2 -2
  699. angr/procedures/java_util/iterator.py +2 -2
  700. angr/procedures/java_util/list.py +3 -3
  701. angr/procedures/java_util/map.py +3 -3
  702. angr/procedures/java_util/random.py +1 -1
  703. angr/procedures/java_util/scanner_nextline.py +2 -2
  704. angr/procedures/libc/fseek.py +1 -1
  705. angr/procedures/libc/memcpy.py +1 -1
  706. angr/procedures/libc/strlen.py +12 -4
  707. angr/procedures/libc/strncmp.py +9 -4
  708. angr/procedures/linux_kernel/iovec.py +3 -3
  709. angr/procedures/linux_kernel/mmap.py +1 -1
  710. angr/procedures/linux_kernel/stat.py +1 -1
  711. angr/procedures/linux_kernel/sysinfo.py +1 -1
  712. angr/procedures/posix/bzero.py +1 -1
  713. angr/procedures/posix/mmap.py +1 -1
  714. angr/procedures/posix/send.py +1 -1
  715. angr/procedures/posix/syslog.py +2 -3
  716. angr/procedures/procedure_dict.py +2 -2
  717. angr/procedures/stubs/format_parser.py +5 -5
  718. angr/procedures/tracer/random.py +1 -1
  719. angr/procedures/tracer/receive.py +1 -1
  720. angr/procedures/tracer/transmit.py +1 -1
  721. angr/procedures/uclibc/__uClibc_main.py +1 -1
  722. angr/protos/__init__.py +8 -0
  723. angr/sim_options.py +0 -4
  724. angr/sim_type.py +9 -18
  725. angr/simos/__init__.py +12 -0
  726. angr/simos/cgc.py +5 -5
  727. angr/simos/javavm.py +12 -12
  728. angr/simos/linux.py +5 -5
  729. angr/simos/simos.py +11 -15
  730. angr/simos/userland.py +3 -3
  731. angr/simos/windows.py +5 -10
  732. angr/state_plugins/__init__.py +84 -28
  733. angr/state_plugins/callstack.py +1 -1
  734. angr/state_plugins/concrete.py +3 -4
  735. angr/state_plugins/filesystem.py +3 -3
  736. angr/state_plugins/gdb.py +1 -1
  737. angr/state_plugins/heap/__init__.py +14 -5
  738. angr/state_plugins/heap/heap_base.py +5 -4
  739. angr/state_plugins/heap/heap_brk.py +1 -1
  740. angr/state_plugins/heap/heap_freelist.py +1 -1
  741. angr/state_plugins/heap/heap_ptmalloc.py +2 -20
  742. angr/state_plugins/heap/utils.py +1 -1
  743. angr/state_plugins/history.py +2 -2
  744. angr/state_plugins/javavm_classloader.py +3 -3
  745. angr/state_plugins/jni_references.py +1 -1
  746. angr/state_plugins/light_registers.py +3 -3
  747. angr/state_plugins/log.py +1 -1
  748. angr/state_plugins/plugin.py +3 -2
  749. angr/state_plugins/posix.py +3 -3
  750. angr/state_plugins/preconstrainer.py +4 -4
  751. angr/state_plugins/scratch.py +3 -3
  752. angr/state_plugins/sim_action_object.py +1 -1
  753. angr/state_plugins/solver.py +14 -18
  754. angr/state_plugins/symbolizer.py +2 -3
  755. angr/state_plugins/uc_manager.py +1 -1
  756. angr/state_plugins/unicorn_engine.py +4 -4
  757. angr/state_plugins/view.py +1 -1
  758. angr/storage/__init__.py +9 -3
  759. angr/storage/file.py +4 -4
  760. angr/storage/memory_mixins/__init__.py +88 -6
  761. angr/storage/memory_mixins/actions_mixin.py +2 -2
  762. angr/storage/memory_mixins/address_concretization_mixin.py +6 -6
  763. angr/storage/memory_mixins/bvv_conversion_mixin.py +1 -1
  764. angr/storage/memory_mixins/clouseau_mixin.py +1 -1
  765. angr/storage/memory_mixins/convenient_mappings_mixin.py +2 -2
  766. angr/storage/memory_mixins/default_filler_mixin.py +3 -3
  767. angr/storage/memory_mixins/hex_dumper_mixin.py +1 -1
  768. angr/storage/memory_mixins/{javavm_memory/javavm_memory_mixin.py → javavm_memory_mixin.py} +15 -12
  769. angr/storage/memory_mixins/{keyvalue_memory/keyvalue_memory_mixin.py → keyvalue_memory_mixin.py} +11 -6
  770. angr/storage/memory_mixins/name_resolution_mixin.py +2 -2
  771. angr/storage/memory_mixins/paged_memory/paged_memory_mixin.py +1 -1
  772. angr/storage/memory_mixins/paged_memory/paged_memory_multivalue_mixin.py +1 -1
  773. angr/storage/memory_mixins/paged_memory/pages/__init__.py +15 -0
  774. angr/storage/memory_mixins/paged_memory/pages/mv_list_page.py +1 -1
  775. angr/storage/memory_mixins/paged_memory/pages/ultra_page.py +1 -1
  776. angr/storage/memory_mixins/paged_memory/stack_allocation_mixin.py +2 -2
  777. angr/storage/memory_mixins/regioned_memory/__init__.py +10 -0
  778. angr/storage/memory_mixins/regioned_memory/abstract_merger_mixin.py +1 -1
  779. angr/storage/memory_mixins/regioned_memory/region_category_mixin.py +1 -1
  780. angr/storage/memory_mixins/regioned_memory/region_data.py +2 -2
  781. angr/storage/memory_mixins/regioned_memory/region_meta_mixin.py +1 -1
  782. angr/storage/memory_mixins/regioned_memory/regioned_address_concretization_mixin.py +4 -4
  783. angr/storage/memory_mixins/regioned_memory/regioned_memory_mixin.py +7 -19
  784. angr/storage/memory_mixins/regioned_memory/static_find_mixin.py +1 -1
  785. angr/storage/memory_mixins/simple_interface_mixin.py +1 -1
  786. angr/storage/memory_mixins/simplification_mixin.py +1 -1
  787. angr/storage/memory_mixins/size_resolution_mixin.py +1 -1
  788. angr/storage/memory_mixins/slotted_memory.py +1 -1
  789. angr/storage/memory_mixins/smart_find_mixin.py +1 -1
  790. angr/storage/memory_mixins/underconstrained_mixin.py +1 -1
  791. angr/storage/memory_mixins/unwrapper_mixin.py +1 -1
  792. angr/storage/memory_object.py +1 -1
  793. angr/utils/__init__.py +12 -0
  794. angr/utils/enums_conv.py +1 -1
  795. angr/utils/library.py +2 -2
  796. angr/utils/mp.py +1 -1
  797. {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/METADATA +6 -7
  798. angr-9.2.120.dist-info/RECORD +1340 -0
  799. angr/analyses/s_liveness/__init__.py +0 -2
  800. angr/analyses/s_propagator/__init__.py +0 -2
  801. angr/analyses/s_reaching_definitions/s_rda.py +0 -479
  802. angr/knowledge_base/__init__.py +0 -2
  803. angr/knowledge_plugins/structured_code/__init__.py +0 -2
  804. angr/knowledge_plugins/sync/__init__.py +0 -2
  805. angr/knowledge_plugins/sync/sync_controller.py +0 -324
  806. angr/misc/range.py +0 -24
  807. angr/misc/weakpatch.py +0 -59
  808. angr/storage/memory_mixins/javavm_memory/__init__.py +0 -2
  809. angr/storage/memory_mixins/keyvalue_memory/__init__.py +0 -2
  810. angr/storage/pcap.py +0 -65
  811. angr/utils/typing.py +0 -18
  812. angr-9.2.119.dist-info/RECORD +0 -1345
  813. /angr/analyses/{s_liveness/s_liveness.py → s_liveness.py} +0 -0
  814. {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/LICENSE +0 -0
  815. {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/WHEEL +0 -0
  816. {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/entry_points.txt +0 -0
  817. {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
  import random
3
3
 
4
- from ..func import Func, TestData
4
+ from angr.analyses.identifier.func import Func, TestData
5
5
 
6
6
 
7
7
  class strlen(Func):
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
  import random
3
3
 
4
- from ..func import Func, TestData
4
+ from angr.analyses.identifier.func import Func, TestData
5
5
 
6
6
 
7
7
  def rand_str(length, byte_list=None):
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
  import random
3
3
 
4
- from ..func import Func, TestData
4
+ from angr.analyses.identifier.func import Func, TestData
5
5
 
6
6
 
7
7
  def rand_str(length, byte_list=None):
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
  import random
3
3
  import string
4
4
 
5
- from ..func import Func, TestData
5
+ from angr.analyses.identifier.func import Func, TestData
6
6
 
7
7
 
8
8
  digs = string.digits + string.ascii_letters
@@ -10,9 +10,9 @@ from networkx import NetworkXError
10
10
  from .errors import IdentifierException
11
11
  from .functions import Functions
12
12
  from .runner import Runner
13
- from .. import Analysis
14
- from ... import options
15
- from ...errors import AngrError, SimSegfaultError, SimEngineError, SimMemoryError, SimError
13
+ from angr.analyses import Analysis
14
+ from angr import options
15
+ from angr.errors import AngrError, SimSegfaultError, SimEngineError, SimMemoryError, SimError
16
16
 
17
17
  l = logging.getLogger(name=__name__)
18
18
 
@@ -5,12 +5,12 @@ import os
5
5
 
6
6
  import claripy
7
7
 
8
- from ... import sim_options as so
9
- from ... import SIM_LIBRARIES
10
- from ... import BP_BEFORE, BP_AFTER
11
- from ...storage.file import SimFile, SimFileDescriptor
12
- from ...state_plugins import SimSystemPosix
13
- from ...errors import AngrCallableMultistateError, AngrCallableError, AngrError, SimError
8
+ from angr import sim_options as so
9
+ from angr import SIM_LIBRARIES
10
+ from angr import BP_BEFORE, BP_AFTER
11
+ from angr.storage.file import SimFile, SimFileDescriptor
12
+ from angr.state_plugins import SimSystemPosix
13
+ from angr.errors import AngrCallableMultistateError, AngrCallableError, AngrError, SimError
14
14
  from .custom_callable import IdentifierCallable
15
15
 
16
16
 
@@ -7,7 +7,7 @@ import pyvex
7
7
  import claripy
8
8
 
9
9
  from angr.analyses import visitors, ForwardAnalysis
10
- from ..engines.light import SimEngineLight, SimEngineLightVEXMixin
10
+ from angr.engines.light import SimEngineLight, SimEngineLightVEXMixin
11
11
  from . import register_analysis, PropagatorAnalysis
12
12
  from .analysis import Analysis
13
13
  from .propagator.vex_vars import VEXTmp
@@ -3,8 +3,8 @@ from __future__ import annotations
3
3
  import logging
4
4
 
5
5
  from angr.analyses import ForwardAnalysis, visitors
6
- from ..block import SootBlockNode
7
- from ..errors import AngrLoopAnalysisError
6
+ from angr.block import SootBlockNode
7
+ from angr.errors import AngrLoopAnalysisError
8
8
  from . import register_analysis
9
9
  from .analysis import Analysis
10
10
 
@@ -1,2 +1,5 @@
1
1
  from __future__ import annotations
2
+
2
3
  from .propagator import PropagatorAnalysis
4
+
5
+ __all__ = ("PropagatorAnalysis",)
@@ -11,10 +11,10 @@ from angr.knowledge_plugins.propagations.prop_value import PropValue, Detail
11
11
  from angr.knowledge_plugins.key_definitions.atoms import Register
12
12
 
13
13
  from angr.code_location import ExternalCodeLocation
14
- from ...utils.constants import is_alignment_mask
15
- from ...engines.light import SimEngineLightAILMixin
16
- from ...sim_variable import SimStackVariable, SimMemoryVariable
17
- from ..reaching_definitions.reaching_definitions import OP_BEFORE, OP_AFTER
14
+ from angr.utils.constants import is_alignment_mask
15
+ from angr.engines.light import SimEngineLightAILMixin
16
+ from angr.sim_variable import SimStackVariable, SimMemoryVariable
17
+ from angr.analyses.reaching_definitions.reaching_definitions import OP_BEFORE, OP_AFTER
18
18
  from .engine_base import SimEnginePropagatorBase
19
19
 
20
20
  if TYPE_CHECKING:
@@ -2,8 +2,8 @@ from __future__ import annotations
2
2
  from typing import TYPE_CHECKING
3
3
  import logging
4
4
 
5
- from ...engines.light import SimEngineLight
6
- from ...errors import SimEngineError
5
+ from angr.engines.light import SimEngineLight
6
+ from angr.errors import SimEngineError
7
7
 
8
8
  if TYPE_CHECKING:
9
9
  from angr.analyses.reaching_definitions.reaching_definitions import ReachingDefinitionsModel
@@ -7,8 +7,8 @@ import pyvex
7
7
  import archinfo
8
8
 
9
9
  from angr.knowledge_plugins.propagations.states import RegisterAnnotation, RegisterComparisonAnnotation
10
- from ...engines.light import SimEngineLightVEXMixin
11
- from ...calling_conventions import DEFAULT_CC, SYSCALL_CC, default_cc, SimRegArg
10
+ from angr.engines.light import SimEngineLightVEXMixin
11
+ from angr.calling_conventions import DEFAULT_CC, SYSCALL_CC, default_cc, SimRegArg
12
12
  from .values import Top, Bottom
13
13
  from .engine_base import SimEnginePropagatorBase
14
14
  from .top_checker_mixin import TopCheckerMixin
@@ -5,9 +5,9 @@ from collections.abc import Callable
5
5
 
6
6
  from ailment import Block, Stmt, Expr, AILBlockWalker
7
7
 
8
- from ...code_location import CodeLocation
9
- from ...knowledge_plugins.key_definitions.constants import OP_BEFORE, OP_AFTER
10
- from ...knowledge_plugins.key_definitions import atoms
8
+ from angr.code_location import CodeLocation
9
+ from angr.knowledge_plugins.key_definitions.constants import OP_BEFORE, OP_AFTER
10
+ from angr.knowledge_plugins.key_definitions import atoms
11
11
 
12
12
  if TYPE_CHECKING:
13
13
  from archinfo import Arch
@@ -13,9 +13,9 @@ from angr.analyses import ForwardAnalysis, visitors
13
13
  from angr.knowledge_plugins.propagations.propagation_model import PropagationModel
14
14
  from angr.knowledge_plugins.propagations.prop_value import PropValue, Detail
15
15
  from angr.knowledge_plugins.propagations.states import PropagatorAILState, PropagatorVEXState, PropagatorState
16
- from ... import sim_options
17
- from .. import register_analysis
18
- from ..analysis import Analysis
16
+ from angr import sim_options
17
+ from angr.analyses import register_analysis
18
+ from angr.analyses.analysis import Analysis
19
19
  from .engine_vex import SimEnginePropagatorVEX
20
20
  from .engine_ail import SimEnginePropagatorAIL
21
21
  import contextlib
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
  import claripy
3
3
 
4
- from ...engines.light.engine import SimEngineLightMixin
4
+ from angr.engines.light.engine import SimEngineLightMixin
5
5
 
6
6
 
7
7
  class TopCheckerMixin(SimEngineLightMixin):
@@ -7,9 +7,9 @@ import networkx
7
7
  import ailment
8
8
  from ailment import AILBlockWalker
9
9
 
10
- from ..codenode import BlockNode
11
- from ..sim_variable import SimMemoryVariable
12
- from ..knowledge_plugins.functions import Function
10
+ from angr.codenode import BlockNode
11
+ from angr.sim_variable import SimMemoryVariable
12
+ from angr.knowledge_plugins.functions import Function
13
13
  from .analysis import Analysis, AnalysesHub
14
14
 
15
15
  if TYPE_CHECKING:
@@ -1,9 +1,9 @@
1
1
  from __future__ import annotations
2
- from typing import Set, Optional, Union, TYPE_CHECKING
2
+ from typing import TYPE_CHECKING
3
3
 
4
- from ...knowledge_plugins.key_definitions import LiveDefinitions
5
- from ...knowledge_plugins.key_definitions.constants import ObservationPointType
6
- from ...knowledge_plugins.key_definitions.atoms import (
4
+ from angr.knowledge_plugins.key_definitions import LiveDefinitions
5
+ from angr.knowledge_plugins.key_definitions.constants import ObservationPointType
6
+ from angr.knowledge_plugins.key_definitions.atoms import (
7
7
  AtomKind,
8
8
  Atom,
9
9
  Register,
@@ -12,8 +12,8 @@ from ...knowledge_plugins.key_definitions.atoms import (
12
12
  GuardUse,
13
13
  ConstantSrc,
14
14
  )
15
- from ...knowledge_plugins.key_definitions.definition import Definition
16
- from .. import register_analysis
15
+ from angr.knowledge_plugins.key_definitions.definition import Definition
16
+ from angr.analyses import register_analysis
17
17
  from .reaching_definitions import ReachingDefinitionsAnalysis, ReachingDefinitionsModel
18
18
  from .function_handler import FunctionHandler, FunctionCallData
19
19
  from .rd_state import ReachingDefinitionsState
@@ -13,8 +13,8 @@ import networkx
13
13
  import claripy
14
14
  from cle.loader import Loader
15
15
 
16
- from ...code_location import CodeLocation, ExternalCodeLocation
17
- from ...knowledge_plugins.key_definitions.atoms import (
16
+ from angr.code_location import CodeLocation, ExternalCodeLocation
17
+ from angr.knowledge_plugins.key_definitions.atoms import (
18
18
  Atom,
19
19
  MemoryLocation,
20
20
  AtomKind,
@@ -23,9 +23,9 @@ from ...knowledge_plugins.key_definitions.atoms import (
23
23
  ConstantSrc,
24
24
  GuardUse,
25
25
  )
26
- from ...knowledge_plugins.key_definitions.definition import A, Definition, DefinitionMatchPredicate
27
- from ...knowledge_plugins.key_definitions.undefined import UNDEFINED
28
- from ...knowledge_plugins.cfg import CFGModel
26
+ from angr.knowledge_plugins.key_definitions.definition import A, Definition, DefinitionMatchPredicate
27
+ from angr.knowledge_plugins.key_definitions.undefined import UNDEFINED
28
+ from angr.knowledge_plugins.cfg import CFGModel
29
29
 
30
30
  if TYPE_CHECKING:
31
31
  pass
@@ -10,14 +10,14 @@ import ailment
10
10
  import pyvex
11
11
  from claripy import FSORT_DOUBLE, FSORT_FLOAT
12
12
 
13
- from ...engines.light import SimEngineLight, SimEngineLightAILMixin, SpOffset
14
- from ...errors import SimEngineError, SimMemoryMissingError
15
- from ...calling_conventions import default_cc, SimRegArg, SimTypeBottom
16
- from ...storage.memory_mixins.paged_memory.pages.multi_values import MultiValues
17
- from ...knowledge_plugins.key_definitions.atoms import Atom, Register, Tmp, MemoryLocation
18
- from ...knowledge_plugins.key_definitions.constants import OP_BEFORE, OP_AFTER
19
- from ...knowledge_plugins.key_definitions.live_definitions import Definition, LiveDefinitions
20
- from ...code_location import CodeLocation, ExternalCodeLocation
13
+ from angr.engines.light import SimEngineLight, SimEngineLightAILMixin, SpOffset
14
+ from angr.errors import SimEngineError, SimMemoryMissingError
15
+ from angr.calling_conventions import default_cc, SimRegArg, SimTypeBottom
16
+ from angr.storage.memory_mixins.paged_memory.pages.multi_values import MultiValues
17
+ from angr.knowledge_plugins.key_definitions.atoms import Atom, Register, Tmp, MemoryLocation
18
+ from angr.knowledge_plugins.key_definitions.constants import OP_BEFORE, OP_AFTER
19
+ from angr.knowledge_plugins.key_definitions.live_definitions import Definition, LiveDefinitions
20
+ from angr.code_location import CodeLocation, ExternalCodeLocation
21
21
  from .subject import SubjectType
22
22
  from .rd_state import ReachingDefinitionsState
23
23
  from .function_handler import FunctionHandler, FunctionCallData
@@ -7,23 +7,23 @@ import logging
7
7
  import pyvex
8
8
  import claripy
9
9
 
10
- from ...storage.memory_mixins.paged_memory.pages.multi_values import MultiValues
11
- from ...engines.light import SimEngineLight, SimEngineLightVEXMixin, SpOffset
12
- from ...engines.vex.claripy.datalayer import value as claripy_value
13
- from ...engines.vex.claripy.irop import operations as vex_operations
14
- from ...errors import SimEngineError, SimMemoryMissingError
15
- from ...utils.constants import DEFAULT_STATEMENT
16
- from ...knowledge_plugins.key_definitions.live_definitions import Definition, LiveDefinitions
17
- from ...knowledge_plugins.key_definitions.tag import LocalVariableTag, ParameterTag, Tag
18
- from ...knowledge_plugins.key_definitions.atoms import Atom, Register, MemoryLocation, Tmp
19
- from ...knowledge_plugins.key_definitions.constants import OP_BEFORE, OP_AFTER
20
- from ...knowledge_plugins.key_definitions.heap_address import HeapAddress
21
- from ...code_location import CodeLocation, ExternalCodeLocation
10
+ from angr.storage.memory_mixins.paged_memory.pages.multi_values import MultiValues
11
+ from angr.engines.light import SimEngineLight, SimEngineLightVEXMixin, SpOffset
12
+ from angr.engines.vex.claripy.datalayer import value as claripy_value
13
+ from angr.engines.vex.claripy.irop import operations as vex_operations
14
+ from angr.errors import SimEngineError, SimMemoryMissingError
15
+ from angr.utils.constants import DEFAULT_STATEMENT
16
+ from angr.knowledge_plugins.key_definitions.live_definitions import Definition, LiveDefinitions
17
+ from angr.knowledge_plugins.key_definitions.tag import LocalVariableTag, ParameterTag, Tag
18
+ from angr.knowledge_plugins.key_definitions.atoms import Atom, Register, MemoryLocation, Tmp
19
+ from angr.knowledge_plugins.key_definitions.constants import OP_BEFORE, OP_AFTER
20
+ from angr.knowledge_plugins.key_definitions.heap_address import HeapAddress
21
+ from angr.code_location import CodeLocation, ExternalCodeLocation
22
22
  from .rd_state import ReachingDefinitionsState
23
23
  from .function_handler import FunctionCallData
24
24
 
25
25
  if TYPE_CHECKING:
26
- from ...knowledge_plugins import FunctionManager
26
+ from angr.knowledge_plugins import FunctionManager
27
27
  from .function_handler import FunctionHandler
28
28
 
29
29
 
@@ -737,6 +737,11 @@ class SimEngineRDVEX(
737
737
 
738
738
  return MultiValues(self.state.top(bits))
739
739
 
740
+ def _handle_Mod(self, expr):
741
+ _, _ = self._expr(expr.args[0]), self._expr(expr.args[1])
742
+ bits = expr.result_size(self.tyenv)
743
+ return MultiValues(self.state.top(bits))
744
+
740
745
  def _handle_And(self, expr):
741
746
  expr0, expr1 = self._expr(expr.args[0]), self._expr(expr.args[1])
742
747
  bits = expr.result_size(self.tyenv)
@@ -2,9 +2,9 @@ from __future__ import annotations
2
2
  import logging
3
3
 
4
4
 
5
- from ...knowledge_plugins.key_definitions.heap_address import HeapAddress
6
- from ...knowledge_plugins.key_definitions.unknown_size import UnknownSize
7
- from ...knowledge_plugins.key_definitions.undefined import Undefined
5
+ from angr.knowledge_plugins.key_definitions.heap_address import HeapAddress
6
+ from angr.knowledge_plugins.key_definitions.unknown_size import UnknownSize
7
+ from angr.knowledge_plugins.key_definitions.undefined import Undefined
8
8
 
9
9
  _l = logging.getLogger(name=__name__)
10
10
 
@@ -13,16 +13,10 @@ from angr.knowledge_plugins.key_definitions.heap_address import HeapAddress
13
13
  from angr.knowledge_plugins.key_definitions.definition import A
14
14
  from angr.engines.light import SpOffset
15
15
  from angr.code_location import CodeLocation
16
- from ...storage.memory_mixins.paged_memory.pages.multi_values import MultiValues
17
- from ...storage.memory_mixins import MultiValuedMemory
18
- from ...knowledge_plugins.key_definitions import LiveDefinitions, DerefSize, Definition
19
- from ...knowledge_plugins.key_definitions.atoms import (
20
- Atom,
21
- GuardUse,
22
- Register,
23
- MemoryLocation,
24
- ConstantSrc,
25
- )
16
+ from angr.storage.memory_mixins.paged_memory.pages.multi_values import MultiValues
17
+ from angr.storage.memory_mixins import MultiValuedMemory
18
+ from angr.knowledge_plugins.key_definitions import LiveDefinitions, DerefSize, Definition
19
+ from angr.knowledge_plugins.key_definitions.atoms import Atom, GuardUse, Register, MemoryLocation, ConstantSrc
26
20
  from .heap_allocator import HeapAllocator
27
21
  from .subject import Subject, SubjectType
28
22
  from .rd_initializer import RDAStateInitializer
@@ -8,17 +8,17 @@ import ailment
8
8
  import pyvex
9
9
 
10
10
  from angr.analyses import ForwardAnalysis
11
- from ...block import Block
12
- from ...knowledge_plugins.cfg.cfg_node import CFGNode
13
- from ...codenode import CodeNode
14
- from ...engines.light import SimEngineLight
15
- from ...knowledge_plugins.functions import Function
16
- from ...knowledge_plugins.key_definitions import ReachingDefinitionsModel, LiveDefinitions
17
- from ...knowledge_plugins.key_definitions.constants import OP_BEFORE, OP_AFTER, ObservationPointType, ObservationPoint
18
- from ...code_location import CodeLocation, ExternalCodeLocation
19
- from ...misc.ux import deprecated
20
- from ..forward_analysis.visitors.graph import NodeType
21
- from ..analysis import Analysis
11
+ from angr.block import Block
12
+ from angr.knowledge_plugins.cfg.cfg_node import CFGNode
13
+ from angr.codenode import CodeNode
14
+ from angr.engines.light import SimEngineLight
15
+ from angr.knowledge_plugins.functions import Function
16
+ from angr.knowledge_plugins.key_definitions import ReachingDefinitionsModel, LiveDefinitions
17
+ from angr.knowledge_plugins.key_definitions.constants import OP_BEFORE, OP_AFTER, ObservationPointType, ObservationPoint
18
+ from angr.code_location import CodeLocation, ExternalCodeLocation
19
+ from angr.misc.ux import deprecated
20
+ from angr.analyses.forward_analysis.visitors.graph import NodeType
21
+ from angr.analyses.analysis import Analysis
22
22
  from .engine_ail import SimEngineRDAIL
23
23
  from .engine_vex import SimEngineRDVEX
24
24
  from .rd_state import ReachingDefinitionsState
@@ -3,9 +3,9 @@ from enum import Enum
3
3
 
4
4
  import ailment
5
5
 
6
- from ...block import Block
7
- from ...knowledge_plugins.functions.function_manager import Function
8
- from ..forward_analysis import FunctionGraphVisitor, SingleNodeGraphVisitor
6
+ from angr.block import Block
7
+ from angr.knowledge_plugins.functions.function_manager import Function
8
+ from angr.analyses.forward_analysis import FunctionGraphVisitor, SingleNodeGraphVisitor
9
9
 
10
10
 
11
11
  class SubjectType(Enum):
@@ -16,11 +16,11 @@ from . import Analysis
16
16
  from .cfg.cfg_emulated import CFGEmulated
17
17
  from .ddg import DDG
18
18
  from .cfg.cfg_fast import CFGFast
19
- from ..codenode import CodeNode
20
- from ..knowledge_plugins.cfg.memory_data import MemoryDataSort
21
- from ..knowledge_plugins.functions import Function
22
- from ..knowledge_base import KnowledgeBase
23
- from ..sim_variable import SimMemoryVariable, SimTemporaryVariable
19
+ from angr.codenode import CodeNode
20
+ from angr.knowledge_plugins.cfg.memory_data import MemoryDataSort
21
+ from angr.knowledge_plugins.functions import Function
22
+ from angr.knowledge_base import KnowledgeBase
23
+ from angr.sim_variable import SimMemoryVariable, SimTemporaryVariable
24
24
 
25
25
  if TYPE_CHECKING:
26
26
  from .cfg import CFGNode
@@ -38,7 +38,7 @@ class SPropagatorAnalysis(Analysis):
38
38
  Constant and expression propagation that only supports SSA AIL graphs.
39
39
  """
40
40
 
41
- def __init__(
41
+ def __init__( # pylint: disable=too-many-positional-arguments
42
42
  self,
43
43
  subject,
44
44
  func_graph=None,
@@ -1,2 +1,12 @@
1
1
  from __future__ import annotations
2
- from .s_rda import SReachingDefinitionsAnalysis, SRDAModel, SRDAView
2
+
3
+ from .s_rda_model import SRDAModel
4
+ from .s_rda_view import SRDAView
5
+ from .s_reaching_definitions import SReachingDefinitionsAnalysis
6
+
7
+
8
+ __all__ = (
9
+ "SRDAModel",
10
+ "SRDAView",
11
+ "SReachingDefinitionsAnalysis",
12
+ )
@@ -0,0 +1,117 @@
1
+ from __future__ import annotations
2
+
3
+ from collections import defaultdict
4
+ from collections.abc import Generator
5
+ from typing import Any
6
+
7
+ from ailment.expression import VirtualVariable, Tmp
8
+
9
+ from angr.knowledge_plugins.key_definitions import atoms, Definition
10
+ from angr.code_location import CodeLocation
11
+
12
+
13
+ class SRDAModel:
14
+ """
15
+ The model for SRDA.
16
+ """
17
+
18
+ def __init__(self, func_graph, arch):
19
+ self.func_graph = func_graph
20
+ self.arch = arch
21
+ self.varid_to_vvar: dict[int, VirtualVariable] = {}
22
+ self.all_vvar_definitions: dict[VirtualVariable, CodeLocation] = {}
23
+ self.all_vvar_uses: dict[VirtualVariable, set[tuple[VirtualVariable | None, CodeLocation]]] = defaultdict(set)
24
+ self.all_tmp_definitions: dict[CodeLocation, dict[atoms.Tmp, int]] = defaultdict(dict)
25
+ self.all_tmp_uses: dict[CodeLocation, dict[atoms.Tmp, set[tuple[Tmp, int]]]] = defaultdict(dict)
26
+ self.phi_vvar_ids: set[int] = set()
27
+ self.phivarid_to_varids: dict[int, set[int]] = {}
28
+
29
+ @property
30
+ def all_definitions(self) -> Generator[Definition]:
31
+ for vvar, defloc in self.all_vvar_definitions.items():
32
+ yield Definition(atoms.VirtualVariable(vvar.varid, vvar.size, vvar.category, vvar.oident), defloc)
33
+
34
+ def is_phi_vvar_id(self, idx: int) -> bool:
35
+ return idx in self.phi_vvar_ids
36
+
37
+ def get_all_definitions(self, block_loc: CodeLocation) -> set[Definition]:
38
+ s = set()
39
+ for vvar, codeloc in self.all_vvar_definitions.items():
40
+ if codeloc.block_addr == block_loc.block_addr and codeloc.block_idx == block_loc.block_idx:
41
+ s.add(Definition(atoms.VirtualVariable(vvar.varid, vvar.size, vvar.category, vvar.oident), codeloc))
42
+ return s | self.get_all_tmp_definitions(block_loc)
43
+
44
+ def get_all_tmp_definitions(self, block_loc: CodeLocation) -> set[Definition]:
45
+ s = set()
46
+ for tmp_atom, stmt_idx in self.all_tmp_definitions[block_loc].items():
47
+ s.add(Definition(tmp_atom, CodeLocation(block_loc.block_addr, stmt_idx, block_idx=block_loc.block_idx)))
48
+ return s
49
+
50
+ def get_uses_by_location(
51
+ self, loc: CodeLocation, exprs: bool = False
52
+ ) -> set[Definition] | set[tuple[Definition, Any | None]]:
53
+ """
54
+ Retrieve all definitions that are used at a given location.
55
+
56
+ :param loc: The code location.
57
+ :return: A set of definitions that are used at the given location.
58
+ """
59
+ if exprs:
60
+ defs: set[tuple[Definition, Any]] = set()
61
+ for vvar, uses in self.all_vvar_uses.items():
62
+ for expr, loc_ in uses:
63
+ if loc_ == loc:
64
+ defs.add(
65
+ (
66
+ Definition(
67
+ atoms.VirtualVariable(vvar.varid, vvar.size, vvar.category, vvar.oident),
68
+ self.all_vvar_definitions[vvar],
69
+ ),
70
+ expr,
71
+ )
72
+ )
73
+ return defs
74
+
75
+ defs: set[Definition] = set()
76
+ for vvar, uses in self.all_vvar_uses.items():
77
+ for _, loc_ in uses:
78
+ if loc_ == loc:
79
+ defs.add(
80
+ Definition(
81
+ atoms.VirtualVariable(vvar.varid, vvar.size, vvar.category, vvar.oident),
82
+ self.all_vvar_definitions[vvar],
83
+ )
84
+ )
85
+ return defs
86
+
87
+ def get_vvar_uses(self, obj: atoms.VirtualVariable) -> set[CodeLocation]:
88
+ the_vvar = self.varid_to_vvar.get(obj.varid, None)
89
+ if the_vvar is not None:
90
+ return {loc for _, loc in self.all_vvar_uses[the_vvar]}
91
+ return set()
92
+
93
+ def get_vvar_uses_with_expr(self, obj: atoms.VirtualVariable) -> set[tuple[CodeLocation, VirtualVariable]]:
94
+ the_vvar = self.varid_to_vvar.get(obj.varid, None)
95
+ if the_vvar is not None:
96
+ return {(loc, expr) for expr, loc in self.all_vvar_uses[the_vvar]}
97
+ return set()
98
+
99
+ def get_tmp_uses(self, obj: atoms.Tmp, block_loc: CodeLocation) -> set[CodeLocation]:
100
+ if block_loc not in self.all_tmp_uses:
101
+ return set()
102
+ if obj not in self.all_tmp_uses[block_loc]:
103
+ return set()
104
+ s = set()
105
+ for _, stmt_idx in self.all_tmp_uses[block_loc][obj]:
106
+ s.add(CodeLocation(block_loc.block_addr, stmt_idx, block_idx=block_loc.block_idx))
107
+ return s
108
+
109
+ def get_uses_by_def(self, def_: Definition) -> set[CodeLocation]:
110
+ if isinstance(def_.atom, atoms.Tmp):
111
+ return self.get_tmp_uses(
112
+ def_.atom,
113
+ CodeLocation(def_.codeloc.block_addr, def_.codeloc.stmt_idx, block_idx=def_.codeloc.block_idx),
114
+ )
115
+ if isinstance(def_.atom, atoms.VirtualVariable):
116
+ return self.get_vvar_uses(def_.atom)
117
+ return set()