android編譯root
編譯apk和root許可權沒有聯系,apk是應用程序,root許可權是android系統里的設置,android系統不給root許可權,在源碼下編譯apk也是無用的
B. 如何把應用程序app編譯進android系統
把安卓應用軟體安裝到安卓系統文件,即把安卓應用軟體放到系統根目錄system/app下 操作方法 :
准備工作:
一、開啟ROOT許可權。
ROOT方法:下載一鍵ROOT之類的軟體,根據操作步驟進行,就可以獲取ROOT許可權了。
二、安裝RE文件管理器。
清理系統自帶應用
(一)、用RE打開系統根目錄下的system/app,進行精簡系統自帶應用,注意,要對照一些總結可刪減程序的文件,以免刪錯了導致系統故障。
(二)、根目錄:preload目錄下,可能會有系統的預裝應用,不用的也可以全部刪掉。
移動APK到system/app 目錄:
一、移動apk:用RE管理器把要安裝的apk軟體移動到/system/app 目錄下。
在操作前,將/system/app 目錄掛載為可讀寫;
注意軟體名不要有中文 、空格及其他特殊字元等;
如果無法移動,顯示空間不足時,可以先移動到data/app/下,再移動到/system/app;
二、修改apk許可權: 對移動進來的apk軟體更改許可權,即改為:用戶許可權為 讀+寫,分組許可權為 讀,其他許可權為 讀。
三、提取 .so文件:用RE提取apk軟體中/lib/目錄下的所有 .so文件,將其移動到/system/lib中。
點擊apk軟體,用RE查看文件內容,即可找到 ,so文件。
四、修改 .so文件許可權:方法同上。
五、重啟手機。在此過程中,可能載入的時間稍長點,請耐心等待即可。
C. Android root 許可權如何通過命令獲得
1、安裝USB驅動
進入設置-應用程序-開發-USB調試,將第一個選項打鉤選中。然後通過USB線連接電腦,提示安裝驅動。如果是32位的系統選擇x86文件夾安裝驅動,如果是64位系統選擇amd64文件夾。
2、軟體准備
將提供的軟體工具包中的TMG文件夾,放到C盤根目錄下。之所以放於此不是指定位置,只是為了後續在命令中進入文件夾帶來方便。文件夾路徑:C:\TMG\
3、檢查adb.exe和fastboot.exe
確定TMG文件夾里的tools有adb.exe和fastboot.exe這兩個文件,當然如果按照前兩步提示自然不會出錯。
4、檢查驅動安裝情況
拔掉usb線,正常關機,然後按著後退鍵(就是右下角的那個帶箭頭的,一直按著)再按開機鍵會進入bootloader(白色背景)。然後連接電腦,手機上會出現fastboot usb(紅字),注意不要點mount之類的。
打開開始-運行-CMD, 然後輸入命令 cd C:\TMG (如果解壓的文件夾不是C:\TMG,則根據位置修改命令)
命令運行成功會顯示C:\TMG>_
然後輸入命令 fastboot devices , 成功安裝了驅動的話會出現一行字,以測試用機為例,出現「HT97FL900532 fastboot」
5、開始Rooting
開始進入正題,繼續步驟4,在C:\TMG>後輸入命令 fastboot boot cm-hero-recovery.img , 成功的話應該看到手機進入了recovery模式。
D. Android 10 編譯完全root版本
安裝RootExplorer查看是否可以掛載系統區即可
無法讀寫系統分區:
E. Android aosp源碼編譯後root許可權問題
ROOT獲得最高許可權是刪除這些應用的唯一途徑
實際手動操作的流程非常復雜,並且有版本限制
我推薦你款不錯的手機ROOT工具吧,
我一直都是在用的,很不錯
使用應用寶獲取手機root許可權在工具
選項里找到一鍵ROOT即可或者KINGROOT也行。
F. Android 的提權 (Root) 原理是什麼
Android的內核就是Linux,所以Android獲取root其實和Linux獲取root許可權是一回事兒。
你想在Linux下獲取root許可權的時候就是執行sudo或者su,接下來系統會提示你輸入root用戶的密碼,密碼正確就獲得root許可權了。Android本身就不想讓你獲得Root許可權,大部分手機出廠的時候根本就沒有su這個程序。所以你想獲得Android的root許可權,第一步就是要把編譯好的su文件拷貝到Android手機的/system/bin或者/system/xbin/目錄下。我們先假設你可以把su放在bin下,接下來你可以在Android手機的adb shell或者串口下輸入su了。上面說了,執行su,系統會提示你輸入root用戶密碼,但你怎麼可能知道密碼呢?暴力破解嗎?破解root的黑客當然不會這么做,這就涉及到第二個問題。
一般我們在Linux的console下輸入 ls -l 會列出所有文件的許可權。
比如:-rwxr-xr-x,用過Linux的人都知道r代表該文件可讀,w代表可寫,x代表可執行,-就代表沒有該許可權。第一個rwx代表文件所有者的許可權,第二個rwx代表和所有者同組人的許可權,第三個rwx代表其他用戶對該文件的許可權。但下面這個文件就比較特殊。
rws,它的執行許可權標志位是一個s,s代表當任何一個用戶執行該文件的時候都擁有文件所有者的許可權,這文件的所有者是root,簡單點說就是不管誰執行這個文件,他執行的時候都是以root身份執行的。那root用戶執行任何文件都是不需要密碼的。
這個時候如果你把su文件的許可權置成-rwsr-xr-x會發生什麼?su這個程序本來就是賦予執行者root許可權的,但執行的時候又不需要密碼,所以執行一下這個文件就自動成root身份了。
問題都清楚了,就是你需要把su拷貝到Android手機上,並且把su許可權標志位置成-rwsr-xr-x。能把這個事情搞定你就成功root了一個手機。
大概意思就是兩行代碼
cp /data/tmp/su /system/bin/ # su 到/system/分區
chmod 1775 /system/bin/su #把su置成-rwsr-xr-x
那怎麼搞定這個事情呢?Android的system分區本身不可寫,只有是root的許可權才能改動它,執行不了啊。
一個辦法就是找一個本身已經有root許可權的進程來啟動我上面的兩行代碼,那我這兩行代碼一啟動就是root許可權,就可以順利執行了。但是已經有root許可權的進程都是出廠時候就裝到手機上的,代碼寫死了,你沒法控制它執行你自己的代碼啊。這個時候就需要你找漏洞了,比如用來破解Android2.3 root許可權的zergRush漏洞就是利用一個擁有root許可權的進程棧溢出漏洞,棧溢出說白了就是這個進程讀到了自有內存之外的地址空間,這段內存空間沒分配給它,誰都能寫這段內存,那我就可以把自己的兩行代碼預先寫到這里,運行zergRush代碼,然後等那個倒霉的進程執行我就行了。
如果各位有一定基礎,能看懂我上面講的,就基本知道原理其實並不難,難點在於找到漏洞。
zergRush的代碼在這兒:
revolutionary/zergRush · GitHub