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
@@ -14,15 +14,15 @@ from archinfo import ArchARM
14
14
  from angr.analyses import ForwardAnalysis
15
15
  from angr.utils.graph import GraphUtils
16
16
  from angr.analyses import AnalysesHub
17
- from ... import BP, BP_BEFORE, BP_AFTER, SIM_PROCEDURES, procedures
18
- from ... import options as o
19
- from ...codenode import BlockNode
20
- from ...engines.procedure import ProcedureEngine
21
- from ...exploration_techniques.loop_seer import LoopSeer
22
- from ...exploration_techniques.slicecutor import Slicecutor
23
- from ...exploration_techniques.explorer import Explorer
24
- from ...exploration_techniques.lengthlimiter import LengthLimiter
25
- from ...errors import (
17
+ from angr import BP, BP_BEFORE, BP_AFTER, SIM_PROCEDURES, procedures
18
+ from angr import options as o
19
+ from angr.codenode import BlockNode
20
+ from angr.engines.procedure import ProcedureEngine
21
+ from angr.exploration_techniques.loop_seer import LoopSeer
22
+ from angr.exploration_techniques.slicecutor import Slicecutor
23
+ from angr.exploration_techniques.explorer import Explorer
24
+ from angr.exploration_techniques.lengthlimiter import LengthLimiter
25
+ from angr.errors import (
26
26
  AngrCFGError,
27
27
  AngrError,
28
28
  AngrSkipJobNotice,
@@ -34,15 +34,15 @@ from ...errors import (
34
34
  AngrExitError,
35
35
  SimEmptyCallStackError,
36
36
  )
37
- from ...sim_state import SimState
38
- from ...state_plugins.callstack import CallStack
39
- from ...state_plugins.sim_action import SimActionData
40
- from ...knowledge_plugins.cfg import CFGENode, IndirectJump
41
- from ...utils.constants import DEFAULT_STATEMENT
42
- from ..cdg import CDG
43
- from ..ddg import DDG
44
- from ..backward_slice import BackwardSlice
45
- from ..loopfinder import LoopFinder, Loop
37
+ from angr.sim_state import SimState
38
+ from angr.state_plugins.callstack import CallStack
39
+ from angr.state_plugins.sim_action import SimActionData
40
+ from angr.knowledge_plugins.cfg import CFGENode, IndirectJump
41
+ from angr.utils.constants import DEFAULT_STATEMENT
42
+ from angr.analyses.cdg import CDG
43
+ from angr.analyses.ddg import DDG
44
+ from angr.analyses.backward_slice import BackwardSlice
45
+ from angr.analyses.loopfinder import LoopFinder, Loop
46
46
  from .cfg_base import CFGBase
47
47
  from .cfg_job_base import BlockID, CFGJobBase
48
48
  import contextlib
@@ -3450,7 +3450,7 @@ class CFGFast(ForwardAnalysis[CFGNode, CFGNode, CFGJob, int], CFGBase): # pylin
3450
3450
 
3451
3451
  # next case - if b is directly from function prologue detection, or a basic block that is a successor of
3452
3452
  # a wrongly identified basic block, we might be totally misdecoding b
3453
- if b.instruction_addrs[0] not in a.instruction_addrs and b in self.graph:
3453
+ if (not b.instruction_addrs or b.instruction_addrs[0] not in a.instruction_addrs) and b in self.graph:
3454
3454
  # use a, truncate b
3455
3455
 
3456
3456
  new_b_addr = a.addr + a.size # b starts right after a terminates
@@ -8,11 +8,11 @@ from copy import copy
8
8
 
9
9
  from archinfo.arch_soot import SootMethodDescriptor, SootAddressDescriptor
10
10
 
11
- from ...utils.constants import DEFAULT_STATEMENT
12
- from ...errors import AngrCFGError, SimMemoryError, SimEngineError
13
- from ...codenode import HookNode, SootBlockNode
14
- from ...knowledge_plugins.cfg import CFGNode
15
- from .. import register_analysis
11
+ from angr.utils.constants import DEFAULT_STATEMENT
12
+ from angr.errors import AngrCFGError, SimMemoryError, SimEngineError
13
+ from angr.codenode import HookNode, SootBlockNode
14
+ from angr.knowledge_plugins.cfg import CFGNode
15
+ from angr.analyses import register_analysis
16
16
  from .cfg_fast import CFGFast, CFGJob, PendingJobs, FunctionTransitionEdge
17
17
 
18
18
  l = logging.getLogger(name=__name__)
@@ -4,11 +4,11 @@ from typing import TYPE_CHECKING
4
4
 
5
5
  from archinfo.arch_soot import SootAddressDescriptor
6
6
 
7
- from ...errors import SimValueError, SimSolverModeError
8
- from ...state_plugins.callstack import CallStack
7
+ from angr.errors import SimValueError, SimSolverModeError
8
+ from angr.state_plugins.callstack import CallStack
9
9
 
10
10
  if TYPE_CHECKING:
11
- from ...sim_state import SimState
11
+ from angr.sim_state import SimState
12
12
  l = logging.getLogger(name=__name__)
13
13
 
14
14
  # TODO: Make callsite an object and use it in BlockID and FunctionKey
@@ -1,4 +1,5 @@
1
1
  from __future__ import annotations
2
+
2
3
  from .mips_elf_fast import MipsElfFastResolver
3
4
  from .x86_elf_pic_plt import X86ElfPicPltResolver
4
5
  from .jumptable import JumpTableResolver
@@ -7,3 +8,15 @@ from .amd64_elf_got import AMD64ElfGotResolver
7
8
  from .arm_elf_fast import ArmElfFastResolver
8
9
  from .const_resolver import ConstantResolver
9
10
  from .amd64_pe_iat import AMD64PeIatResolver
11
+
12
+
13
+ __all__ = (
14
+ "MipsElfFastResolver",
15
+ "X86ElfPicPltResolver",
16
+ "JumpTableResolver",
17
+ "X86PeIatResolver",
18
+ "AMD64ElfGotResolver",
19
+ "ArmElfFastResolver",
20
+ "ConstantResolver",
21
+ "AMD64PeIatResolver",
22
+ )
@@ -3,7 +3,7 @@ import logging
3
3
 
4
4
  from capstone.x86_const import X86_OP_MEM, X86_REG_RIP
5
5
 
6
- from ....simos import SimWindows
6
+ from angr.simos import SimWindows
7
7
  from .resolver import IndirectJumpResolver
8
8
 
9
9
  l = logging.getLogger(name=__name__)
@@ -4,8 +4,8 @@ import logging
4
4
  import archinfo
5
5
  import pyvex
6
6
 
7
- from ....blade import Blade
8
- from ....utils.constants import DEFAULT_STATEMENT
7
+ from angr.blade import Blade
8
+ from angr.utils.constants import DEFAULT_STATEMENT
9
9
  from .resolver import IndirectJumpResolver
10
10
 
11
11
  _l = logging.getLogger(name=__name__)
@@ -5,10 +5,10 @@ import logging
5
5
  import claripy
6
6
  import pyvex
7
7
 
8
- from ....utils.constants import DEFAULT_STATEMENT
9
- from ....code_location import CodeLocation
10
- from ....blade import Blade
11
- from ...propagator import vex_vars
8
+ from angr.utils.constants import DEFAULT_STATEMENT
9
+ from angr.code_location import CodeLocation
10
+ from angr.blade import Blade
11
+ from angr.analyses.propagator import vex_vars
12
12
  from .resolver import IndirectJumpResolver
13
13
  from .propagator_utils import PropagatorLoadCallback
14
14
 
@@ -11,27 +11,27 @@ import pyvex
11
11
  import claripy
12
12
  from archinfo.arch_arm import is_arm_arch
13
13
 
14
- from .... import sim_options as o
15
- from .... import BP, BP_BEFORE, BP_AFTER
16
- from ....misc.ux import once
17
- from ....code_location import CodeLocation
18
- from ....concretization_strategies import SimConcretizationStrategyAny
19
- from ....knowledge_plugins.cfg import IndirectJump, IndirectJumpType
20
- from ....engines.vex.claripy import ccall
21
- from ....engines.light import SimEngineLightVEXMixin, SimEngineLight, SpOffset, RegisterOffset
22
- from ....errors import AngrError, SimError
23
- from ....blade import Blade
24
- from ....annocfg import AnnotatedCFG
25
- from ....exploration_techniques.slicecutor import Slicecutor
26
- from ....exploration_techniques.local_loop_seer import LocalLoopSeer
27
- from ....exploration_techniques.explorer import Explorer
28
- from ....utils.constants import DEFAULT_STATEMENT
29
- from ...propagator.vex_vars import VEXReg
14
+ from angr import sim_options as o
15
+ from angr import BP, BP_BEFORE, BP_AFTER
16
+ from angr.misc.ux import once
17
+ from angr.code_location import CodeLocation
18
+ from angr.concretization_strategies import SimConcretizationStrategyAny
19
+ from angr.knowledge_plugins.cfg import IndirectJump, IndirectJumpType
20
+ from angr.engines.vex.claripy import ccall
21
+ from angr.engines.light import SimEngineLightVEXMixin, SimEngineLight, SpOffset, RegisterOffset
22
+ from angr.errors import AngrError, SimError
23
+ from angr.blade import Blade
24
+ from angr.annocfg import AnnotatedCFG
25
+ from angr.exploration_techniques.slicecutor import Slicecutor
26
+ from angr.exploration_techniques.local_loop_seer import LocalLoopSeer
27
+ from angr.exploration_techniques.explorer import Explorer
28
+ from angr.utils.constants import DEFAULT_STATEMENT
29
+ from angr.analyses.propagator.vex_vars import VEXReg
30
30
  from .resolver import IndirectJumpResolver
31
31
  from .propagator_utils import PropagatorLoadCallback
32
32
 
33
33
  try:
34
- from ....engines import pcode
34
+ from angr.engines import pcode
35
35
  except ImportError:
36
36
  pcode = None
37
37
 
@@ -1723,7 +1723,10 @@ class JumpTableResolver(IndirectJumpResolver):
1723
1723
  all_targets = []
1724
1724
  jump_table = []
1725
1725
 
1726
- jumptable_si = claripy.SI(bits=project.arch.bits, to_conv=jumptable_addr)
1726
+ try:
1727
+ jumptable_si = claripy.SI(bits=project.arch.bits, to_conv=jumptable_addr)
1728
+ except claripy.errors.BackendError:
1729
+ return None
1727
1730
 
1728
1731
  # we may resolve a vtable (in C, e.g., the IO_JUMPS_FUNC in libc), but the stride of this load is usually 1
1729
1732
  # while the read statement reads a word size at a time.
@@ -8,11 +8,11 @@ import claripy
8
8
  import pyvex
9
9
 
10
10
 
11
- from .... import options, BP_BEFORE
12
- from ....blade import Blade
13
- from ....annocfg import AnnotatedCFG
14
- from ....exploration_techniques import Slicecutor
15
- from ....utils.constants import DEFAULT_STATEMENT
11
+ from angr import options, BP_BEFORE
12
+ from angr.blade import Blade
13
+ from angr.annocfg import AnnotatedCFG
14
+ from angr.exploration_techniques import Slicecutor
15
+ from angr.utils.constants import DEFAULT_STATEMENT
16
16
  from .resolver import IndirectJumpResolver
17
17
 
18
18
  if TYPE_CHECKING:
@@ -1,10 +1,10 @@
1
1
  from __future__ import annotations
2
2
  import typing
3
3
 
4
- from ....errors import SimMemoryError
4
+ from angr.errors import SimMemoryError
5
5
 
6
6
  if typing.TYPE_CHECKING:
7
- from .... import Project
7
+ from angr import Project
8
8
 
9
9
 
10
10
  class IndirectJumpResolver:
@@ -3,7 +3,7 @@ import logging
3
3
 
4
4
  from capstone.x86_const import X86_OP_MEM
5
5
 
6
- from ....simos import SimWindows
6
+ from angr.simos import SimWindows
7
7
  from .resolver import IndirectJumpResolver
8
8
 
9
9
  l = logging.getLogger(name=__name__)
@@ -1,3 +1,11 @@
1
1
  from __future__ import annotations
2
+
2
3
  from .graph import slice_callgraph, slice_cfg_graph, slice_function_graph
3
4
  from .cfg_slice_to_sink import CFGSliceToSink
5
+
6
+ __all__ = (
7
+ "CFGSliceToSink",
8
+ "slice_callgraph",
9
+ "slice_cfg_graph",
10
+ "slice_function_graph",
11
+ )
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
- from ..sim_type import SimCppClass, SimTypeCppFunction
3
- from ..analyses import AnalysesHub
2
+ from angr.sim_type import SimCppClass, SimTypeCppFunction
3
+ from angr.analyses import AnalysesHub
4
4
  from . import Analysis, CFGFast, VtableFinder
5
5
 
6
6
 
@@ -1,8 +1,8 @@
1
1
  from __future__ import annotations
2
2
  import pyvex
3
3
 
4
- from ..utils import looks_like_sql
5
- from ..knowledge_plugins.xrefs import XRef
4
+ from angr.utils import looks_like_sql
5
+ from angr.knowledge_plugins.xrefs import XRef
6
6
  from . import Analysis, AnalysesHub
7
7
 
8
8
 
@@ -14,8 +14,8 @@ import claripy
14
14
 
15
15
  from angr.utils.graph import GraphUtils
16
16
  from angr.simos import SimWindows
17
- from ..utils.mp import mp_context, Initializer
18
- from ..knowledge_plugins.cfg import CFGModel
17
+ from angr.utils.mp import mp_context, Initializer
18
+ from angr.knowledge_plugins.cfg import CFGModel
19
19
  from . import Analysis, register_analysis, VariableRecoveryFast, CallingConventionAnalysis
20
20
 
21
21
  if TYPE_CHECKING:
@@ -185,7 +185,7 @@ class CompleteCallingConventionsAnalysis(Analysis):
185
185
  if self._cc_callback is not None:
186
186
  self._cc_callback(func_addr)
187
187
 
188
- percentage = idx + 1 / total_funcs * 100.0
188
+ percentage = (idx + 1) / total_funcs * 100.0
189
189
  self._update_progress(percentage, text=f"{idx + 1}/{total_funcs} - {func.demangled_name}")
190
190
  if self._low_priority:
191
191
  self._release_gil(idx + 1, 10, 0.000001)
@@ -6,7 +6,6 @@ import claripy
6
6
  from . import Analysis
7
7
 
8
8
  l = logging.getLogger(name=__name__)
9
- # l.setLevel(logging.DEBUG)
10
9
 
11
10
 
12
11
  class CongruencyCheck(Analysis):
@@ -373,7 +372,7 @@ class CongruencyCheck(Analysis):
373
372
  return True
374
373
 
375
374
 
376
- from ..errors import AngrIncongruencyError
375
+ from angr.errors import AngrIncongruencyError
377
376
  from angr.analyses import AnalysesHub
378
377
 
379
378
  AnalysesHub.register_default("CongruencyCheck", CongruencyCheck)
@@ -1,3 +1,16 @@
1
1
  from __future__ import annotations
2
+
2
3
  from .data_dependency_analysis import DataDependencyGraphAnalysis
3
4
  from .dep_nodes import DepNodeTypes, BaseDepNode, VarDepNode, MemDepNode, ConstantDepNode, TmpDepNode, RegDepNode
5
+
6
+
7
+ __all__ = (
8
+ "DataDependencyGraphAnalysis",
9
+ "DepNodeTypes",
10
+ "BaseDepNode",
11
+ "VarDepNode",
12
+ "MemDepNode",
13
+ "ConstantDepNode",
14
+ "TmpDepNode",
15
+ "RegDepNode",
16
+ )
@@ -12,11 +12,11 @@ import claripy
12
12
  from claripy.ast.bv import BV
13
13
  from .dep_nodes import DepNodeTypes, ConstantDepNode, MemDepNode, VarDepNode, RegDepNode, TmpDepNode
14
14
  from .sim_act_location import SimActLocation, DEFAULT_LOCATION, ParsedInstruction
15
- from .. import Analysis
16
- from ...analyses import AnalysesHub
17
- from ...errors import AngrDDGError, AngrAnalysisError, SimValueError
18
- from ...state_plugins import SimActionData
19
- from ...storage import DefaultMemory
15
+ from angr.analyses import Analysis
16
+ from angr.analyses import AnalysesHub
17
+ from angr.errors import AngrDDGError, AngrAnalysisError, SimValueError
18
+ from angr.state_plugins import SimActionData
19
+ from angr.storage import DefaultMemory
20
20
 
21
21
  if TYPE_CHECKING:
22
22
  from .dep_nodes import BaseDepNode
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
  import logging
3
3
 
4
- from ..sim_procedure import SimProcedure
4
+ from angr.sim_procedure import SimProcedure
5
5
 
6
6
  l = logging.getLogger(name=__name__)
7
7
 
angr/analyses/ddg.py CHANGED
@@ -6,9 +6,9 @@ import networkx
6
6
  import pyvex
7
7
  from . import Analysis
8
8
 
9
- from ..code_location import CodeLocation
10
- from ..errors import SimSolverModeError, SimUnsatError, AngrDDGError
11
- from ..sim_variable import (
9
+ from angr.code_location import CodeLocation
10
+ from angr.errors import SimSolverModeError, SimUnsatError, AngrDDGError
11
+ from angr.sim_variable import (
12
12
  SimRegisterVariable,
13
13
  SimMemoryVariable,
14
14
  SimTemporaryVariable,
@@ -1,4 +1,5 @@
1
1
  from __future__ import annotations
2
+
2
3
  from .region_identifier import RegionIdentifier
3
4
  from .structured_codegen import CStructuredCodeGenerator, ImportSourceCode
4
5
  from .clinic import Clinic
@@ -10,7 +11,31 @@ from .callsite_maker import CallSiteMaker
10
11
  from .ail_simplifier import AILSimplifier
11
12
  from .ssailification import Ssailification
12
13
  from .dephication import GraphDephication, SeqNodeDephication
14
+ from .presets import DECOMPILATION_PRESETS
13
15
  from . import structuring
14
16
  from . import optimization_passes
15
17
 
18
+
16
19
  StructuredCodeGenerator = CStructuredCodeGenerator
20
+
21
+
22
+ __all__ = (
23
+ "RegionIdentifier",
24
+ "CStructuredCodeGenerator",
25
+ "ImportSourceCode",
26
+ "Clinic",
27
+ "RegionSimplifier",
28
+ "Decompiler",
29
+ "options",
30
+ "options_by_category",
31
+ "BlockSimplifier",
32
+ "CallSiteMaker",
33
+ "AILSimplifier",
34
+ "Ssailification",
35
+ "GraphDephication",
36
+ "SeqNodeDephication",
37
+ "DECOMPILATION_PRESETS",
38
+ "structuring",
39
+ "optimization_passes",
40
+ "StructuredCodeGenerator",
41
+ )
@@ -27,14 +27,14 @@ from ailment.expression import (
27
27
 
28
28
  from angr.analyses.s_reaching_definitions import SRDAModel
29
29
  from angr.utils.ail import is_phi_assignment, HasExprWalker
30
- from ...code_location import CodeLocation, ExternalCodeLocation
31
- from ...sim_variable import SimStackVariable, SimMemoryVariable, SimVariable
32
- from ...knowledge_plugins.propagations.states import Equivalence
33
- from ...knowledge_plugins.key_definitions import atoms
34
- from ...knowledge_plugins.key_definitions.definition import Definition
35
- from ...knowledge_plugins.key_definitions.constants import OP_BEFORE
36
- from ...errors import AngrRuntimeError
37
- from .. import Analysis, AnalysesHub
30
+ from angr.code_location import CodeLocation, ExternalCodeLocation
31
+ from angr.sim_variable import SimStackVariable, SimMemoryVariable, SimVariable
32
+ from angr.knowledge_plugins.propagations.states import Equivalence
33
+ from angr.knowledge_plugins.key_definitions import atoms
34
+ from angr.knowledge_plugins.key_definitions.definition import Definition
35
+ from angr.knowledge_plugins.key_definitions.constants import OP_BEFORE
36
+ from angr.errors import AngrRuntimeError
37
+ from angr.analyses import Analysis, AnalysesHub
38
38
  from .ailgraph_walker import AILGraphWalker
39
39
  from .expression_narrower import ExpressionNarrowingWalker
40
40
  from .block_simplifier import BlockSimplifier
@@ -10,9 +10,9 @@ from ailment import AILBlockWalkerBase
10
10
 
11
11
  from angr.code_location import ExternalCodeLocation, CodeLocation
12
12
 
13
- from ...analyses.s_propagator import SPropagatorAnalysis
14
- from ...analyses.s_reaching_definitions import SReachingDefinitionsAnalysis, SRDAModel
15
- from .. import Analysis, register_analysis
13
+ from angr.analyses.s_propagator import SPropagatorAnalysis
14
+ from angr.analyses.s_reaching_definitions import SReachingDefinitionsAnalysis, SRDAModel
15
+ from angr.analyses import Analysis, register_analysis
16
16
  from .peephole_optimizations import (
17
17
  MULTI_STMT_OPTS,
18
18
  STMT_OPTS,
@@ -11,7 +11,7 @@ from angr.sim_type import SimTypeBottom, SimTypePointer, SimTypeChar, SimTypeInt
11
11
  from angr.calling_conventions import SimRegArg, SimStackArg, SimCC, SimStructArg
12
12
  from angr.knowledge_plugins.key_definitions.constants import OP_BEFORE
13
13
  from angr.analyses import Analysis, register_analysis
14
- from angr.analyses.s_reaching_definitions.s_rda import SRDAView
14
+ from angr.analyses.s_reaching_definitions import SRDAView
15
15
  from angr import SIM_LIBRARIES, SIM_TYPE_COLLECTIONS
16
16
 
17
17
  if TYPE_CHECKING:
@@ -284,7 +284,9 @@ class CallSiteMaker(Analysis):
284
284
 
285
285
  if vvar is not None:
286
286
  vvar_value = view.get_vvar_value(vvar)
287
- return vvar_value, vvar
287
+ if not isinstance(vvar_value, Expr.Phi):
288
+ return vvar_value, vvar
289
+ return None, vvar
288
290
 
289
291
  return None
290
292
 
@@ -311,7 +313,7 @@ class CallSiteMaker(Analysis):
311
313
  )
312
314
  if vvar is not None:
313
315
  value = view.get_vvar_value(vvar)
314
- if value is not None:
316
+ if value is not None and not isinstance(value, Expr.Phi):
315
317
  return None, value
316
318
  return None, Expr.VirtualVariable(
317
319
  self._atom_idx(),
@@ -13,13 +13,13 @@ import capstone
13
13
  import ailment
14
14
 
15
15
  from angr.errors import AngrDecompilationError
16
- from ...knowledge_base import KnowledgeBase
17
- from ...knowledge_plugins.functions import Function
18
- from ...knowledge_plugins.cfg.memory_data import MemoryDataSort
19
- from ...codenode import BlockNode
20
- from ...utils import timethis
21
- from ...calling_conventions import SimRegArg, SimStackArg, SimFunctionArgument
22
- from ...sim_type import (
16
+ from angr.knowledge_base import KnowledgeBase
17
+ from angr.knowledge_plugins.functions import Function
18
+ from angr.knowledge_plugins.cfg.memory_data import MemoryDataSort
19
+ from angr.codenode import BlockNode
20
+ from angr.utils import timethis
21
+ from angr.calling_conventions import SimRegArg, SimStackArg, SimFunctionArgument
22
+ from angr.sim_type import (
23
23
  SimTypeChar,
24
24
  SimTypeInt,
25
25
  SimTypeLongLong,
@@ -29,17 +29,16 @@ from ...sim_type import (
29
29
  SimTypeFloat,
30
30
  SimTypePointer,
31
31
  )
32
- from ..stack_pointer_tracker import Register, OffsetVal
33
- from ...sim_variable import SimVariable, SimStackVariable, SimRegisterVariable, SimMemoryVariable
34
- from ...procedures.stubs.UnresolvableCallTarget import UnresolvableCallTarget
35
- from ...procedures.stubs.UnresolvableJumpTarget import UnresolvableJumpTarget
36
- from .. import Analysis, register_analysis
37
- from ..cfg.cfg_base import CFGBase
38
- from ..reaching_definitions import ReachingDefinitionsAnalysis
32
+ from angr.analyses.stack_pointer_tracker import Register, OffsetVal
33
+ from angr.sim_variable import SimVariable, SimStackVariable, SimRegisterVariable, SimMemoryVariable
34
+ from angr.procedures.stubs.UnresolvableCallTarget import UnresolvableCallTarget
35
+ from angr.procedures.stubs.UnresolvableJumpTarget import UnresolvableJumpTarget
36
+ from angr.analyses import Analysis, register_analysis
37
+ from angr.analyses.cfg.cfg_base import CFGBase
38
+ from angr.analyses.reaching_definitions import ReachingDefinitionsAnalysis
39
39
  from .return_maker import ReturnMaker
40
40
  from .ailgraph_walker import AILGraphWalker, RemoveNodeNotice
41
41
  from .optimization_passes import (
42
- get_default_optimization_passes,
43
42
  OptimizationPassStage,
44
43
  RegisterSaveAreaSimplifier,
45
44
  StackCanarySimplifier,
@@ -129,7 +128,7 @@ class Clinic(Analysis):
129
128
  self._func_graph: networkx.DiGraph | None = None
130
129
  self._ail_manager = None
131
130
  self._blocks_by_addr_and_size = {}
132
- self._entry_node_addr: tuple[int, int | None] = self.function.addr, None
131
+ self.entry_node_addr: tuple[int, int | None] = self.function.addr, None
133
132
 
134
133
  self._fold_callexprs_into_conditions = fold_callexprs_into_conditions
135
134
  self._insert_labels = insert_labels
@@ -165,8 +164,7 @@ class Clinic(Analysis):
165
164
  if optimization_passes is not None:
166
165
  self._optimization_passes = optimization_passes
167
166
  else:
168
- self._optimization_passes = get_default_optimization_passes(self.project.arch, self.project.simos.name)
169
- l.debug("Get %d optimization passes for the current binary.", len(self._optimization_passes))
167
+ self._optimization_passes = []
170
168
 
171
169
  if self._mode == ClinicMode.DECOMPILE:
172
170
  self._analyze_for_decompiling()
@@ -713,11 +711,11 @@ class Clinic(Analysis):
713
711
  if self._func_graph.in_degree(node) == 0 and CFGBase._is_noop_block(
714
712
  self.project.arch, self.project.factory.block(node.addr, node.size)
715
713
  ):
716
- if (node.addr, None) == self._entry_node_addr:
714
+ if (node.addr, None) == self.entry_node_addr:
717
715
  # this is the entry node. after removing this node, the new entry node will be its successor
718
716
  if self._func_graph.out_degree[node] == 1:
719
717
  succ = next(iter(self._func_graph.successors(node)))
720
- self._entry_node_addr = succ.addr, None
718
+ self.entry_node_addr = succ.addr, None
721
719
  else:
722
720
  # we just don't remove this node...
723
721
  continue
@@ -1219,6 +1217,7 @@ class Clinic(Analysis):
1219
1217
  graph=ail_graph,
1220
1218
  variable_kb=variable_kb,
1221
1219
  vvar_id_start=self.vvar_id_start,
1220
+ entry_node_addr=self.entry_node_addr,
1222
1221
  **kwargs,
1223
1222
  )
1224
1223
  if a.out_graph:
@@ -1240,7 +1239,7 @@ class Clinic(Analysis):
1240
1239
  ail_graph: networkx.DiGraph,
1241
1240
  arg_vvars: dict[int, tuple[ailment.Expr.VirtualVariable, SimVariable]],
1242
1241
  ) -> networkx.DiGraph:
1243
- entrypoint = next(iter(bb for bb in ail_graph if (bb.addr, bb.idx) == self._entry_node_addr))
1242
+ entrypoint = next(iter(bb for bb in ail_graph if (bb.addr, bb.idx) == self.entry_node_addr))
1244
1243
  new_stmts = []
1245
1244
  for arg in arg_list:
1246
1245
  if not isinstance(arg, SimRegisterVariable):
@@ -1298,7 +1297,7 @@ class Clinic(Analysis):
1298
1297
  ssailification = self.project.analyses.Ssailification(
1299
1298
  self.function,
1300
1299
  ail_graph,
1301
- entry=next(iter(bb for bb in ail_graph if (bb.addr, bb.idx) == self._entry_node_addr)),
1300
+ entry=next(iter(bb for bb in ail_graph if (bb.addr, bb.idx) == self.entry_node_addr)),
1302
1301
  ail_manager=self._ail_manager,
1303
1302
  ssa_stackvars=False,
1304
1303
  vvar_id_start=self.vvar_id_start,
@@ -1311,7 +1310,7 @@ class Clinic(Analysis):
1311
1310
  ssailification = self.project.analyses.Ssailification(
1312
1311
  self.function,
1313
1312
  ail_graph,
1314
- entry=next(iter(bb for bb in ail_graph if (bb.addr, bb.idx) == self._entry_node_addr)),
1313
+ entry=next(iter(bb for bb in ail_graph if (bb.addr, bb.idx) == self.entry_node_addr)),
1315
1314
  ail_manager=self._ail_manager,
1316
1315
  ssa_stackvars=True,
1317
1316
  vvar_id_start=self.vvar_id_start,
@@ -1324,7 +1323,7 @@ class Clinic(Analysis):
1324
1323
  dephication = self.project.analyses.GraphDephicationVVarMapping(
1325
1324
  self.function,
1326
1325
  ail_graph,
1327
- entry=next(iter(bb for bb in ail_graph if (bb.addr, bb.idx) == self._entry_node_addr)),
1326
+ entry=next(iter(bb for bb in ail_graph if (bb.addr, bb.idx) == self.entry_node_addr)),
1328
1327
  vvar_id_start=self.vvar_id_start,
1329
1328
  )
1330
1329
  self.vvar_id_start = dephication.vvar_id_start + 1
@@ -1798,10 +1797,10 @@ class Clinic(Analysis):
1798
1797
 
1799
1798
  graph = networkx.DiGraph()
1800
1799
 
1801
- entry_node = next(iter(node for node in func_graph if node.addr == self._entry_node_addr[0]), None)
1800
+ entry_node = next(iter(node for node in func_graph if node.addr == self.entry_node_addr[0]), None)
1802
1801
  if entry_node is None:
1803
1802
  raise AngrDecompilationError(
1804
- f"Entry node with address {self._entry_node_addr[0]:#x} not found in the function graph"
1803
+ f"Entry node with address {self.entry_node_addr[0]:#x} not found in the function graph"
1805
1804
  )
1806
1805
 
1807
1806
  # add the entry node into the graph
@@ -12,11 +12,11 @@ from unique_log_filter import UniqueLogFilter
12
12
 
13
13
 
14
14
  from angr.utils.graph import GraphUtils
15
- from ...utils.lazy_import import lazy_import
16
- from ...utils import is_pyinstaller
17
- from ...utils.graph import dominates, inverted_idoms
18
- from ...block import Block, BlockNode
19
- from ...errors import AngrRuntimeError
15
+ from angr.utils.lazy_import import lazy_import
16
+ from angr.utils import is_pyinstaller
17
+ from angr.utils.graph import dominates, inverted_idoms
18
+ from angr.block import Block, BlockNode
19
+ from angr.errors import AngrRuntimeError
20
20
  from .peephole_optimizations import InvertNegatedLogicalConjunctionsAndDisjunctions
21
21
  from .structuring.structurer_nodes import (
22
22
  MultiNode,
@@ -158,6 +158,8 @@ _ail2claripy_op_mapping = {
158
158
  "ExpCmpNE": lambda expr, _, m: _dummy_bools(expr, m),
159
159
  "CmpORD": lambda expr, _, m: _dummy_bvs(expr, m), # in case CmpORDRewriter fails
160
160
  "GetMSBs": lambda expr, _, m: _dummy_bvs(expr, m),
161
+ "InterleaveLOV": lambda expr, _, m: _dummy_bvs(expr, m),
162
+ "InterleaveHIV": lambda expr, _, m: _dummy_bvs(expr, m),
161
163
  }
162
164
 
163
165
  #