| 171 | } |
| 172 | |
| 173 | Ref<Section> SharedCacheObjCProcessor::GetSectionWithName(const char *sectionName) |
| 174 | { |
| 175 | const auto controller = DSC::SharedCacheController::FromView(*m_data); |
| 176 | if (!controller) |
| 177 | return nullptr; |
| 178 | |
| 179 | const auto image = controller->GetCache().GetImageAt(m_imageAddress); |
| 180 | if (!image) |
| 181 | return nullptr; |
| 182 | |
| 183 | for (const auto& section : image->header->sectionNames) |
| 184 | if (section.find(sectionName) != std::string::npos) |
| 185 | return m_data->GetSectionByName(section); |
| 186 | |
| 187 | return nullptr; |
| 188 | } |
| 189 | |
| 190 | SharedCacheObjCProcessor::SharedCacheObjCProcessor(BinaryView *data, bool isBackedByDatabase, uint64_t imageAddress) |
| 191 | : ObjCProcessor(data, "SharedCache.ObjC", isBackedByDatabase, true) |
nothing calls this directly
no test coverage detected