Changes

m
Fixed some capitalization.
Line 19: Line 19:  
Ghidra can naturally import some IOS [[ARM Binaries]], specifically those that are just regular [[ELF]] files.  However, it will produce bad results due to the use of undefined instructions for [[IOS/Syscalls|syscalls]].  A [https://gist.github.com/Pokechu22/caa73242a5969ff5dc413177fcb7f516 language definition] exists to fix this (though it will not produce the cleanest results since it doesn't know what various registers are used/changed by each syscall). <!-- TODO: I should create a more meaningful GitHub repo for this --> For ELFLOADER files (used for monolithic IOS versions, and the kernel in non-monolithic IOS versions), the file must be converted to a normal ELF file first (by removing everything before the ELF header, or using [[ARM_Binaries#Extract_ELF_file|the program on the ARM Binaries page]]). <!-- TODO: Write a loader -->
 
Ghidra can naturally import some IOS [[ARM Binaries]], specifically those that are just regular [[ELF]] files.  However, it will produce bad results due to the use of undefined instructions for [[IOS/Syscalls|syscalls]].  A [https://gist.github.com/Pokechu22/caa73242a5969ff5dc413177fcb7f516 language definition] exists to fix this (though it will not produce the cleanest results since it doesn't know what various registers are used/changed by each syscall). <!-- TODO: I should create a more meaningful GitHub repo for this --> For ELFLOADER files (used for monolithic IOS versions, and the kernel in non-monolithic IOS versions), the file must be converted to a normal ELF file first (by removing everything before the ELF header, or using [[ARM_Binaries#Extract_ELF_file|the program on the ARM Binaries page]]). <!-- TODO: Write a loader -->
   −
there is also a functionID database available to help disassemble an IOS kernel in Ghidra. It can be found [[Media:WiiIosKernelFunctionIds.zip|Here]]
+
There is also a functionID database available to help disassemble an IOS kernel in Ghidra. It can be found [[Media:WiiIosKernelFunctionIds.zip|here]].
    
== Use with [[Hardware/Disc Drive|Disc Drive]] firmware ==
 
== Use with [[Hardware/Disc Drive|Disc Drive]] firmware ==
    
A [https://github.com/Pokechu22/ghidra-mn102-lang/ MN102 processor spec] exists.
 
A [https://github.com/Pokechu22/ghidra-mn102-lang/ MN102 processor spec] exists.
5,579

edits