From 889220635ade554600346a576fe60de0a40b3b07 Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Sun, 20 Jul 2025 20:41:01 -0400 Subject: [WARP] Fix garbage jumps from being included in the variant instruction masking We emit jumps at the end of some blocks that the architecture is not aware of, they are not actually apart of the functions instructions rather they are used in our analysis... somehow, I have not figured out what they are supposed to be used for but regardless, they should be ignored by WARP. This was just a case where the filtering was including jumps in non start instructions, where we actually wanted the opposite. --- plugins/warp/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'plugins') diff --git a/plugins/warp/src/lib.rs b/plugins/warp/src/lib.rs index 0a4a758c..fd935702 100644 --- a/plugins/warp/src/lib.rs +++ b/plugins/warp/src/lib.rs @@ -248,7 +248,7 @@ pub fn filtered_instructions_at( LowLevelILInstructionKind::NoRet(_) | LowLevelILInstructionKind::Ret(_) => false, // Stop collecting instruction if we are probably the end function jump in lifted IL. This // is emitted at the end of the function and will mess with our GUID. - LowLevelILInstructionKind::Jump(_) => *i != 0, + LowLevelILInstructionKind::Jump(_) => *i == 0, _ => true, }) .map(|(_, instr)| instr) -- cgit v1.3.1