Thanks again Andrew for the assistance and for the Makefile. So here a brief summary for creating the Android profile, following the linux example here (
DISCLAIMER: I'm using a Mac OS X system.
- I modified the Makefile sent by Andrew, placed under volatility/tools/linux/Makefile, adding the options for cross-compiling as from the LiME kernel module. Basically the modifications are the following:
CCPATH := /path/to/android-ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86/bin
- The last instruction of the makefile "dwarfdump -di module.ko > module.dwarf" was originally with -di option. But -d appears to be not a valid option anymore. Checking the man page, the alternatives for debugging options are the following
--debug-abbrev, --debug-aranges, --debug-frame[=OFFSET],
--debug-info[=OFFSET], --debug-inlined, --debug-line[=OFFSET],
--debug-macinfo[=OFFSET], --debug-pubnames[=PATTERN],
--debug-pubtypes[=PATTERN], --debug-str
debug-info is the default (which looking at the output of "head module.dwarf" seems to be the correct one), so i tried just to remove the -d and also to put --debug-info without any offset value, but this is what I get as content of the module.dwarf file
hydra:linux paco$ cat module.dwarf
----------------------------------------------------------------------
File: module.ko (arm)
----------------------------------------------------------------------
.debug_info contents:
< EMPTY >
- The last step to make the profile is to zip the module.dwarf file and the System.map of the kernel. After searching around, I found that System.map file for android is /proc/kallsyms (probably you all already knew it, but I didn't know this :) ).
Attached the make file I used, if all the rest of the steps I did are right, it's missing the right debug option for the dwarfdump command. I've tried also the others but no one seems to give the right output. Any tips on this?
Thanks
P.