MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / BNKCViewGetLoadedImages

Function BNKCViewGetLoadedImages

view/kernelcache/core/KernelCache.cpp:2353–2378  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2351 }
2352
2353 BNKCImage* BNKCViewGetLoadedImages(BNKernelCache* cache, size_t* count)
2354 {
2355 if (cache->object)
2356 {
2357 auto images = cache->object->GetLoadedImages();
2358 *count = images.size();
2359 BNKCImage* bnImages = new BNKCImage[images.size()];
2360 for (size_t i = 0; i < images.size(); i++)
2361 {
2362 bnImages[i].name = BNAllocString(images[i].installName.c_str());
2363 bnImages[i].headerFileAddress = images[i].headerFileLocation;
2364 bnImages[i].mappingCount = images[i].regions.size();
2365 bnImages[i].mappings = new BNKCImageMemoryMapping[images[i].regions.size()];
2366 for (size_t j = 0; j < images[i].regions.size(); j++)
2367 {
2368 bnImages[i].mappings[j].rawViewOffset = images[i].regions[j].fileOffset;
2369 bnImages[i].mappings[j].vmAddress = images[i].regions[j].start;
2370 bnImages[i].mappings[j].size = images[i].regions[j].size;
2371 bnImages[i].mappings[j].name = BNAllocString(images[i].regions[j].prettyName.c_str());
2372 }
2373 }
2374 return bnImages;
2375 }
2376 *count = 0;
2377 return nullptr;
2378 }
2379
2380 void BNKCViewFreeLoadedImages(BNKCImage* images, size_t count)
2381 {

Callers 1

GetLoadedImagesMethod · 0.85

Calls 3

c_strMethod · 0.80
GetLoadedImagesMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected