This document details the current priority hierarchy of all null-elimination strategies in BYVALVER.
jump_strategies- Absolute last resort fallback (lowest priority)
shift_strategy- Last resort when other strategies can't handlesafe_sib_strategies- Lowest priority to avoid conflicts
sequence_preservation_strategies- Optimized PUSH operationscontext_preservation_strategies- INC/DEC operations
getpc_strategies- Fallback when other techniques don't apply
string_instruction_strategies- Lower priority, more complex approach
salc_rep_stosb_strategies- Medium-low priority
cmp_memory_disp_null_strategy- Medium priority
fpu_strategies- FPU strategiesxchg_strategies- XCHG strategies
sib_strategies- SIB addressing
linux_string_push_strategies- Medium-high priority for path operations
adc_strategies- ADC strategies (multiple instances)sbb_strategies- SBB strategies (multiple instances)
arithmetic_decomposition_strategies- Sophisticated fallbackbound_strategies- BOUND ModR/M strategiesenhanced_register_chaining_strategies- Medium-high prioritylinux_socketcall_strategies- High priority for socket operations
imul_strategies- IMUL strategiesbitwise_flag_manipulation_strategies- Medium priority
memory_displacement_strategies- Memory displacement strategies (range 82-85)movzx_strategies- Critical for Windows API resolutionsmall_immediate_strategies- High priority for size optimizationloop_strategies- LOOP strategies
socket_address_strategies- High priority for port numbersimmediate_split_strategies- High priority for immediate splitting
ret_strategies- High priority (75-80 range)
lea_complex_addressing_strategies- High prioritybt_strategies- BT strategiesrip_relative_strategies- High priority for x64 shellcode
relative_jump_strategies- High priority for control flow operationscmp_strategies- CMP strategies (85-88 range)retf_strategies- RETF immediate strategieslarge_immediate_strategies- High priority
xchg_preservation_strategies- High priority for common pattern
multi_byte_nop_strategies- Critical priority for compiler-generated code
salc_strategies- SALC AL zeroing optimization strategies
rep_stosb_strategies- Higher than ROR13 - more efficient for memory counts
syscall_strategies- Very high priority - more efficient than ROR13sldt_replacement_strategy- Highest priority - critical hardware limitation
indirect_call_strategies- Highest priority - critical Windows API resolution pattern
conditional_jump_offset_strategies- Very high priority - handles critical case
remaining_null_elimination_strategies- Highest priority for final cleanup (higher than conditional jumps at 150)
xor_zero_reg_strategies(100 priority) - Disabled (NEW in 1d8cff3)arithmetic_const_generation_strategies(75 priority) - Disabled (NEW in 1d8cff3)stack_string_const_strategies(85 priority) - Disabled (NEW in 1d8cff3)conditional_flag_strategies(90 priority) - Disabled (NEW in 1d8cff3)xchg_immediate_loading_strategies(60 priority) - Disabled (NEW in 1d8cff3)peb_api_hashing_strategies(95 priority) - Disabled (NEW in 1d8cff3)peb_strategies- Also disabled - causing inappropriate application to non-NOP instructionsanti_debug_strategies- Disabled - causes issues with non-NOP instructions- Multiple other strategies disabled due to bugs or conflicts