[eresi-dev] New ERESI component started : ke2dbg
jv at ens dot fr
julien.vanegue at ens.fr
Sun Dec 23 10:25:30 UTC 2007
I have started cutting down pieces of rr0d,
the rasta ring0 debugger, a kernel debugger
made by droid-corps: rr0d.droids-corp.org
The features of rr0d are :
- Independent video and keyboard driver.
- Breakpoints and stepping of the kernel
- Disassembling / symbols printing
- Get enabled/disabled by LKM insertion/removing
Its not a lot, but its perfect for us since we already
have all the features we want in ERESI. Its just a
matter for us to interface ERESI with rr0d and
create a new powerful kernel debugger capable
of interpreting ERESI scripts : ke2dbg
Until now, I have done:
- Lots of code cleaning and factoring in rr0d
- Removed rr0d disassembler and replaced with libasm
- Removed rr0d symbol handling and replaced with libelfsh
Currently, I am :
- making sure REVM is well initialized when rr0d start
- replacing rr0d command parser by ERESI command parser
After this is done, some stuffs are still necessary to be
done before we can say our ke2dbg is operational:
- Merge rr0d registers handling within ERESI vectors
- Register rr0d breakpoint handling within ERESI vectors
- Create a new ERESI vector for modular debugger I/O
Some non-mandatory but strongly advised parts we will
also need in the future are:
- Support kernel debugging on SMP systems (pretty
challenging GDT/IDT handling !)
- Code a kernel allocator proxy (make sure ke2dbg
kernel heap is separated from the regular kernel heap,
similary to the embedded userland debugger)
ke2dbg is not yet operational but you can find it in the
ERESI CVS at location: libe2dbg/kernel/*
NOTE: libe2dbg has been split in 3 parts
- user: user-land only code
- kernel: kernel-land only code
- common: common code for userland and kernel debugger
Next week is CCC Congress ! I will be there coding hard
on ke2dbg and seeking for some action ! If anyone wants
to meet me there, make sure you email me before
Wednesday December 26.
Julien Vanegue
More information about the eresi-dev
mailing list