void vaOffsetBox_Leave(object sender, EventArgs e)
{
try
{
uint vaOffset = uint.Parse(vaOffsetBox.Text, NumberStyles.HexNumber);
Section targetSection = Section.GetSectionByRva(assembly, (uint)(vaOffset - assembly.NTHeader.OptionalHeader.ImageBase));
OffsetConverter converter;
if (targetSection == null)
{
converter = new OffsetConverter(assembly);
targetSectionLabel.Text = "Target Section: ";
}
else
{
converter = new OffsetConverter(targetSection);
targetSectionLabel.Text = "Target Section: " + targetSection.Name;
}
uint fileOffset = converter.VaToFileOffset(vaOffset);
fileOffsetBox.Text = fileOffset.ToString("X8");
rvaOffsetBox.Text = converter.VaToRva(vaOffset).ToString("X8");
hexBox.Select(fileOffset, 1);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}