As it is right now the whole architecture handling code that mostly resides in the analysis folder is rarely (if not never) being used in other parts of the python bindings and it is not easily extendible with other architectures.
There are some of the issues with its current implementation:
- The base
QuokkaArch class contains some fields that are either not common in all architectures (there is no inst_pointer register in ppc) or not easily defined (like compared_mnemonics)
- We aim to use
QuokkaArch as an interface to a generic architecture but at the same time we are building the various architecture specific subclasses directly from capstone, so it doesn't hold much additional information.
- Imho it makes more sense to get the calling convention from the binary itself instead of defining them per system/architecture
- The
Enviornment and Replacer classes are never being used
As things are right now it's not really working as intended, either we drop it and just rely on capstone architecture or we fix it to have a proper interface to a generic architecture
As it is right now the whole architecture handling code that mostly resides in the
analysisfolder is rarely (if not never) being used in other parts of the python bindings and it is not easily extendible with other architectures.There are some of the issues with its current implementation:
QuokkaArchclass contains some fields that are either not common in all architectures (there is noinst_pointerregister in ppc) or not easily defined (likecompared_mnemonics)QuokkaArchas an interface to a generic architecture but at the same time we are building the various architecture specific subclasses directly from capstone, so it doesn't hold much additional information.EnviornmentandReplacerclasses are never being usedAs things are right now it's not really working as intended, either we drop it and just rely on capstone architecture or we fix it to have a proper interface to a generic architecture