/// <summary> /// Copy all directory entries and the address of entry point, relocating them along the way. /// </summary> protected override PEDirectoriesBuilder GetDirectories() { PEDirectoriesBuilder builder = new PEDirectoriesBuilder(); _sectionBuilder.UpdateDirectories(builder); RuntimeFunctionsTableNode runtimeFunctionsTable = _getRuntimeFunctionsTable(); builder.ExceptionTable = new DirectoryEntry( relativeVirtualAddress: _sectionBuilder.GetSymbolRVA(runtimeFunctionsTable), size: runtimeFunctionsTable.TableSize); return(builder); }