angr.knowledge_plugins.patches¶
- class angr.knowledge_plugins.patches.PatchManager¶
Bases:
KnowledgeBasePluginA placeholder-style implementation for a binary patch manager. This class should be significantly changed in the future when all data about loaded binary objects are loaded into angr knowledge base from CLE. As of now, it only stores byte-level replacements.
Patches should not overlap, but it’s user’s responsibility to check for and avoid overlapping patches.
- __init__(kb)¶
- remove_patch(addr)¶
- patch_addrs()¶
- get_patch(addr)¶
Get patch at the given address.
- get_all_patches(addr, size)¶
Retrieve all patches that cover a region specified by [addr, addr+size).
- keys()¶
- items()¶
- values()¶
- copy()¶
- static overlap(a0, a1, b0, b1)¶
- apply_patches_to_binary(binary_bytes=None, patches=None)¶
- apply_patches_to_state(state)¶
- property patched_entry_state¶