You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
start_searching_resource_access_ptr = (uint8_t*)(ctx.addr + instr->Length); // The instruction that accesses resource after the call is usually right after the call instruction, so we can start searching from there
232
232
found[0] = true;
233
-
spdlog::info("[FaultyFileDetector]: Found first call at 0x{:X}", (uintptr_t)after_call_ptr);
233
+
spdlog::info("[FaultyFileDetector]: Found first call at 0x{:X}", (uintptr_t)ctx.addr);
resource_argument_assigned_ptr = (uint8_t*)(ctx.addr + instrux->Length); // The instruction that uses the resource argument is the next instruction after the assignment
282
286
spdlog::info("[FaultyFileDetector]: Found resource argument assign at 0x{:x}, hooking to extract it at: 0x{:x}", (uintptr_t)instr_ptr, (uintptr_t)resource_argument_assigned_ptr);
283
287
284
-
break;
288
+
return utility::ExhaustionResult::BREAK;
285
289
}
286
290
}
287
-
instr_ptr += instrux ? instrux->Length : 1;
288
-
}
291
+
292
+
return utility::ExhaustionResult::CONTINUE;
293
+
});
289
294
290
295
if (resource_argument_assigned_ptr == nullptr) {
291
296
spdlog::warn("[FaultyFileDetector]: Failed to find resource argument assign from 0x{:X}", (uintptr_t)parse_call_ptr);
0 commit comments