Coder Social home page Coder Social logo

beating-the-machine / ida_bochs_windows Goto Github PK

View Code? Open in Web Editor NEW

This project forked from therealdreg/ida_bochs_windows

0.0 0.0 0.0 546 KB

Helper script for Windows kernel debugging with IDA Pro on native Bochs debugger (including PDB symbols)

Home Page: https://rootkit.es/

License: GNU General Public License v3.0

Python 100.00%

ida_bochs_windows's Introduction

ida_bochs_windows

Helper script for Windows kernel debugging with IDA Pro on native Bochs debugger (including PDB symbols)

python3 + idapython 7.4

bochimage

Bochs debugger:

names

Bochs debugger GUI:

debugui

Usage

WARNING: BEFORE OPEN IDA your must set env var: _NT_SYMBOL_PATH to windows symbols, ex:

SRV*C:\winsymbols*

Edit "C:\Program Files\IDA Pro 7.7\cfg\dbg_bochs.cfg"

BOCHSDBG = "C:\\Users\\leno\\Desktop\\Bochs-pruebas\\bochs\\bochs.exe";
BOCHSRC = "C:\\Users\\leno\\Desktop\\Bochs-pruebas\\bochs\\.bochsrc";

Go to IDA .....

Open IDA PRO,

Go to Debugger -> Run -> Local Bochs Debugger

Application:

C:\Users\leno\Desktop\Bochs-pruebas\bochs\.bochsrc

Cick Debug Options -> Set specific options -> Select Disk image

start a debug session and go to File -> Script File -> ida_bochs_windows.py

This idapython script ask you for bochs symbol file

Done!

Export IDA Names to file for raw Bochs debug

  1. Open IDA PRO, start a debug session and go to File -> Script File -> ida_bochs_windows.py
  2. Execute ida_names_to_bochs_sym.py
  3. Select a file to save info

Use the generated file in Bochs debugger (ldsym global + file path), example:

ldsym global "C:\\Users\\Dreg\\bochs\\bochs_syms.txt"

Export IDA Segments to file for raw Bochs debug

  1. Open IDA PRO, start a debug session and go to File -> Script File -> ida_bochs_windows.py
  2. Execute ida_segs_to_bochs_sym.py
  3. Select a file to save info

Use the generated file in Bochs debugger (ldsym global + file path), example:

ldsym global "C:\\Users\\Dreg\\bochs\\bochs_segs.txt"

Join bochs_segs.txt and bochs_syms.txt

It can be useful have segments + symbols together:

type bochs_segs.txt > bochs_segs_and_syms.txt
type bochs_syms.txt >> bochs_segs_and_syms.txt

Now, when a instruction its out of a known segment its easy to view:

bochsend

Demo video

https://youtu.be/X8bJ421iaVA

Related

Helper script for Windows kernel debugging with IDA Pro on VMware + GDB stub (including PDB symbols):

Helper scripts for windows debugging with symbols for Bochs and IDA Pro (PDB files). Very handy for user mode <--> kernel mode:

Helper script for Linux kernel debugging with IDA Pro on VMware + GDB stub (including some symbols helpers):

Dump PDB Symbols including support for Bochs Debugging Format (with wine support):

Tools for Linux kernel debugging on Bochs (including symbols, native Bochs debugger and IDA PRO):

Credits

Based on original IDA-VMware-GDB By Oleksiuk Dmytro (aka Cr4sh) https://github.com/Cr4sh/IDA-VMware-GDB

ida_bochs_windows's People

Contributors

therealdreg avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.