Skip to content

Can I virtualize functions by address without source code or a MAP file?

Yes. You can specify the start and end RVA of each region. For example, to protect a function from VA 0x401000 to 0x401200 in an image with base address 0x400000, subtract the image base. The RVA range is 0x1000 to 0x1200.

In the Advanced Options panel, add one entry for each start/end RVA pair:

OPTION_ADVANCED_MANUAL_VM_MACRO_1=0x11570 - 0x1158e

OPTION_ADVANCED_MANUAL_VM_MACRO_2=0x1A000 - 0x1A200

OPTION_ADVANCED_MANUAL_VM_MACRO_3=.......

To process the regions as MUTATE macros instead, use:

OPTION_ADVANCED_MANUAL_MUTATE_MACRO_1=0x11570 - 0x1158e

OPTION_ADVANCED_MANUAL_MUTATE_MACRO_2=0x1A000 - 0x1A200

OPTION_ADVANCED_MANUAL_MUTATE_MACRO_3=.......