1223 6月9日
wmj00010 铜牌会员
本帖最后由 Lightinset 于 2018-6-9 13:48 编辑

和前几次贴一样,这个贴依然是求助帖,更加希望大佬们的解答,因为它涉及boot.imgkernelramdisk反编译

底包Lineage 14.1boot.img解包得到kernelramdisk等文件,因为是内核移植,所以在linux下使用bc进行两个内核文件的比对时文件乱码。
查找过资料,博客里指导kernel提供objdump反编译方法

objdump文件夹打开terminal后,使用objdump命令反编译kernel文件提示未知文件类型,求大神解答如何正确反编译这两个文件,先谢过。






1条回复

简介
本文总结如何对已有的RAMDISK文件进行修改。

配置步骤
用户可以在任一Linux发布版本中操作下列步骤,但要求有root权限:

创建文件夹rootfs
将initrd.img拷贝到rootfs目录下
重命名initrd.img为initrd.cpio.gz
使用gunzip解压initrd.cpio.gz文件,解压后的文件名为initrd.cpio
使用su命令登录root账户
使用"cpio -idv < initrd.cpio"解压
删除initrd.cpio临时文件
根据需要对解压后的文件进行修改
在root用户下,进入rootfs的根目录,使用"find . | cpio -H newc -o | gzip -9 > ../initrd.img"命令重新打包ramdisk文件,将在rootfs的上级目录生成新的initrd.img文件

注:具体解压的方式与文件的格式(--format)有关,可能与此处示例不同
这里参考了CDSN Think-thou...的文章,对获取内核源码指导作用