| 56 | }; |
| 57 | |
| 58 | class SharedCacheObjCProcessor : public BinaryNinja::ObjCProcessor |
| 59 | { |
| 60 | std::optional<uint64_t> m_customRelativeMethodSelectorBase = std::nullopt; |
| 61 | uint64_t m_imageAddress; |
| 62 | |
| 63 | std::shared_ptr<BinaryNinja::ObjCReader> GetReader() override; |
| 64 | |
| 65 | void GetRelativeMethod(BinaryNinja::ObjCReader* reader, BinaryNinja::method_t& meth) override; |
| 66 | |
| 67 | BinaryNinja::Ref<BinaryNinja::Symbol> GetSymbol(uint64_t address) override; |
| 68 | |
| 69 | BinaryNinja::Ref<BinaryNinja::Section> GetSectionWithName(const char *sectionName) override; |
| 70 | |
| 71 | public: |
| 72 | SharedCacheObjCProcessor(BinaryNinja::BinaryView* data, bool isBackedByDatabase, uint64_t imageAddress); |
| 73 | |
| 74 | uint64_t GetObjCRelativeMethodBaseAddress(BinaryNinja::ObjCReader* reader) override; |
| 75 | }; |
| 76 | } // namespace DSCObjC |