古詩詞大全網 - 藝術簽名 - 如何修改ramdisk.img中的運行內存數據

如何修改ramdisk.img中的運行內存數據

1)sec_boot.img簽名,需要刪除文件的前0x1000字節,是ANDROID!8個字符之前的所有字節都被刪除並保存為boot.img

2)運行perl split_bootimg.pl boot.img求解內核和ramdisk文件,在運行結果中寫下“command line:vmalloc = 384m mem = 2044m @ 0x 200000”。。。。“壹長串備用字符。

3)運行指令求解ramdisk文件。

mkdir內存磁盤

光盤存儲盤

gzip -dc../boot.img-ramdisk.gz | cpio -i

激光唱片..

4)修改文件,比如我覺得default.prop裏的persist . sys . USB . config = manufacture和ADB不太好,想改成=adb,修改保存。如果您希望adb擁有root權限,請更改ro.secure和ro.debuggable

5)重新包裝

mkbootfs。/ramdisk | gzip & gt;ramdisk-new.gz

當然,如果自己編譯的mkbootfs沒有添加到路徑中,就把編譯好的程序拿到當前目錄下運行。/mkbootfs。...

生成boot-new.img

' Mkbootimg - cmdline '這段用單引號括起來的內容是在剛剛寫下的命令行冒號後復制壹個長字符串'-kernel boot . img-kernel-ramdisk ramdisk-new . gz-oboot-new . img。

6)現在如果直接刷入生成的boot-new.img,手機就上不去了。問題出在內核、ramdisk、二級和標簽的地址上。

看看這個。自己編譯的mkbootimg的c文件妳就知道了base=0x10000000,生成的boot-new.img就是基於這個規則:

內核地址=base+0x00008000,內存磁盤地址= base+0x005438+0000000,

第二階段地址=基址+0x0f 0000,標簽地址=基址+0x00000100。

這與原始sec_boot.img中的地址不同。我想找到正確的基值,但原始