

in the dialog, make sure Register is set to rbx, select the created struct (a red cross simply means that it has no fields at the matching offsets currently).from context menu, choose “Structure offset” (or press T).To automatically create fields for all rbx-based accesses: Lea rax, `vtable for'NI40SharedControllerĬall NI40PowerPlayManager::createPowerPlayManager(void) For example, this function uses rbx as the base for the structure: ATI6000Controller::initializeProjectDependentResources(void) proc near Using a structure with a gap in the middle (option 2 above) is especially useful when analyzing functions that work with it using a fixed register base.

press * and enter the size (divided by the field size if different from byte).Fixed-size structure 3: fill with dummy fields To create fields in the middle of the gap, go to the specific offset in the struct ( G can be used for big structs). This will reset the name to match the actual offset and will not hinder creation of another field_0 at offset 0 if needed. (optional but recommended) On field_0 which is now at the end of the struct, press N, Del, Enter.add a gap ( Ctrl– E or “Expand struct type.” in context menu) and enter the size minus 1.Fixed-size structure 2: big gap in the middle
#IGOR PRO 7 TUTORIAL FULL SIZE#
When you need to create a field in the middle, press * to resize the array so it ends before the field, create the field, then create another array after it to pad the struct to the full size again.
#IGOR PRO 7 TUTORIAL CODE#
In such cases, you can quickly make a dummy structure and then modify it as you analyze code which works with it. For example, when the size of memory being allocated for the structure is fixed: Sometimes you know the structure size but not the actual layout yet.
