Example #1
0
        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);
        }
Example #3
0
 public DisassemblyVisitor(DisassemblyView view, int?startPoint)
 {
     if (startPoint == null)
     {
         startPoint = view.BeginAddress;
     }
     _startPoint     = startPoint.Value;
     DisassemblyView = view;
 }
Example #4
0
 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);
     }
 }
Example #5
0
        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());
        }
Example #6
0
        //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();
        }
Example #7
0
 private ScenarioIdTracer(DisassemblyView view) : base(view, null)
 {
 }
Example #8
0
 public static ControlFlowGraph Build(DisassemblyView disassemblyView, IReadOnlyCollection <int> entries)
 {
     return(null !);
 }