public static ImmutableArray <int> GetUses(DisassemblyView view) { var visitor = new ScenarioIdTracer(view); visitor.RunVisits(); return(visitor._uses.OrderBy(_ => _).ToImmutableArray()); }
private void NewDisassmView(object sender, EventArgs e) { var t = new DisassemblyView("DisassemblyView"); t.Show(dockPanel1, WeifenLuo.WinFormsUI.Docking.DockState.Float); myDocks.Add(t); }
public DisassemblyVisitor(DisassemblyView view, int?startPoint) { if (startPoint == null) { startPoint = view.BeginAddress; } _startPoint = startPoint.Value; DisassemblyView = view; }
private void openToolStripMenuItem_Click(object sender, EventArgs e) { if (openFileDialog.ShowDialog() == DialogResult.OK) { _debuggerWrapper.Load(openFileDialog.FileName); _disassemblyView = new DisassemblyView(); _disassemblyView.LoadDisassembly(_debuggerWrapper.Disassembly); AddDocument("disassembly", _disassemblyView); } }
public static DataXRefDb FromDisassembly(DisassemblyView disassembly) { var builder = new Builder(); foreach (var(addr, instruction) in disassembly.EnumerateInstructions()) { foreach (var xRef in instruction.DataXRefOut) { builder.Add(addr, xRef.Address, xRef.Type); } } return(builder.Build()); }
//todo: actually implement this private void analysisGrid_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e) { maintabcontrol.SelectedIndex = 1; analyzelabel.Text = analysisGrid.SelectedRows[0].Cells[0].Value.ToString(); backbutton.Visible = true; backbutton.Enabled = true; origBytes.Text = "bytes"; hookedBytes.Text = "bytes"; origDisass.Text = DisassemblyView.DisassembleToLines(new byte[] { 0xCC }, 0).First(); hookedDisass.Text = DisassemblyView.DisassembleToLines(new byte[] { 0x90 }, 0).First(); }
private ScenarioIdTracer(DisassemblyView view) : base(view, null) { }
public static ControlFlowGraph Build(DisassemblyView disassemblyView, IReadOnlyCollection <int> entries) { return(null !); }