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

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

Potentially problematic release.


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

Files changed (818) 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/lib/angr_native.dylib +0 -0
  289. angr/misc/__init__.py +12 -2
  290. angr/misc/loggers.py +2 -2
  291. angr/procedures/__init__.py +9 -0
  292. angr/procedures/cgc/receive.py +2 -2
  293. angr/procedures/cgc/transmit.py +1 -1
  294. angr/procedures/definitions/__init__.py +8 -8
  295. angr/procedures/definitions/cgc.py +1 -1
  296. angr/procedures/definitions/glibc.py +2 -15
  297. angr/procedures/definitions/gnulib.py +2 -6
  298. angr/procedures/definitions/libstdcpp.py +2 -2
  299. angr/procedures/definitions/linux_kernel.py +2 -3
  300. angr/procedures/definitions/linux_loader.py +1 -1
  301. angr/procedures/definitions/msvcr.py +2 -2
  302. angr/procedures/definitions/wdk_api-ms-win-dx-d3dkmt-l1-1-4.py +3 -18
  303. angr/procedures/definitions/wdk_api-ms-win-dx-d3dkmt-l1-1-6.py +3 -18
  304. angr/procedures/definitions/wdk_clfs.py +3 -18
  305. angr/procedures/definitions/wdk_fltmgr.py +3 -18
  306. angr/procedures/definitions/wdk_fwpkclnt.py +3 -18
  307. angr/procedures/definitions/wdk_fwpuclnt.py +3 -18
  308. angr/procedures/definitions/wdk_gdi32.py +3 -18
  309. angr/procedures/definitions/wdk_hal.py +3 -18
  310. angr/procedures/definitions/wdk_ksecdd.py +3 -18
  311. angr/procedures/definitions/wdk_ndis.py +3 -18
  312. angr/procedures/definitions/wdk_ntoskrnl.py +3 -18
  313. angr/procedures/definitions/wdk_offreg.py +3 -18
  314. angr/procedures/definitions/wdk_pshed.py +3 -18
  315. angr/procedures/definitions/wdk_secur32.py +3 -18
  316. angr/procedures/definitions/wdk_vhfum.py +3 -18
  317. angr/procedures/definitions/win32_aclui.py +3 -18
  318. angr/procedures/definitions/win32_activeds.py +3 -18
  319. angr/procedures/definitions/win32_advapi32.py +3 -18
  320. angr/procedures/definitions/win32_advpack.py +3 -18
  321. angr/procedures/definitions/win32_amsi.py +3 -18
  322. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-1.py +3 -18
  323. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-3.py +3 -18
  324. angr/procedures/definitions/win32_api-ms-win-appmodel-runtime-l1-1-6.py +3 -18
  325. angr/procedures/definitions/win32_api-ms-win-core-apiquery-l2-1-0.py +3 -18
  326. angr/procedures/definitions/win32_api-ms-win-core-backgroundtask-l1-1-0.py +3 -18
  327. angr/procedures/definitions/win32_api-ms-win-core-comm-l1-1-1.py +3 -18
  328. angr/procedures/definitions/win32_api-ms-win-core-comm-l1-1-2.py +3 -18
  329. angr/procedures/definitions/win32_api-ms-win-core-enclave-l1-1-1.py +3 -18
  330. angr/procedures/definitions/win32_api-ms-win-core-errorhandling-l1-1-3.py +3 -18
  331. angr/procedures/definitions/win32_api-ms-win-core-featurestaging-l1-1-0.py +3 -18
  332. angr/procedures/definitions/win32_api-ms-win-core-featurestaging-l1-1-1.py +3 -18
  333. angr/procedures/definitions/win32_api-ms-win-core-file-fromapp-l1-1-0.py +3 -18
  334. angr/procedures/definitions/win32_api-ms-win-core-handle-l1-1-0.py +3 -18
  335. angr/procedures/definitions/win32_api-ms-win-core-ioring-l1-1-0.py +3 -18
  336. angr/procedures/definitions/win32_api-ms-win-core-marshal-l1-1-0.py +3 -18
  337. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-3.py +3 -18
  338. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-4.py +3 -18
  339. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-5.py +3 -18
  340. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-6.py +3 -18
  341. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-7.py +3 -18
  342. angr/procedures/definitions/win32_api-ms-win-core-memory-l1-1-8.py +3 -18
  343. angr/procedures/definitions/win32_api-ms-win-core-path-l1-1-0.py +3 -18
  344. angr/procedures/definitions/win32_api-ms-win-core-psm-appnotify-l1-1-0.py +3 -18
  345. angr/procedures/definitions/win32_api-ms-win-core-psm-appnotify-l1-1-1.py +3 -18
  346. angr/procedures/definitions/win32_api-ms-win-core-realtime-l1-1-1.py +3 -18
  347. angr/procedures/definitions/win32_api-ms-win-core-realtime-l1-1-2.py +3 -18
  348. angr/procedures/definitions/win32_api-ms-win-core-slapi-l1-1-0.py +3 -18
  349. angr/procedures/definitions/win32_api-ms-win-core-state-helpers-l1-1-0.py +3 -18
  350. angr/procedures/definitions/win32_api-ms-win-core-synch-l1-2-0.py +3 -18
  351. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-0.py +3 -18
  352. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-3.py +3 -18
  353. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-4.py +3 -18
  354. angr/procedures/definitions/win32_api-ms-win-core-sysinfo-l1-2-6.py +3 -18
  355. angr/procedures/definitions/win32_api-ms-win-core-util-l1-1-1.py +3 -18
  356. angr/procedures/definitions/win32_api-ms-win-core-winrt-error-l1-1-0.py +3 -3
  357. angr/procedures/definitions/win32_api-ms-win-core-winrt-error-l1-1-1.py +3 -3
  358. angr/procedures/definitions/win32_api-ms-win-core-winrt-l1-1-0.py +3 -3
  359. angr/procedures/definitions/win32_api-ms-win-core-winrt-registration-l1-1-0.py +3 -3
  360. angr/procedures/definitions/win32_api-ms-win-core-winrt-robuffer-l1-1-0.py +3 -3
  361. angr/procedures/definitions/win32_api-ms-win-core-winrt-roparameterizediid-l1-1-0.py +3 -3
  362. angr/procedures/definitions/win32_api-ms-win-core-winrt-string-l1-1-0.py +3 -3
  363. angr/procedures/definitions/win32_api-ms-win-core-winrt-string-l1-1-1.py +3 -3
  364. angr/procedures/definitions/win32_api-ms-win-core-wow64-l1-1-1.py +3 -18
  365. angr/procedures/definitions/win32_api-ms-win-devices-query-l1-1-0.py +3 -18
  366. angr/procedures/definitions/win32_api-ms-win-devices-query-l1-1-1.py +3 -18
  367. angr/procedures/definitions/win32_api-ms-win-dx-d3dkmt-l1-1-0.py +3 -18
  368. angr/procedures/definitions/win32_api-ms-win-gaming-deviceinformation-l1-1-0.py +3 -18
  369. angr/procedures/definitions/win32_api-ms-win-gaming-expandedresources-l1-1-0.py +3 -18
  370. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-0.py +3 -18
  371. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-1.py +3 -18
  372. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-2.py +3 -18
  373. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-3.py +3 -18
  374. angr/procedures/definitions/win32_api-ms-win-gaming-tcui-l1-1-4.py +3 -18
  375. angr/procedures/definitions/win32_api-ms-win-mm-misc-l1-1-1.py +3 -18
  376. angr/procedures/definitions/win32_api-ms-win-net-isolation-l1-1-0.py +3 -18
  377. angr/procedures/definitions/win32_api-ms-win-security-base-l1-2-2.py +3 -18
  378. angr/procedures/definitions/win32_api-ms-win-security-isolatedcontainer-l1-1-0.py +3 -18
  379. angr/procedures/definitions/win32_api-ms-win-security-isolatedcontainer-l1-1-1.py +3 -18
  380. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-3.py +3 -18
  381. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-4.py +3 -18
  382. angr/procedures/definitions/win32_api-ms-win-service-core-l1-1-5.py +3 -18
  383. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-0.py +3 -18
  384. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-1.py +3 -18
  385. angr/procedures/definitions/win32_api-ms-win-shcore-scaling-l1-1-2.py +3 -18
  386. angr/procedures/definitions/win32_api-ms-win-shcore-stream-winrt-l1-1-0.py +3 -3
  387. angr/procedures/definitions/win32_api-ms-win-wsl-api-l1-1-0.py +3 -18
  388. angr/procedures/definitions/win32_apphelp.py +3 -18
  389. angr/procedures/definitions/win32_authz.py +3 -18
  390. angr/procedures/definitions/win32_avicap32.py +3 -18
  391. angr/procedures/definitions/win32_avifil32.py +3 -18
  392. angr/procedures/definitions/win32_avrt.py +3 -18
  393. angr/procedures/definitions/win32_bcp47mrm.py +3 -18
  394. angr/procedures/definitions/win32_bcrypt.py +3 -18
  395. angr/procedures/definitions/win32_bcryptprimitives.py +3 -18
  396. angr/procedures/definitions/win32_bluetoothapis.py +3 -18
  397. angr/procedures/definitions/win32_bthprops.py +3 -3
  398. angr/procedures/definitions/win32_bthprops_cpl.py +3 -18
  399. angr/procedures/definitions/win32_cabinet.py +3 -18
  400. angr/procedures/definitions/win32_certadm.py +3 -18
  401. angr/procedures/definitions/win32_certpoleng.py +3 -18
  402. angr/procedures/definitions/win32_cfgmgr32.py +3 -18
  403. angr/procedures/definitions/win32_chakra.py +3 -18
  404. angr/procedures/definitions/win32_cldapi.py +3 -18
  405. angr/procedures/definitions/win32_clfsw32.py +3 -18
  406. angr/procedures/definitions/win32_clusapi.py +3 -18
  407. angr/procedures/definitions/win32_comctl32.py +3 -18
  408. angr/procedures/definitions/win32_comdlg32.py +3 -18
  409. angr/procedures/definitions/win32_compstui.py +3 -18
  410. angr/procedures/definitions/win32_computecore.py +3 -18
  411. angr/procedures/definitions/win32_computenetwork.py +3 -18
  412. angr/procedures/definitions/win32_computestorage.py +3 -18
  413. angr/procedures/definitions/win32_comsvcs.py +3 -18
  414. angr/procedures/definitions/win32_coremessaging.py +3 -3
  415. angr/procedures/definitions/win32_credui.py +3 -18
  416. angr/procedures/definitions/win32_crypt32.py +3 -18
  417. angr/procedures/definitions/win32_cryptnet.py +3 -18
  418. angr/procedures/definitions/win32_cryptui.py +3 -18
  419. angr/procedures/definitions/win32_cryptxml.py +3 -18
  420. angr/procedures/definitions/win32_cscapi.py +3 -18
  421. angr/procedures/definitions/win32_d2d1.py +3 -18
  422. angr/procedures/definitions/win32_d3d10.py +3 -18
  423. angr/procedures/definitions/win32_d3d10_1.py +3 -18
  424. angr/procedures/definitions/win32_d3d11.py +3 -18
  425. angr/procedures/definitions/win32_d3d12.py +3 -18
  426. angr/procedures/definitions/win32_d3d9.py +3 -18
  427. angr/procedures/definitions/win32_d3dcompiler_47.py +3 -18
  428. angr/procedures/definitions/win32_d3dcsx.py +3 -18
  429. angr/procedures/definitions/win32_davclnt.py +3 -18
  430. angr/procedures/definitions/win32_dbgeng.py +3 -18
  431. angr/procedures/definitions/win32_dbghelp.py +3 -18
  432. angr/procedures/definitions/win32_dbgmodel.py +3 -18
  433. angr/procedures/definitions/win32_dciman32.py +3 -18
  434. angr/procedures/definitions/win32_dcomp.py +3 -18
  435. angr/procedures/definitions/win32_ddraw.py +3 -18
  436. angr/procedures/definitions/win32_deviceaccess.py +3 -18
  437. angr/procedures/definitions/win32_dflayout.py +3 -18
  438. angr/procedures/definitions/win32_dhcpcsvc.py +3 -18
  439. angr/procedures/definitions/win32_dhcpcsvc6.py +3 -18
  440. angr/procedures/definitions/win32_dhcpsapi.py +3 -18
  441. angr/procedures/definitions/win32_diagnosticdataquery.py +3 -18
  442. angr/procedures/definitions/win32_dinput8.py +3 -18
  443. angr/procedures/definitions/win32_directml.py +3 -18
  444. angr/procedures/definitions/win32_dmprocessxmlfiltered.py +3 -18
  445. angr/procedures/definitions/win32_dnsapi.py +3 -18
  446. angr/procedures/definitions/win32_drt.py +3 -18
  447. angr/procedures/definitions/win32_drtprov.py +3 -18
  448. angr/procedures/definitions/win32_drttransport.py +3 -18
  449. angr/procedures/definitions/win32_dsound.py +3 -18
  450. angr/procedures/definitions/win32_dsparse.py +3 -18
  451. angr/procedures/definitions/win32_dsprop.py +3 -18
  452. angr/procedures/definitions/win32_dssec.py +3 -18
  453. angr/procedures/definitions/win32_dsuiext.py +3 -18
  454. angr/procedures/definitions/win32_dwmapi.py +3 -18
  455. angr/procedures/definitions/win32_dwrite.py +3 -18
  456. angr/procedures/definitions/win32_dxcompiler.py +3 -18
  457. angr/procedures/definitions/win32_dxcore.py +3 -18
  458. angr/procedures/definitions/win32_dxgi.py +3 -18
  459. angr/procedures/definitions/win32_dxva2.py +3 -18
  460. angr/procedures/definitions/win32_eappcfg.py +3 -18
  461. angr/procedures/definitions/win32_eappprxy.py +3 -18
  462. angr/procedures/definitions/win32_efswrt.py +3 -18
  463. angr/procedures/definitions/win32_elscore.py +3 -18
  464. angr/procedures/definitions/win32_esent.py +3 -18
  465. angr/procedures/definitions/win32_evr.py +3 -18
  466. angr/procedures/definitions/win32_faultrep.py +3 -18
  467. angr/procedures/definitions/win32_fhsvcctl.py +3 -18
  468. angr/procedures/definitions/win32_firewallapi.py +3 -18
  469. angr/procedures/definitions/win32_fltlib.py +3 -18
  470. angr/procedures/definitions/win32_fontsub.py +3 -18
  471. angr/procedures/definitions/win32_forceinline.py +3 -18
  472. angr/procedures/definitions/win32_fwpuclnt.py +3 -18
  473. angr/procedures/definitions/win32_fxsutility.py +3 -18
  474. angr/procedures/definitions/win32_gdi32.py +3 -18
  475. angr/procedures/definitions/win32_gdiplus.py +3 -18
  476. angr/procedures/definitions/win32_glu32.py +3 -18
  477. angr/procedures/definitions/win32_gpedit.py +3 -18
  478. angr/procedures/definitions/win32_hhctrl_ocx.py +3 -18
  479. angr/procedures/definitions/win32_hid.py +3 -18
  480. angr/procedures/definitions/win32_hlink.py +3 -18
  481. angr/procedures/definitions/win32_hrtfapo.py +3 -18
  482. angr/procedures/definitions/win32_httpapi.py +3 -18
  483. angr/procedures/definitions/win32_icm32.py +3 -18
  484. angr/procedures/definitions/win32_icmui.py +3 -18
  485. angr/procedures/definitions/win32_icu.py +3 -18
  486. angr/procedures/definitions/win32_ieframe.py +3 -18
  487. angr/procedures/definitions/win32_imagehlp.py +3 -18
  488. angr/procedures/definitions/win32_imgutil.py +3 -18
  489. angr/procedures/definitions/win32_imm32.py +3 -18
  490. angr/procedures/definitions/win32_infocardapi.py +3 -18
  491. angr/procedures/definitions/win32_inkobjcore.py +3 -18
  492. angr/procedures/definitions/win32_iphlpapi.py +3 -18
  493. angr/procedures/definitions/win32_iscsidsc.py +3 -18
  494. angr/procedures/definitions/win32_isolatedwindowsenvironmentutils.py +3 -18
  495. angr/procedures/definitions/win32_kernel32.py +3 -18
  496. angr/procedures/definitions/win32_kernelbase.py +3 -18
  497. angr/procedures/definitions/win32_keycredmgr.py +3 -18
  498. angr/procedures/definitions/win32_ksproxy_ax.py +3 -18
  499. angr/procedures/definitions/win32_ksuser.py +3 -18
  500. angr/procedures/definitions/win32_ktmw32.py +3 -18
  501. angr/procedures/definitions/win32_licenseprotection.py +3 -18
  502. angr/procedures/definitions/win32_loadperf.py +3 -18
  503. angr/procedures/definitions/win32_magnification.py +3 -18
  504. angr/procedures/definitions/win32_mapi32.py +3 -18
  505. angr/procedures/definitions/win32_mdmlocalmanagement.py +3 -18
  506. angr/procedures/definitions/win32_mdmregistration.py +3 -18
  507. angr/procedures/definitions/win32_mf.py +3 -18
  508. angr/procedures/definitions/win32_mfcore.py +3 -18
  509. angr/procedures/definitions/win32_mfplat.py +3 -18
  510. angr/procedures/definitions/win32_mfplay.py +3 -18
  511. angr/procedures/definitions/win32_mfreadwrite.py +3 -18
  512. angr/procedures/definitions/win32_mfsensorgroup.py +3 -18
  513. angr/procedures/definitions/win32_mfsrcsnk.py +3 -18
  514. angr/procedures/definitions/win32_mgmtapi.py +3 -18
  515. angr/procedures/definitions/win32_mi.py +3 -18
  516. angr/procedures/definitions/win32_mmdevapi.py +3 -18
  517. angr/procedures/definitions/win32_mpr.py +3 -18
  518. angr/procedures/definitions/win32_mprapi.py +3 -18
  519. angr/procedures/definitions/win32_mqrt.py +3 -18
  520. angr/procedures/definitions/win32_mrmsupport.py +3 -18
  521. angr/procedures/definitions/win32_msacm32.py +3 -18
  522. angr/procedures/definitions/win32_msajapi.py +3 -18
  523. angr/procedures/definitions/win32_mscms.py +3 -18
  524. angr/procedures/definitions/win32_mscoree.py +3 -18
  525. angr/procedures/definitions/win32_msctfmonitor.py +3 -18
  526. angr/procedures/definitions/win32_msdelta.py +3 -18
  527. angr/procedures/definitions/win32_msdmo.py +3 -18
  528. angr/procedures/definitions/win32_msdrm.py +3 -18
  529. angr/procedures/definitions/win32_msi.py +3 -18
  530. angr/procedures/definitions/win32_msimg32.py +3 -18
  531. angr/procedures/definitions/win32_mspatcha.py +3 -18
  532. angr/procedures/definitions/win32_mspatchc.py +3 -18
  533. angr/procedures/definitions/win32_msports.py +3 -18
  534. angr/procedures/definitions/win32_msrating.py +3 -18
  535. angr/procedures/definitions/win32_mssign32.py +3 -18
  536. angr/procedures/definitions/win32_mstask.py +3 -18
  537. angr/procedures/definitions/win32_msvfw32.py +3 -18
  538. angr/procedures/definitions/win32_mswsock.py +3 -18
  539. angr/procedures/definitions/win32_mtxdm.py +3 -18
  540. angr/procedures/definitions/win32_ncrypt.py +3 -18
  541. angr/procedures/definitions/win32_ndfapi.py +3 -18
  542. angr/procedures/definitions/win32_netapi32.py +3 -18
  543. angr/procedures/definitions/win32_netsh.py +3 -18
  544. angr/procedures/definitions/win32_netshell.py +3 -18
  545. angr/procedures/definitions/win32_newdev.py +3 -18
  546. angr/procedures/definitions/win32_ninput.py +3 -18
  547. angr/procedures/definitions/win32_normaliz.py +3 -18
  548. angr/procedures/definitions/win32_ntdll.py +3 -18
  549. angr/procedures/definitions/win32_ntdllk.py +3 -18
  550. angr/procedures/definitions/win32_ntdsapi.py +3 -18
  551. angr/procedures/definitions/win32_ntlanman.py +3 -18
  552. angr/procedures/definitions/win32_odbc32.py +3 -18
  553. angr/procedures/definitions/win32_odbcbcp.py +3 -18
  554. angr/procedures/definitions/win32_ole32.py +3 -18
  555. angr/procedures/definitions/win32_oleacc.py +3 -18
  556. angr/procedures/definitions/win32_oleaut32.py +3 -18
  557. angr/procedures/definitions/win32_oledlg.py +3 -18
  558. angr/procedures/definitions/win32_ondemandconnroutehelper.py +3 -18
  559. angr/procedures/definitions/win32_opengl32.py +3 -18
  560. angr/procedures/definitions/win32_opmxbox.py +3 -18
  561. angr/procedures/definitions/win32_p2p.py +3 -18
  562. angr/procedures/definitions/win32_p2pgraph.py +3 -18
  563. angr/procedures/definitions/win32_pdh.py +3 -18
  564. angr/procedures/definitions/win32_peerdist.py +3 -18
  565. angr/procedures/definitions/win32_powrprof.py +3 -18
  566. angr/procedures/definitions/win32_prntvpt.py +3 -18
  567. angr/procedures/definitions/win32_projectedfslib.py +3 -18
  568. angr/procedures/definitions/win32_propsys.py +3 -18
  569. angr/procedures/definitions/win32_psapi.py +3 -18
  570. angr/procedures/definitions/win32_quartz.py +3 -18
  571. angr/procedures/definitions/win32_query.py +3 -18
  572. angr/procedures/definitions/win32_qwave.py +3 -18
  573. angr/procedures/definitions/win32_rasapi32.py +3 -18
  574. angr/procedures/definitions/win32_rasdlg.py +3 -18
  575. angr/procedures/definitions/win32_resutils.py +3 -18
  576. angr/procedures/definitions/win32_rometadata.py +3 -3
  577. angr/procedures/definitions/win32_rpcns4.py +3 -18
  578. angr/procedures/definitions/win32_rpcproxy.py +3 -18
  579. angr/procedures/definitions/win32_rpcrt4.py +3 -18
  580. angr/procedures/definitions/win32_rstrtmgr.py +3 -18
  581. angr/procedures/definitions/win32_rtm.py +3 -18
  582. angr/procedures/definitions/win32_rtutils.py +3 -18
  583. angr/procedures/definitions/win32_rtworkq.py +3 -18
  584. angr/procedures/definitions/win32_sas.py +3 -18
  585. angr/procedures/definitions/win32_scarddlg.py +3 -18
  586. angr/procedures/definitions/win32_schannel.py +3 -18
  587. angr/procedures/definitions/win32_sechost.py +3 -18
  588. angr/procedures/definitions/win32_secur32.py +3 -18
  589. angr/procedures/definitions/win32_sensapi.py +3 -18
  590. angr/procedures/definitions/win32_sensorsutilsv2.py +3 -18
  591. angr/procedures/definitions/win32_setupapi.py +3 -18
  592. angr/procedures/definitions/win32_sfc.py +3 -18
  593. angr/procedures/definitions/win32_shdocvw.py +3 -18
  594. angr/procedures/definitions/win32_shell32.py +3 -18
  595. angr/procedures/definitions/win32_shlwapi.py +3 -18
  596. angr/procedures/definitions/win32_slc.py +3 -18
  597. angr/procedures/definitions/win32_slcext.py +3 -18
  598. angr/procedures/definitions/win32_slwga.py +3 -18
  599. angr/procedures/definitions/win32_snmpapi.py +3 -18
  600. angr/procedures/definitions/win32_spoolss.py +3 -18
  601. angr/procedures/definitions/win32_srclient.py +3 -18
  602. angr/procedures/definitions/win32_srpapi.py +3 -18
  603. angr/procedures/definitions/win32_sspicli.py +3 -18
  604. angr/procedures/definitions/win32_sti.py +3 -18
  605. angr/procedures/definitions/win32_t2embed.py +3 -18
  606. angr/procedures/definitions/win32_tapi32.py +3 -18
  607. angr/procedures/definitions/win32_tbs.py +3 -18
  608. angr/procedures/definitions/win32_tdh.py +3 -18
  609. angr/procedures/definitions/win32_tokenbinding.py +3 -18
  610. angr/procedures/definitions/win32_traffic.py +3 -18
  611. angr/procedures/definitions/win32_txfw32.py +3 -18
  612. angr/procedures/definitions/win32_ualapi.py +3 -18
  613. angr/procedures/definitions/win32_uiautomationcore.py +3 -18
  614. angr/procedures/definitions/win32_urlmon.py +3 -18
  615. angr/procedures/definitions/win32_user32.py +4 -19
  616. angr/procedures/definitions/win32_userenv.py +3 -18
  617. angr/procedures/definitions/win32_usp10.py +3 -18
  618. angr/procedures/definitions/win32_uxtheme.py +3 -18
  619. angr/procedures/definitions/win32_verifier.py +3 -18
  620. angr/procedures/definitions/win32_version.py +3 -18
  621. angr/procedures/definitions/win32_vertdll.py +3 -18
  622. angr/procedures/definitions/win32_virtdisk.py +3 -18
  623. angr/procedures/definitions/win32_vmdevicehost.py +3 -18
  624. angr/procedures/definitions/win32_vmsavedstatedumpprovider.py +3 -18
  625. angr/procedures/definitions/win32_vssapi.py +3 -18
  626. angr/procedures/definitions/win32_wcmapi.py +3 -18
  627. angr/procedures/definitions/win32_wdsbp.py +3 -18
  628. angr/procedures/definitions/win32_wdsclientapi.py +3 -18
  629. angr/procedures/definitions/win32_wdsmc.py +3 -18
  630. angr/procedures/definitions/win32_wdspxe.py +3 -18
  631. angr/procedures/definitions/win32_wdstptc.py +3 -18
  632. angr/procedures/definitions/win32_webauthn.py +3 -18
  633. angr/procedures/definitions/win32_webservices.py +3 -18
  634. angr/procedures/definitions/win32_websocket.py +3 -18
  635. angr/procedures/definitions/win32_wecapi.py +3 -18
  636. angr/procedures/definitions/win32_wer.py +3 -18
  637. angr/procedures/definitions/win32_wevtapi.py +3 -18
  638. angr/procedures/definitions/win32_winbio.py +3 -18
  639. angr/procedures/definitions/win32_windows_ai_machinelearning.py +3 -18
  640. angr/procedures/definitions/win32_windows_data_pdf.py +3 -3
  641. angr/procedures/definitions/win32_windows_media_mediacontrol.py +3 -18
  642. angr/procedures/definitions/win32_windows_networking.py +3 -18
  643. angr/procedures/definitions/win32_windows_ui_xaml.py +3 -18
  644. angr/procedures/definitions/win32_windowscodecs.py +3 -18
  645. angr/procedures/definitions/win32_winfax.py +3 -18
  646. angr/procedures/definitions/win32_winhttp.py +3 -18
  647. angr/procedures/definitions/win32_winhvemulation.py +3 -18
  648. angr/procedures/definitions/win32_winhvplatform.py +3 -18
  649. angr/procedures/definitions/win32_wininet.py +3 -18
  650. angr/procedures/definitions/win32_winml.py +3 -18
  651. angr/procedures/definitions/win32_winmm.py +3 -18
  652. angr/procedures/definitions/win32_winscard.py +3 -18
  653. angr/procedures/definitions/win32_winspool.py +3 -3
  654. angr/procedures/definitions/win32_winspool_drv.py +3 -18
  655. angr/procedures/definitions/win32_wintrust.py +3 -18
  656. angr/procedures/definitions/win32_winusb.py +3 -18
  657. angr/procedures/definitions/win32_wlanapi.py +3 -18
  658. angr/procedures/definitions/win32_wlanui.py +3 -18
  659. angr/procedures/definitions/win32_wldap32.py +3 -18
  660. angr/procedures/definitions/win32_wldp.py +3 -18
  661. angr/procedures/definitions/win32_wmvcore.py +3 -18
  662. angr/procedures/definitions/win32_wnvapi.py +3 -18
  663. angr/procedures/definitions/win32_wofutil.py +3 -18
  664. angr/procedures/definitions/win32_ws2_32.py +3 -18
  665. angr/procedures/definitions/win32_wscapi.py +3 -18
  666. angr/procedures/definitions/win32_wsclient.py +3 -18
  667. angr/procedures/definitions/win32_wsdapi.py +3 -18
  668. angr/procedures/definitions/win32_wsmsvc.py +3 -18
  669. angr/procedures/definitions/win32_wsnmp32.py +3 -18
  670. angr/procedures/definitions/win32_wtsapi32.py +3 -18
  671. angr/procedures/definitions/win32_xaudio2_8.py +3 -18
  672. angr/procedures/definitions/win32_xinput1_4.py +3 -18
  673. angr/procedures/definitions/win32_xinputuap.py +3 -3
  674. angr/procedures/definitions/win32_xmllite.py +3 -18
  675. angr/procedures/definitions/win32_xolehlp.py +3 -18
  676. angr/procedures/definitions/win32_xpsprint.py +3 -18
  677. angr/procedures/glibc/scanf.py +2 -2
  678. angr/procedures/glibc/sscanf.py +1 -1
  679. angr/procedures/java/__init__.py +6 -3
  680. angr/procedures/java/unconstrained.py +3 -3
  681. angr/procedures/java_io/read.py +1 -1
  682. angr/procedures/java_io/write.py +1 -1
  683. angr/procedures/java_jni/__init__.py +4 -4
  684. angr/procedures/java_jni/array_operations.py +2 -2
  685. angr/procedures/java_jni/field_access.py +3 -3
  686. angr/procedures/java_jni/method_calls.py +2 -2
  687. angr/procedures/java_jni/object_operations.py +1 -1
  688. angr/procedures/java_jni/string_operations.py +1 -1
  689. angr/procedures/java_lang/character.py +1 -1
  690. angr/procedures/java_lang/double.py +1 -1
  691. angr/procedures/java_lang/exit.py +1 -1
  692. angr/procedures/java_lang/getsimplename.py +1 -1
  693. angr/procedures/java_lang/integer.py +2 -2
  694. angr/procedures/java_lang/load_library.py +1 -1
  695. angr/procedures/java_lang/math.py +1 -1
  696. angr/procedures/java_lang/string.py +3 -3
  697. angr/procedures/java_lang/stringbuilder.py +2 -2
  698. angr/procedures/java_lang/system.py +1 -1
  699. angr/procedures/java_util/collection.py +2 -2
  700. angr/procedures/java_util/iterator.py +2 -2
  701. angr/procedures/java_util/list.py +3 -3
  702. angr/procedures/java_util/map.py +3 -3
  703. angr/procedures/java_util/random.py +1 -1
  704. angr/procedures/java_util/scanner_nextline.py +2 -2
  705. angr/procedures/libc/fseek.py +1 -1
  706. angr/procedures/libc/memcpy.py +1 -1
  707. angr/procedures/libc/strlen.py +12 -4
  708. angr/procedures/libc/strncmp.py +9 -4
  709. angr/procedures/linux_kernel/iovec.py +3 -3
  710. angr/procedures/linux_kernel/mmap.py +1 -1
  711. angr/procedures/linux_kernel/stat.py +1 -1
  712. angr/procedures/linux_kernel/sysinfo.py +1 -1
  713. angr/procedures/posix/bzero.py +1 -1
  714. angr/procedures/posix/mmap.py +1 -1
  715. angr/procedures/posix/send.py +1 -1
  716. angr/procedures/posix/syslog.py +2 -3
  717. angr/procedures/procedure_dict.py +2 -2
  718. angr/procedures/stubs/format_parser.py +5 -5
  719. angr/procedures/tracer/random.py +1 -1
  720. angr/procedures/tracer/receive.py +1 -1
  721. angr/procedures/tracer/transmit.py +1 -1
  722. angr/procedures/uclibc/__uClibc_main.py +1 -1
  723. angr/protos/__init__.py +8 -0
  724. angr/sim_options.py +0 -4
  725. angr/sim_type.py +9 -18
  726. angr/simos/__init__.py +12 -0
  727. angr/simos/cgc.py +5 -5
  728. angr/simos/javavm.py +12 -12
  729. angr/simos/linux.py +5 -5
  730. angr/simos/simos.py +11 -15
  731. angr/simos/userland.py +3 -3
  732. angr/simos/windows.py +5 -10
  733. angr/state_plugins/__init__.py +84 -28
  734. angr/state_plugins/callstack.py +1 -1
  735. angr/state_plugins/concrete.py +3 -4
  736. angr/state_plugins/filesystem.py +3 -3
  737. angr/state_plugins/gdb.py +1 -1
  738. angr/state_plugins/heap/__init__.py +14 -5
  739. angr/state_plugins/heap/heap_base.py +5 -4
  740. angr/state_plugins/heap/heap_brk.py +1 -1
  741. angr/state_plugins/heap/heap_freelist.py +1 -1
  742. angr/state_plugins/heap/heap_ptmalloc.py +2 -20
  743. angr/state_plugins/heap/utils.py +1 -1
  744. angr/state_plugins/history.py +2 -2
  745. angr/state_plugins/javavm_classloader.py +3 -3
  746. angr/state_plugins/jni_references.py +1 -1
  747. angr/state_plugins/light_registers.py +3 -3
  748. angr/state_plugins/log.py +1 -1
  749. angr/state_plugins/plugin.py +3 -2
  750. angr/state_plugins/posix.py +3 -3
  751. angr/state_plugins/preconstrainer.py +4 -4
  752. angr/state_plugins/scratch.py +3 -3
  753. angr/state_plugins/sim_action_object.py +1 -1
  754. angr/state_plugins/solver.py +14 -18
  755. angr/state_plugins/symbolizer.py +2 -3
  756. angr/state_plugins/uc_manager.py +1 -1
  757. angr/state_plugins/unicorn_engine.py +4 -4
  758. angr/state_plugins/view.py +1 -1
  759. angr/storage/__init__.py +9 -3
  760. angr/storage/file.py +4 -4
  761. angr/storage/memory_mixins/__init__.py +88 -6
  762. angr/storage/memory_mixins/actions_mixin.py +2 -2
  763. angr/storage/memory_mixins/address_concretization_mixin.py +6 -6
  764. angr/storage/memory_mixins/bvv_conversion_mixin.py +1 -1
  765. angr/storage/memory_mixins/clouseau_mixin.py +1 -1
  766. angr/storage/memory_mixins/convenient_mappings_mixin.py +2 -2
  767. angr/storage/memory_mixins/default_filler_mixin.py +3 -3
  768. angr/storage/memory_mixins/hex_dumper_mixin.py +1 -1
  769. angr/storage/memory_mixins/{javavm_memory/javavm_memory_mixin.py → javavm_memory_mixin.py} +15 -12
  770. angr/storage/memory_mixins/{keyvalue_memory/keyvalue_memory_mixin.py → keyvalue_memory_mixin.py} +11 -6
  771. angr/storage/memory_mixins/name_resolution_mixin.py +2 -2
  772. angr/storage/memory_mixins/paged_memory/paged_memory_mixin.py +1 -1
  773. angr/storage/memory_mixins/paged_memory/paged_memory_multivalue_mixin.py +1 -1
  774. angr/storage/memory_mixins/paged_memory/pages/__init__.py +15 -0
  775. angr/storage/memory_mixins/paged_memory/pages/mv_list_page.py +1 -1
  776. angr/storage/memory_mixins/paged_memory/pages/ultra_page.py +1 -1
  777. angr/storage/memory_mixins/paged_memory/stack_allocation_mixin.py +2 -2
  778. angr/storage/memory_mixins/regioned_memory/__init__.py +10 -0
  779. angr/storage/memory_mixins/regioned_memory/abstract_merger_mixin.py +1 -1
  780. angr/storage/memory_mixins/regioned_memory/region_category_mixin.py +1 -1
  781. angr/storage/memory_mixins/regioned_memory/region_data.py +2 -2
  782. angr/storage/memory_mixins/regioned_memory/region_meta_mixin.py +1 -1
  783. angr/storage/memory_mixins/regioned_memory/regioned_address_concretization_mixin.py +4 -4
  784. angr/storage/memory_mixins/regioned_memory/regioned_memory_mixin.py +7 -19
  785. angr/storage/memory_mixins/regioned_memory/static_find_mixin.py +1 -1
  786. angr/storage/memory_mixins/simple_interface_mixin.py +1 -1
  787. angr/storage/memory_mixins/simplification_mixin.py +1 -1
  788. angr/storage/memory_mixins/size_resolution_mixin.py +1 -1
  789. angr/storage/memory_mixins/slotted_memory.py +1 -1
  790. angr/storage/memory_mixins/smart_find_mixin.py +1 -1
  791. angr/storage/memory_mixins/underconstrained_mixin.py +1 -1
  792. angr/storage/memory_mixins/unwrapper_mixin.py +1 -1
  793. angr/storage/memory_object.py +1 -1
  794. angr/utils/__init__.py +12 -0
  795. angr/utils/enums_conv.py +1 -1
  796. angr/utils/library.py +2 -2
  797. angr/utils/mp.py +1 -1
  798. {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/METADATA +6 -7
  799. angr-9.2.120.dist-info/RECORD +1340 -0
  800. angr/analyses/s_liveness/__init__.py +0 -2
  801. angr/analyses/s_propagator/__init__.py +0 -2
  802. angr/analyses/s_reaching_definitions/s_rda.py +0 -479
  803. angr/knowledge_base/__init__.py +0 -2
  804. angr/knowledge_plugins/structured_code/__init__.py +0 -2
  805. angr/knowledge_plugins/sync/__init__.py +0 -2
  806. angr/knowledge_plugins/sync/sync_controller.py +0 -324
  807. angr/misc/range.py +0 -24
  808. angr/misc/weakpatch.py +0 -59
  809. angr/storage/memory_mixins/javavm_memory/__init__.py +0 -2
  810. angr/storage/memory_mixins/keyvalue_memory/__init__.py +0 -2
  811. angr/storage/pcap.py +0 -65
  812. angr/utils/typing.py +0 -18
  813. angr-9.2.119.dist-info/RECORD +0 -1345
  814. /angr/analyses/{s_liveness/s_liveness.py → s_liveness.py} +0 -0
  815. {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/LICENSE +0 -0
  816. {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/WHEEL +0 -0
  817. {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/entry_points.txt +0 -0
  818. {angr-9.2.119.dist-info → angr-9.2.120.dist-info}/top_level.txt +0 -0
@@ -3,24 +3,9 @@ from __future__ import annotations
3
3
  import logging
4
4
  from collections import OrderedDict
5
5
 
6
- from ...sim_type import (SimTypeFunction,
7
- SimTypeShort,
8
- SimTypeInt,
9
- SimTypeLong,
10
- SimTypeLongLong,
11
- SimTypeDouble,
12
- SimTypeFloat,
13
- SimTypePointer,
14
- SimTypeChar,
15
- SimStruct,
16
- SimTypeArray,
17
- SimTypeBottom,
18
- SimUnion,
19
- SimTypeBool,
20
- SimTypeRef,
21
- )
22
- from ...calling_conventions import SimCCStdcall, SimCCMicrosoftAMD64
23
- from .. import SIM_PROCEDURES as P
6
+ from angr.sim_type import SimTypeFunction, SimTypeShort, SimTypeInt, SimTypeLong, SimTypeLongLong, SimTypeDouble, SimTypeFloat, SimTypePointer, SimTypeChar, SimStruct, SimTypeArray, SimTypeBottom, SimUnion, SimTypeBool, SimTypeRef
7
+ from angr.calling_conventions import SimCCStdcall, SimCCMicrosoftAMD64
8
+ from angr.procedures import SIM_PROCEDURES as P
24
9
  from . import SimLibrary
25
10
 
26
11
 
@@ -3,24 +3,9 @@ from __future__ import annotations
3
3
  import logging
4
4
  from collections import OrderedDict
5
5
 
6
- from ...sim_type import (SimTypeFunction,
7
- SimTypeShort,
8
- SimTypeInt,
9
- SimTypeLong,
10
- SimTypeLongLong,
11
- SimTypeDouble,
12
- SimTypeFloat,
13
- SimTypePointer,
14
- SimTypeChar,
15
- SimStruct,
16
- SimTypeArray,
17
- SimTypeBottom,
18
- SimUnion,
19
- SimTypeBool,
20
- SimTypeRef,
21
- )
22
- from ...calling_conventions import SimCCStdcall, SimCCMicrosoftAMD64
23
- from .. import SIM_PROCEDURES as P
6
+ from angr.sim_type import SimTypeFunction, SimTypeShort, SimTypeInt, SimTypeLong, SimTypeLongLong, SimTypeDouble, SimTypeFloat, SimTypePointer, SimTypeChar, SimStruct, SimTypeArray, SimTypeBottom, SimUnion, SimTypeBool, SimTypeRef
7
+ from angr.calling_conventions import SimCCStdcall, SimCCMicrosoftAMD64
8
+ from angr.procedures import SIM_PROCEDURES as P
24
9
  from . import SimLibrary
25
10
 
26
11
 
@@ -3,24 +3,9 @@ from __future__ import annotations
3
3
  import logging
4
4
  from collections import OrderedDict
5
5
 
6
- from ...sim_type import (SimTypeFunction,
7
- SimTypeShort,
8
- SimTypeInt,
9
- SimTypeLong,
10
- SimTypeLongLong,
11
- SimTypeDouble,
12
- SimTypeFloat,
13
- SimTypePointer,
14
- SimTypeChar,
15
- SimStruct,
16
- SimTypeArray,
17
- SimTypeBottom,
18
- SimUnion,
19
- SimTypeBool,
20
- SimTypeRef,
21
- )
22
- from ...calling_conventions import SimCCStdcall, SimCCMicrosoftAMD64
23
- from .. import SIM_PROCEDURES as P
6
+ from angr.sim_type import SimTypeFunction, SimTypeShort, SimTypeInt, SimTypeLong, SimTypeLongLong, SimTypeDouble, SimTypeFloat, SimTypePointer, SimTypeChar, SimStruct, SimTypeArray, SimTypeBottom, SimUnion, SimTypeBool, SimTypeRef
7
+ from angr.calling_conventions import SimCCStdcall, SimCCMicrosoftAMD64
8
+ from angr.procedures import SIM_PROCEDURES as P
24
9
  from . import SimLibrary
25
10
 
26
11
 
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
- from ..libc.scanf import scanf
3
- from ..libc.fscanf import fscanf
2
+ from angr.procedures.libc.scanf import scanf
3
+ from angr.procedures.libc.fscanf import fscanf
4
4
 
5
5
 
6
6
  class __isoc99_scanf(scanf):
@@ -1,5 +1,5 @@
1
1
  from __future__ import annotations
2
- from ..libc.sscanf import sscanf
2
+ from angr.procedures.libc.sscanf import sscanf
3
3
 
4
4
 
5
5
  class __isoc99_sscanf(sscanf):
@@ -1,9 +1,9 @@
1
1
  from __future__ import annotations
2
+
2
3
  import itertools
3
4
 
4
- from ...sim_procedure import SimProcedure
5
- from ...engines.soot.values import SimSootValue_Local, SimSootValue_ParamRef, translate_value
6
- from ...engines.soot.expressions import translate_expr
5
+ from angr.sim_procedure import SimProcedure
6
+ from angr.engines.soot.values import SimSootValue_Local, SimSootValue_ParamRef
7
7
 
8
8
 
9
9
  class JavaSimProcedure(SimProcedure):
@@ -37,3 +37,6 @@ class JavaSimProcedure(SimProcedure):
37
37
 
38
38
  def _prepare_ret_state(self):
39
39
  self._engine.prepare_return_state(self.state, self.ret_expr)
40
+
41
+
42
+ __all__ = ("JavaSimProcedure",)
@@ -2,9 +2,9 @@ from __future__ import annotations
2
2
  import claripy
3
3
 
4
4
  from . import JavaSimProcedure
5
- from ...engines.soot.values import SimSootValue_ThisRef, SimSootValue_StringRef
6
- from ...engines.soot.expressions import SimSootExpr_NewArray
7
- from ... import sim_options as options
5
+ from angr.engines.soot.values import SimSootValue_ThisRef, SimSootValue_StringRef
6
+ from angr.engines.soot.expressions import SimSootExpr_NewArray
7
+ from angr import sim_options as options
8
8
 
9
9
 
10
10
  class UnconstrainedMethod(JavaSimProcedure):
@@ -1,5 +1,5 @@
1
1
  from __future__ import annotations
2
- from ..java import JavaSimProcedure
2
+ from angr.procedures.java import JavaSimProcedure
3
3
 
4
4
 
5
5
  class Read(JavaSimProcedure):
@@ -1,5 +1,5 @@
1
1
  from __future__ import annotations
2
- from ..java import JavaSimProcedure
2
+ from angr.procedures.java import JavaSimProcedure
3
3
 
4
4
 
5
5
  class Write(JavaSimProcedure):
@@ -7,10 +7,10 @@ import typing
7
7
  from archinfo import ArchSoot
8
8
  import claripy
9
9
 
10
- from ...calling_conventions import default_cc
11
- from ...sim_procedure import SimProcedure
12
- from ...sim_type import SimTypeFunction
13
- from ...state_plugins.sim_action_object import SimActionObject
10
+ from angr.calling_conventions import default_cc
11
+ from angr.sim_procedure import SimProcedure
12
+ from angr.sim_type import SimTypeFunction
13
+ from angr.state_plugins.sim_action_object import SimActionObject
14
14
 
15
15
  l = logging.getLogger("angr.procedures.java_jni")
16
16
 
@@ -4,8 +4,8 @@ import logging
4
4
  import claripy
5
5
 
6
6
  from . import JNISimProcedure
7
- from ...engines.soot.expressions import SimSootExpr_NewArray
8
- from ...engines.soot.values import SimSootValue_ArrayRef
7
+ from angr.engines.soot.expressions import SimSootExpr_NewArray
8
+ from angr.engines.soot.values import SimSootValue_ArrayRef
9
9
 
10
10
  l = logging.getLogger("angr.procedures.java_jni.array_operations")
11
11
 
@@ -4,9 +4,9 @@ import logging
4
4
  from archinfo.arch_soot import ArchSoot
5
5
 
6
6
  from . import JNISimProcedure
7
- from ...engines.soot.exceptions import SootFieldNotLoadedException
8
- from ...engines.soot.field_dispatcher import resolve_field
9
- from ...engines.soot.values import SimSootValue_InstanceFieldRef, SimSootValue_StaticFieldRef
7
+ from angr.engines.soot.exceptions import SootFieldNotLoadedException
8
+ from angr.engines.soot.field_dispatcher import resolve_field
9
+ from angr.engines.soot.values import SimSootValue_InstanceFieldRef, SimSootValue_StaticFieldRef
10
10
 
11
11
  l = logging.getLogger("angr.procedures.java_jni.field_access")
12
12
 
@@ -4,8 +4,8 @@ import logging
4
4
  from archinfo.arch_soot import ArchSoot, SootAddressDescriptor, SootArgument, SootMethodDescriptor
5
5
 
6
6
  from . import JNISimProcedure
7
- from ...calling_conventions import SimCCSoot
8
- from ...engines.soot.method_dispatcher import resolve_method
7
+ from angr.calling_conventions import SimCCSoot
8
+ from angr.engines.soot.method_dispatcher import resolve_method
9
9
 
10
10
  l = logging.getLogger("angr.procedures.java_jni.callmethod")
11
11
 
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
  from . import JNISimProcedure
3
- from ...engines.soot.values import SimSootValue_ThisRef
3
+ from angr.engines.soot.values import SimSootValue_ThisRef
4
4
  from .method_calls import CallMethodBase
5
5
 
6
6
  # pylint: disable=arguments-differ,unused-argument
@@ -4,7 +4,7 @@ import logging
4
4
  from claripy import StringV, StrLen
5
5
 
6
6
  from . import JNISimProcedure
7
- from ...engines.soot.values import SimSootValue_StringRef
7
+ from angr.engines.soot.values import SimSootValue_StringRef
8
8
 
9
9
  l = logging.getLogger("angr.procedures.java_jni.string_operations")
10
10
 
@@ -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,7 +3,7 @@ import logging
3
3
 
4
4
  import claripy
5
5
 
6
- from ..java import JavaSimProcedure
6
+ from angr.procedures.java import JavaSimProcedure
7
7
 
8
8
  log = logging.getLogger(name=__name__)
9
9
 
@@ -1,5 +1,5 @@
1
1
  from __future__ import annotations
2
- from ..java import JavaSimProcedure
2
+ from angr.procedures.java import JavaSimProcedure
3
3
 
4
4
  # pylint: disable=arguments-differ,unused-argument
5
5
 
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
  import logging
3
3
 
4
- from ..java import JavaSimProcedure
4
+ from angr.procedures.java import JavaSimProcedure
5
5
  from angr.engines.soot.values.strref import SimSootValue_StringRef
6
6
 
7
7
  l = logging.getLogger(name=__name__)
@@ -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, SimSootValue_ThisRef
5
+ from angr.procedures.java import JavaSimProcedure
6
+ from angr.engines.soot.values import SimSootValue_StringRef, SimSootValue_ThisRef
7
7
 
8
8
  log = logging.getLogger(name=__name__)
9
9
 
@@ -1,5 +1,5 @@
1
1
  from __future__ import annotations
2
- from ..java import JavaSimProcedure
2
+ from angr.procedures.java import JavaSimProcedure
3
3
 
4
4
 
5
5
  class LoadLibrary(JavaSimProcedure):
@@ -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
 
@@ -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
 
@@ -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 */
@@ -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.
@@ -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
@@ -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__)