angr.angrdb.serializers.loader¶
- class angr.angrdb.serializers.loader.LoadArgsJSONEncoder¶
Bases:
JSONEncoderA JSON encoder that supports serializing bytes.
- class angr.angrdb.serializers.loader.LoadArgsJSONDecoder¶
Bases:
JSONDecoderA JSON decoder that supports unserializing into bytes.
- class angr.angrdb.serializers.loader.LoaderSerializer¶
Bases:
objectSerialize/unserialize a CLE Loader object into/from an angr DB.
Corner cases:
For certain backends (e.g., CART), we do not store the data of the main object. angr will unpack the CART file again after loading the database.
- NO_MAINBIN_BACKENDS = [<class 'cle.backends.cartfile.CARTFile'>]¶
- LOAD_ARG_BLACKLIST = {'is_main_bin', 'loader'}¶
- backend2name = {<class 'cle.backends.blob.Blob'>: 'blob', <class 'cle.backends.cartfile.CARTFile'>: 'cart', <class 'cle.backends.cgc.backedcgc.BackedCGC'>: 'backedcgc', <class 'cle.backends.cgc.cgc.CGC'>: 'cgc', <class 'cle.backends.coff.Coff'>: 'COFF', <class 'cle.backends.elf.elf.ELF'>: 'elf', <class 'cle.backends.elf.elfcore.ELFCore'>: 'elfcore', <class 'cle.backends.ihex.Hex'>: 'hex', <class 'cle.backends.java.apk.Apk'>: 'apk', <class 'cle.backends.java.jar.Jar'>: 'jar', <class 'cle.backends.macho.macho.MachO'>: 'mach-o', <class 'cle.backends.minidump.Minidump'>: 'minidump', <class 'cle.backends.named_region.NamedRegion'>: 'named_region', <class 'cle.backends.pe.pe.PE'>: 'pe', <class 'cle.backends.srec.SRec'>: 'srec', <class 'cle.backends.static_archive.StaticArchive'>: 'AR', <class 'cle.backends.te.TE'>: 'te', <class 'cle.backends.uefi_firmware.UefiFirmware'>: 'uefi', <class 'cle.backends.universal2.Universal2'>: 'Universal2', <class 'cle.backends.xbe.XBE'>: 'xbe'}¶
- static dump(session, loader)¶
- static load(session)¶