修改Android映象檔案 ramdisk.img、system.img、userdata.img獲取root許可權
首先,介紹一下這三個檔案。
ramdisk.img 是你make android原始碼後,生成的/out/target/product/generic/root目錄下經過打包壓縮而成的。
system.img 是你make android原始碼後,生成的/out/target/product/generic/system目錄下經過打包壓縮而成的。
userdata.img 是你make android原始碼後,生成的/out/target/product/generic/data目錄下經過打包壓縮而成的。
android系統起來後,會把ramdisk.img掛載為rootfs(根檔案系統),system.img掛載到ramdisk.img的system檔案下, userdata.img
當建立好了開發環境後(eclipse+ADT+SDK),啟動eclipse中的虛擬裝置,其預設的Android映象檔案位於SDK 目錄system-images檔案下,當然有不同的等級,我的目錄如下:android-sdk-linux/system-images/android-15/armeabi-v7a/。其中除了3個.img檔案外,還有一個kernel-qemu,它是linux核心檔案,其他的檔案都沒有什麼作用。這個3個檔案都可以用你自己生成的檔案代替。
下面開始解壓這三個檔案,在開始修改前,提醒一下,要備份你的檔案。
首先從最難的ramdisk.img開始,你別看它和其他兩個的字尾是一樣,其實它跟它們不是同一樣的檔案格式,從後面的操作就可以看出。
解壓:
1. 新建資料夾 :mkdir tmp tmp/ramdisk tmp/system tmp/userdata.
2. 拷貝ramdisk.img到tmp,cd tmp
3. mv ramdisk.img ramdisk.img.gz
4. gunzip ramdisk.img.gz
5. cd ramdisk
6. cpio -i -F ../tmp/ramdisk.img
這樣,ramdisk的檔案就都解壓到ramdisk裡面了。
修改:
1. 開機用root登入系統,修改init.rc 檔案中的:
service console /system/bin/sh
class core
console
disabled
user shell
group log
user shell 改為user root。
2. 更改為可寫檔案,修改init.rc 檔案中的:
on fs
# mount mtd partitions
# Mount /system rw first to give the filesystem a chance to....
mount yaffs2 [email protected] /system
mount yaffs2 [email protected] /system
ro remount
mount yaffs2 [email protected] /data nosuid nodev
mount yaffs2 [email protected] /cache nosuid nodev
on post-fs
# once everything is setup, no need to modify /
mount rootfs rootfs /
ro remount
將只讀 ro 改為rw可讀寫。當然,這些有可能不在這個檔案裡,那肯定再xxx.rc 裡面,xxx.rc有很多可以改的,它們可以配置系統的服務。修改好了後,進行壓縮。
打包:
方法一:
1.用mkrootfs製作ramdisk.img,mkrootfs 是android生成的命令:out/host/linux-x86/bin/mkbootfs,可以將此命令拷貝到tmp目錄下,在tmp下執行:mkbootfs ramdisk | gzip ramdisk.img.
方法二:
在tmp/ramdisk執行:
cpio -i -t -F ../ramdisk.img | cpio -o -H newc -O ./ramdisk_new.img
gzip ramdisk_new.img
mv ramdisk_new.img.gz ramdisk.img
這樣新的img就製作成功了,可以用其代替原來的了。
system.img 以及userdata.img,因為這兩個檔案是一樣的格式,所以一起說明。
解壓:
它們都是yaffs2 格式的檔案,要解壓yaffs2檔案,需要用到uyaffs,這個網上有原始碼,我 csdn 資源上也有,要的可以去下載。執行:
uyaffs2 system.img
uyaffs2 userdata.img
就會生成對應的資料夾:system、uersdata.系統預裝的apk在system/app下,可以刪除不需要的apk。
打包:
使用mkyaffs2image能對yaffs2檔案打包,android也會生成:out/host/linux-x86/bin/mkyaffs2image,用法如下:
mkyaffs2image tmp/system/ system.img
mkyaffs2image tmp/userdata userdata.img
生成img 後,就可以用它們替換原來的了。
相關推薦
修改Android映象檔案 ramdisk.img、system.img、userdata.img獲取root許可權
首先,介紹一下這三個檔案。 ramdisk.img 是你make android原始碼後,生成的/out/target/product/generic/root目錄下經過打包壓縮而成的。 system.img 是你make a
Android 關於檔案及資料夾的建立 、刪除、重新命名、複製拷貝、新增內容、修改內容、讀取內容
這幾天做了一個Android關於檔案及資料夾相關操作的軟體,自己就總結寫了一個關於檔案建立、遍歷、刪除、重新命名、複製拷貝、新增內容、修改內容、讀取內容的工具類,方便以後快速的對檔案進行一些簡單操作,使用時可直接複製到程式碼中作為一個工具類。 /** * author
android 映象檔案系統
Android啟動過程 Android在啟動的時候,會由UBOOT傳入一個init引數,這個init引數指定了開機的時候第一個執行的程式,預設就是init程式,這個程式在ramdisk.img中。可以分析一下它的程式碼,看看在其中到底做了一些什麼樣的初始化任務,它的原始
【Android】—— DDMS開發工具獲取ROOT許可權檢視手機檔案、匯出資料庫檔案等
在這之前首先手機要開啟ROOT許可權,可以藉助安卓刷機精靈等一鍵ROOT軟體 其次像魅族、小米等手機拿到ROOT以後不能執行su命令,所以無法給手機中的檔案授權,需要下載一個SuperSU許可權管理器 有了他們我們就可以開始下面的步驟了: 1.window->
基本型別包裝類、System類、Math類、Arrays類、大資料運算
1 基本型別包裝類 Java中想對8種基本資料型別進行復雜操作很困難。 實際程式介面上使用者輸入的資料都是以字串型別進行儲存的。 程式開發中,需要把字串轉換成指定的基本資料型別。 1.1基本資料型別物件包裝類 定義:java將基本資料型別值封裝成了物件,提供更多的操作基本數值的功能。
正則表示式、Pattern和Matcher類、Math類、Random類、System類、BigDecimal類、Date類、SimpleDateFormat類、Calendar類
1.正則表示式 即給定的一個用來描述符合一定規則的字串的單個字串,是一種規則; 正則表示式的組成規則: 規則字元在java.util.regex Pattern類中 A:字元 x 字元 x。舉例:‘a’表示字元a \ 反斜線字元。 \n 新行(換行)符 (’\u
JAVA 常用類:正則表示式、Math類、Random類、System類、Date類和Calendar類+程式碼
一、知識點體系圖 二、程式碼演示及注意事項 (1)正則表示式的程式碼例項 public class Test4 { public static void main(String[] args) { // 需求:獲取下面這個字串中由三個字元
ubantu系統獲取root 許可權 且 修改檔案內容的方法
獲取root 許可權 首先普及一個知識 就是ubantu 終端上輸入密碼是不現實的。不要把他看做出問題了 首次root,sudo passwd root 一 輸入賬戶密碼 二 輸入unix密碼(root密碼) 三 再次輸入unix 密碼(root
java陣列的四種拷貝方法的效能分析:for、clone、System.arraycopy、Arrays.copyof
今天作者就Java陣列的拷貝方法進行效能比較,多有不足,請大家指正!!! 1.for方法,用迴圈依次實現陣列元素的拷貝。 2.clone方法,是Object類的方法,用來實現物件的複製操作。 3.System.arraycopyof方法,是System的靜態方法,是一個na
Android媒體檔案metadata是如何實現跟解碼器結合獲取的
一般獲取媒體檔案的metadata元資料的方法大概為 1.MediaMetadataRetriever mr = new MediaMetadataRetriever(); 2.mr.setDataSource(file.getAbsolutePath()); 3.m
Linux ubuntu 修改了locale檔案後系統無法啟動進入系統修復模式變成無許可權操作locale檔案
Linux ubuntu 修改了locale檔案後系統無法啟動,進入系統修復模式(root)變成無許可權操作locale檔案 問題: 一開始由於uE的Ftp 連線至linux伺服器時,無法正常顯示中文的命名的檔案,是亂碼的,經網上查詢方法是可以修改系統的
android在apk中獲取root許可權,並執行命令(改變檔案權讀寫限)
File device = new File(PropertiesHelper.getValue(Constants.SERIAL_PORT_DEVICE_FILE)); if (!device.canRead() || !device.canWrite())
Java IO操作——System類對IO的支援(System.out、System.err、System.in)
學習目標 掌握System對IO的三種支援: System.out System.err System.in 掌握System.out及System.err的區別 掌握輸入、
數組復制的五種方式(遍歷循環一一賦值、System.arraycopy、地址賦值、克隆clone()、Arrays.copyof())
.cn out ring class str ava nwr summer oid package com.Summer_0424.cn; import java.util.Arrays; import java.util.concurrent.CopyOnWr
android emulator 獲取 Root 許可權
參考:https://blog.csdn.net/luvsnow/article/details/79963025 在2018.4的博文,搜尋時排在前面,我嘗試了一下。 浪費將近1小時,下載,按步驟,等;些方法是如此之差。其實有更簡單的方法! 看我的文章:笨方法,原本簡單的方
Android獲取Root許可權方法
1、把ADB解壓後,隨便放在任一磁碟下,最好把目錄名改短點,不然DOS下進比較麻煩。5 U6 n) i, D2 w6 t3 b( C4 B3 z) w 2、把SU檔案解壓,放到卡上,最好是根目錄下2 v1 ]; G6 p# G" u- L 3、把V5 連線上電腦 ,電腦會
android apk獲取root許可權執行相應的操作 demo除錯
在apk中,有時候需要root許可權,例如通過apk更新系統庫等system的檔案等,避免升級韌體,或者在apk中需要直接訪問某些裝置等。下面是在apk中獲取root許可權的方法,前提是裝置已經root過了。 關鍵點在於下面這句,通過執行su產生一個具有roo
Android 獲取ROOT許可權原理解析
一、 概述 本文介紹了android中獲取root許可權的方法以及原理,讓大家對android玩家中常說的“越獄”有一個更深層次的認識。 二、 Root的介紹 1. Root 的目的 可以讓我們擁有掌控手機系統的許可權,比如刪除一些system/app下面的無用軟體,更換開關機鈴聲和
通過修改rom包永久獲取root許可權和所有應用除錯功能ro.debuggable
準備工具:1. adb部分安卓機型獲取root許可權比較難,刷supersu卡刷包和各種刷機工具都不見效;作為一名移動安全工程師,經常需要對各種APK進行除錯,通常除錯APK需要滿足的條件是apk的配置檔案androidmanifest.xml中android:debugga
判斷手機是否ROOT 程式碼實現+ Android 作業系統 獲取Root許可權 原理解析
判斷手機是否具有ROOT限 許多機友新購來的Android機器沒有破解過Root許可權,無法使用一些需要高許可權的軟體,以及進行一些高許可權的操作,其實破解手機Root