48 : originalRanges(original_ranges),
49 remappedRanges(remapped_ranges),
50 backdoorLists(original_ranges.size())
59 if (reverted_backdoor ==
nullptr) {
62 return reverted_backdoor;
69 std::unique_ptr<MemBackdoor> reverted_backdoor = std::make_unique<MemBackdoor>();
70 reverted_backdoor->flags(backdoor->
flags());
71 reverted_backdoor->ptr(backdoor->
ptr());
86 Addr backdoor_offset =
88 Addr backdoor_size = shrinked_backdoor_range.
size();
99 Addr shrinked_offset =
101 reverted_backdoor->ptr(backdoor->
ptr() + shrinked_offset);
108 MemBackdoorPtr reverted_backdoor_raw_ptr = reverted_backdoor.get();
110 std::move(reverted_backdoor));
116 return reverted_backdoor_raw_ptr;
120 panic(
"Target does not provide valid backdoor.");
138 if (backdoor->range().contains(
addr) &&
139 backdoor->range().contains(
addr + size - 1)) {
140 return backdoor.get();