Difference between revisions of "IBugger"

From freemyipod.org
Jump to: navigation, search
 
(15 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 +
{{outdated|reason=[[WInd3x|wInd3x]] is now the main tool used by developers to experiment with iPods.}}
 
[[File:iBL_greeting.jpg|150px|thumb|right|iBugger Loader]]
 
[[File:iBL_greeting.jpg|150px|thumb|right|iBugger Loader]]
 +
The two iBugger utilities use a Python script that handles USB communication with the iPod.
 
===iBugger Loader===
 
===iBugger Loader===
iBugger Loader is the loader for iBugger, a debugger written by TheSeven. It is a .htm file invoked via the notes exploit. iBugger Loader allows code to be uploaded and data to be dumped through USB. The most recent released version of the iBugger package is located [http://bit.ly/34JG5x here]. iBugger Loader can also be used to upload arbitrary unsigned code without space restrictions (besides RAM size), and it removes the hassle of having to boot to disk mode all the time to upload new code.
+
iBugger Loader is the loader for iBugger, a debugger written by TheSeven. It is a .htm file invoked via the notes exploit. iBugger Loader allows code to be uploaded and data to be dumped through USB. The most recent released version of the iBugger package is located [http://theseven.freemyipod.org/download/snapshot-201003100612-public.7z here]. iBugger Loader can also be used to upload arbitrary unsigned code without space restrictions (besides RAM size), and it removes the hassle of having to boot to disk mode all the time to upload new code.
 +
 
 +
You can think of iBugger Loader as a simplified version of iBugger that can fit in a notes file. While it is useful for simple operations, its main purpose is to load the iBugger Core. There are iBugger Loader releases for the 2G and 4G Nanos.
 
===iBugger (Core)===
 
===iBugger (Core)===
 
[[File:iBL_logo.jpg|150px|thumb|right|iBugger]]
 
[[File:iBL_logo.jpg|150px|thumb|right|iBugger]]
Line 14: Line 18:
 
* Very little changes needed to the code being debugged, to allow running it in iBugger
 
* Very little changes needed to the code being debugged, to allow running it in iBugger
  
===Rockbox bootloader===
+
There are iBugger releases for the 2G and 4G Nanos.
[[File:Img9088.jpg|150px|thumb|right|2G Rockbox bootloader]]
 
Rockbox developers have started work on porting Rockbox to the Nano2G and it is currently possible to run a Rockbox bootloader (still in a very early state) inside iBugger (picture shown to the right). As iBugger needs a connection to a PC, Rockbox will be booted through [[iLoader]] in the long term.
 

Latest revision as of 18:36, 9 January 2023

Warning The information and/or topic discussed here is not up to date.

wInd3x is now the main tool used by developers to experiment with iPods.

iBugger Loader

The two iBugger utilities use a Python script that handles USB communication with the iPod.

iBugger Loader

iBugger Loader is the loader for iBugger, a debugger written by TheSeven. It is a .htm file invoked via the notes exploit. iBugger Loader allows code to be uploaded and data to be dumped through USB. The most recent released version of the iBugger package is located here. iBugger Loader can also be used to upload arbitrary unsigned code without space restrictions (besides RAM size), and it removes the hassle of having to boot to disk mode all the time to upload new code.

You can think of iBugger Loader as a simplified version of iBugger that can fit in a notes file. While it is useful for simple operations, its main purpose is to load the iBugger Core. There are iBugger Loader releases for the 2G and 4G Nanos.

iBugger (Core)

iBugger

iBugger aims to be a fully-featured debugger on the iPod. It is sent to iBugger Loader via USB. Current features are:

  • Up- and downloading memory regions
  • Executing uploaded code
  • Dumping the processor's registers
  • Halting the program and showing/modifying registers and/or memory contents
  • Catching prefetch aborts, data aborts and undefined instruction exceptions, and keeping record of the register contents at the time the abort occurred
  • Debugging console (printf and other functions available to uploaded code, which will print via USB to a console on the attached PC. The client (PC) side is still read-only, but the core would support a bidirectional console. Feel free to add this on the PC side)
  • Very little changes needed to the code being debugged, to allow running it in iBugger

There are iBugger releases for the 2G and 4G Nanos.