æåã®éšåã§ã¯
ãå
¬åŒã®ãã¡ãŒã ãŠã§ã¢ãRUU圢åŒããæŽæ°ããã±ãŒãžåœ¢åŒã«åããã¯ããæ¹æ³ãåŠã³ãŸãããããã«ããã倿Žããå埩ããŒãã£ã·ã§ã³ïŒ
recovery rom ïŒãäžæžãããããšãæããã«ãäœæãããã¡ãŒã ãŠã§ã¢ã䜿çšã§ããããã«ãªããŸããã ãããŸã§ã®éãHTCã¯
åªãããªãœãŒã¹ãš
æŠã£ãŠããŸããããã¡ãŒã ãŠã§ã¢ã®ç ç©¶ãšæ¹åãç¶ããŠãããŸãã
åã®ããŒãã§ã¯ãã¯ããã¯ã®ããã«ããŒãããŠåäœãããã¡ãŒã ãŠã§ã¢ãäœæããŸãããããã®åºæ¬æ©èœãæ¡åŒµããããšæããŸãã æãèŠæ±ãããæ¡åŒµæ©èœã®1ã€ã¯ãã¹ãŒããŒãŠãŒã¶ãŒç¹æš©ïŒ
root ïŒã§ã®äœæ¥ã®ãµããŒãã§ãã
busyboxçµ±åãå«ãŸããŸãã ããã«ãã·ã¹ãã ã®èµ·åæã«ä»»æã®ã¹ã¯ãªãããå®è¡ãã
ramdiskãããŒãºã«åãããæ¹æ³ãåŠç¿ããŸãã
ããžãŒããã¯ã¹
busyboxã¯ãã¢ãã€ã«ã·ã¹ãã ã«ãšã£ãŠéåžžã«éèŠãªãå°ãããµã€ãºãšããã©ãŒãã³ã¹ã«çŠç¹ãåããã
ã³ã³ãœãŒã«UNIXãŠãŒãã£ãªãã£ã®ã»ããã§ãã
Androidã·ã¹ãã ãšãšãã«ãç¬èªã®ãŠãŒãã£ãªãã£ã»ããïŒã·ã¹ãã ã«å¿
èŠãªæå°éã®æ©èœãæäŸãã
ããŒã«ããã¯ã¹ ïŒãæäŸãããŸãããã®çµæãéçããã³æ©èœçã«ã¯ããã·ã³ãã«ã«ãªããŸãã ã·ã¹ãã ã«
busyboxãååšããããšã§ãäžæ¹ã§éçºè
ã¯ããã€ã¹äžã§ãªã¢ãŒãã§äœæ¥ãããšãã«å¿«é©ã«æããããšãã§ããŸããäžæ¹ã§ãè€éãªã¹ã¯ãªãããèšè¿°ã§ããããã«ãªããããšãã°
run-partsã䜿çšããŠããŒãæã«ç¬èªã®ã¹ã¯ãªãããèµ·åããã¡ã«ããºã ãå®è£
ã§ããŸãã äžéšã®
Androidã¢ããªã±ãŒã·ã§ã³ïŒç¹ã«
rootã䜿çšããã¢ããªã±ãŒã·ã§ã³ïŒã§ã¯ãbusyboxã®ååšãå¿
é ã§ããããšãèæ
®ãã䟡å€ããããŸãã
ç§ãã¡ã®ç掻ãç°¡çŽ åããããã«ããã§ã«åéãããŠãã
busyboxããã©ãããã©ãŒã ã«äœ¿çšããŸãã ããšãã°ãæªåé«ã
ã¢ãã³ã®1.16.0ã
ããã§
ããã¯ã¢ãã ã§ããŸã ã åæ¢ã§æéããã人ã¯ã
å
¬åŒããªãŒ ïŒã¢ã³ããã€ã
ããŒã«ãã§ãŒã³ã«é©å¿ããããã®ãã¡ã€ã«ãš
libc ã®ã¢ã³ããã€ãå®è£
ã®
ããã®ãã€ãªãã㯠ïŒãã
busyboxãæ§ç¯ãããã
crosstool-ngãš
uCLibcã§
XVilkaã¢ã»ã³ããª
åœä»€ã䜿çš
ãããã
ãã€ãªããã¯ã®åé¡ããã§ã«è§£æ±ºãããŠãã
cyanogenmodã®æã
ãããã£ãŠã
busyboxã远å ããåã«ãã·ã¹ãã å
ã®ããã€ãã®ã€ããªãã®ãŒã®åé¡ã解決ããå¿
èŠããããŸãã
- busybox / toolboxã䜿çšããäžè¬çãªã¹ããŒã ã§ã¯ãå®è¡å¯èœãã¡ã€ã«ãé
眮ãã ã¢ãã¬ããã®ååã§ãªã³ã¯ãäœæããå¿
èŠããããŸãã ãªã³ã¯ã¯ã $ PATH倿°ããã®ãã¹ã§ã¢ã¯ã»ã¹å¯èœã§ãªããã°ãªããŸããã busyboxã®ãªã³ã¯ã¯ã©ãã«ä¿åããŸããïŒ / system / bin ïŒ /ã·ã¹ãã / xbin ïŒ å¥ã®ãã£ã¬ã¯ããªïŒ
- äºåã«äœæããããªã³ã¯ã䜿çšãããããã¡ãŒã ãŠã§ã¢ãã€ã³ã¹ããŒã«ããæ®µéã§çæããŸããïŒ
æåã®éšåã®äŸã§ã¯ã ããŒã«ããã¯ã¹ã«äºåäœæããããªã³ã¯ã䜿çšããŸããã ãã ããã·ã³ããªãã¯ãªã³ã¯ã«ç¹å®ã®åé¡ãããWindowsã·ã¹ãã ã§ãã¡ãŒã ãŠã§ã¢ãéçºãããŠããå Žåããã®ãªãã·ã§ã³ã¯å°é£ã§ãã - busyboxã®ãã«ãã«å¿ããŠã ããŒã«ããã¯ã¹ã§ãã§ã«äœ¿çšå¯èœãªã³ãã³ãã»ããããªãŒããŒã©ã€ãã§ããŸã ã 誰ãããéèŠã§ããïŒ
busyboxã¯å¹
åºãæ©èœãæäŸããŸãïŒäŸïŒ chmodã®æš©å©ã®æåå²ãåœãŠïŒããäžæ¹ã§ãã»ããã®ãµã€ãºãå°ããããããã«busyboxããæ¢ã«å®è£
ãããŠãããŠãŒãã£ãªãã£ãé€å€ãããå ŽåããããŸãã
busyboxããµããŒããã
ã¢ãã¬ããã 調ã¹ãã«ã¯ããã©ã¡ãŒã¿ãªãã§ããã€ã¹ã§å®è¡ããã ãã§ãã
$ adb remount && adb push busybox / cache / $ adb shell chmod 0755 / cache / busybox $ adb shell / cache / busybox | tail tcpsvd, tee , telnet, telnetd, test , tftp, tftpd, time , timeout, top, touch , tr , traceroute, true , tty, ttysize, tunctl, udpsvd, umount , uname , uncompress, unexpand, uniq , unix2dos, unlzma, unlzop, unzip , uptime , usleep, uudecode, uuencode, vconfig, vi , vlock, volname, watch, watchdog, wc , wget , which , who , whoami , xargs , yes , zcat , zcip
$ adb remount && adb push busybox / cache / $ adb shell chmod 0755 / cache / busybox $ adb shell / cache / busybox | tail tcpsvd, tee , telnet, telnetd, test , tftp, tftpd, time , timeout, top, touch , tr , traceroute, true , tty, ttysize, tunctl, udpsvd, umount , uname , uncompress, unexpand, uniq , unix2dos, unlzma, unlzop, unzip , uptime , usleep, uudecode, uuencode, vconfig, vi , vlock, volname, watch, watchdog, wc , wget , which , who , whoami , xargs , yes , zcat , zcip
$ adb remount && adb push busybox / cache / $ adb shell chmod 0755 / cache / busybox $ adb shell / cache / busybox | tail tcpsvd, tee , telnet, telnetd, test , tftp, tftpd, time , timeout, top, touch , tr , traceroute, true , tty, ttysize, tunctl, udpsvd, umount , uname , uncompress, unexpand, uniq , unix2dos, unlzma, unlzop, unzip , uptime , usleep, uudecode, uuencode, vconfig, vi , vlock, volname, watch, watchdog, wc , wget , which , who , whoami , xargs , yes , zcat , zcip
$ adb remount && adb push busybox / cache / $ adb shell chmod 0755 / cache / busybox $ adb shell / cache / busybox | tail tcpsvd, tee , telnet, telnetd, test , tftp, tftpd, time , timeout, top, touch , tr , traceroute, true , tty, ttysize, tunctl, udpsvd, umount , uname , uncompress, unexpand, uniq , unix2dos, unlzma, unlzop, unzip , uptime , usleep, uudecode, uuencode, vconfig, vi , vlock, volname, watch, watchdog, wc , wget , which , who , whoami , xargs , yes , zcat , zcip
$ adb remount && adb push busybox / cache / $ adb shell chmod 0755 / cache / busybox $ adb shell / cache / busybox | tail tcpsvd, tee , telnet, telnetd, test , tftp, tftpd, time , timeout, top, touch , tr , traceroute, true , tty, ttysize, tunctl, udpsvd, umount , uname , uncompress, unexpand, uniq , unix2dos, unlzma, unlzop, unzip , uptime , usleep, uudecode, uuencode, vconfig, vi , vlock, volname, watch, watchdog, wc , wget , which , who , whoami , xargs , yes , zcat , zcip
$ adb remount && adb push busybox / cache / $ adb shell chmod 0755 / cache / busybox $ adb shell / cache / busybox | tail tcpsvd, tee , telnet, telnetd, test , tftp, tftpd, time , timeout, top, touch , tr , traceroute, true , tty, ttysize, tunctl, udpsvd, umount , uname , uncompress, unexpand, uniq , unix2dos, unlzma, unlzop, unzip , uptime , usleep, uudecode, uuencode, vconfig, vi , vlock, volname, watch, watchdog, wc , wget , which , who , whoami , xargs , yes , zcat , zcip
$ adb remount && adb push busybox / cache / $ adb shell chmod 0755 / cache / busybox $ adb shell / cache / busybox | tail tcpsvd, tee , telnet, telnetd, test , tftp, tftpd, time , timeout, top, touch , tr , traceroute, true , tty, ttysize, tunctl, udpsvd, umount , uname , uncompress, unexpand, uniq , unix2dos, unlzma, unlzop, unzip , uptime , usleep, uudecode, uuencode, vconfig, vi , vlock, volname, watch, watchdog, wc , wget , which , who , whoami , xargs , yes , zcat , zcip
$ adb remount && adb push busybox / cache / $ adb shell chmod 0755 / cache / busybox $ adb shell / cache / busybox | tail tcpsvd, tee , telnet, telnetd, test , tftp, tftpd, time , timeout, top, touch , tr , traceroute, true , tty, ttysize, tunctl, udpsvd, umount , uname , uncompress, unexpand, uniq , unix2dos, unlzma, unlzop, unzip , uptime , usleep, uudecode, uuencode, vconfig, vi , vlock, volname, watch, watchdog, wc , wget , which , who , whoami , xargs , yes , zcat , zcip
ããŒã«ããã¯ã¹ã§äœ¿çšå¯èœãªã¢ãã¬ããã®ãªã¹ããååŸããããã«ãå
ã®ãã¡ãŒã ãŠã§ã¢ã§äœæããããªã³ã¯ã«çŠç¹ãåœãŠãŸãã
- $ find habrrom / system / bin / -type l -printf 'ïŒ
fã' | ãã£ãœ
- getpropãinsmodã ifconfig ãsetpropãwipeãwatchpropsãlogã sync ãschedtopãioctlã rm ã
- sleep ãnotifyãsendeventã dmesg ã df ãrouteã vmstat ã mv ãiftopãrmmodã
- dd ãreniceã kill ã mount ãstartã rmdir ã ps ã ln ã cmp ãdumpcrashãtopãgeteventã
- umount ã mkdir ãsetconsoleãprintenvãnewfs_msdosã chown ã cat ãhdã chmod ã date ã
- stopãsmdã netstat ã ls ã lsmod ã id ã
ããŒã«ããã¯ã¹ãæããŠ
ããªãå¯äžã®ãªã³ã¯ã¯
dumpcrashã§ãïŒ
- $ ls -o habrrom / system / bin / | grep dumpstate
- lrwxrwxrwx 1 astar 9 2010 -06--16 03ïŒ59 dumpcrash- > dumpstate
- -rwxr-xr-x 1 astar 14296 2010 -06- 16 03:55 p.m. dumpstate
æŽæ°ã¹ã¯ãªãããäœæããéã«ãæ€èšãã䟡å€ããããŸãã
ç§ãã¡ã®äž»ãªãã®ã¯
busyboxã§ãããšå€æãããšã
ãŸã ã æ¬¡ã®
ããŒã«ããã¯ã¹ã¢ãã¬ãã
ã¯äžæã§ããããšã倿ããŸããã
getevent, getprop, iftop, ioctl, log, newfs_msdos, notify, schedtop, sendevent, setprop, smd, start, stop, top, umount , vmstat , watchprops, wipe
getevent, getprop, iftop, ioctl, log, newfs_msdos, notify, schedtop, sendevent, setprop, smd, start, stop, top, umount , vmstat , watchprops, wipe
ãããŠããã¡ãŒã ãŠã§ã¢ãã€ã³ã¹ããŒã«ããæ®µéã§ãªã³ã¯ãäœæãããšããŸãããã®ããã«ã¯ãæŽæ°ã¹ã¯ãªããã«æ¬¡ã®è¡ã远å ããå¿
èŠããããŸãã
- symlink dumpstate SYSTEMïŒbin / dumpcrash
- ïŒ
- symlink toolbox SYSTEMïŒbin / getprop
- ïŒå¿
èŠãªããŒã«ããã¯ã¹ã¢ãã¬ããã«å¯ŸããŠæé ãç¹°ãè¿ããŸã
- symlink busybox SYSTEMïŒxbin / [
- ïŒãã¹ãŠã®busyboxã¢ãã¬ããã«ã€ããŠæé ãç¹°ãè¿ããŸã
ãã¡ãŒã ãŠã§ã¢èªäœãããªã³ã¯ãåé€ããããšãå¿ããªãã§ãã ããã
$ rm ` find habrrom / system / bin / -type l `
ããã«ã
busyboxã«æ£ããæš©éãèšå®ããå¿
èŠããããŸã
set_perm 0 0 04755 SYSTEM:xbin/busybox
ã¿ã¹ã¯ãè€éã«ããŠã¿ãŸãããã
busyboxã®ãªã³ã¯ãå¥ã®ãã£ã¬ã¯ããªãããšãã°
/ system / xbin / bbã«é
眮ããŠã¿ãŸãããã ãããè¡ãã«ã¯ããã¡ãŒã ãŠã§ã¢æ§é ã«
空ã§ãªããã©ã«ããŒã远å ããå¿
èŠããããŸãïŒç©ºã®ãã©ã«ããŒãæŽæ°ã¹ã¯ãªããã®ã³ããŒãæåŠããŸãïŒã
- $ mkdir habrrom / system / xbin / bb
- $ touch habrrom / system / xbin / bb /ãã¬ãŒã¹ãã«ããŒ
ããã§ãæå®ãããã¹ã«ãªã³ã¯ãå®å
šã«é
眮ã§ããŸãããã®ããã«ãæŽæ°ã¹ã¯ãªãããæŽæ°ããŸãã
- symlink ../busybox SYSTEMïŒxbin / bb / [
- ïŒãªã©
Ramdiskã®å€æŽ
ãã ãããªã³ã¯ãå¥ã®ãã©ã«ããŒã«é
眮ããã ãã§ã¯äžååã§ãã ã·ã¹ãã ã®å®è¡å¯èœãã¡ã€ã«ã®æ€çŽ¢ãã¹ãæ¡åŒµããå¿
èŠããããŸãã ãããè¡ãã«ã¯ã倿°$ PATHãè£è¶³ããå¿
èŠããããŸããããã¯ãHTC Heroã®ã¢ã³ããã€ãã®å Žåã
/ init.rcã§å®çŸ©ãããŠã
ãŸã- $ adb shell cat /init.rc | grep "ãšã¯ã¹ããŒããã¹"
- ãšã¯ã¹ããŒãPATH / sbinïŒ/ system / sbinïŒ/ system / binïŒ/ system / xbin
ãã¹ãŠã®ã«ãŒããã£ã¬ã¯ããªãã¡ã€ã«ã¯ã
ramdiskã®äžéšã§ãïŒä»ã®ãµããã£ã¬ã¯ããªãšåæ§ïŒã
æåã®éšåã®ç¥èã䜿çšã
ãŸã ïŒ
bootãã¢ã³ããã¯ãããã®åŸ
PATH倿°ã倿Žã§ããŸã
- $ cat habrrom.boot / ramdisk / init.rc | grep "ãšã¯ã¹ããŒããã¹"
- ãšã¯ã¹ããŒãPATH / sbinïŒ/ system / sbinïŒ/ system / binïŒ/ system / xbinïŒ/ system / xbin / bb
ramdiskãååŸããåã«ãããã«äŸ¿å©ãªããšãè¡ããŸãã
çæŽ»ãç°¡çŽ åããããã«ã次ã®ãã®ãå¿
èŠã§ãã
- æžãèŸŒã¿æš©éã§ãã¡ã€ã«ã·ã¹ãã ãããŠã³ãããæ©èœ
- USBãããã°ã¯ããã©ã«ãã§æå¹ã«ãªã£ãŠããŸãã ããããªããšãäœããããŸããããªãå Žåã adbdãµãŒãã¹ãç¡å¹ã«ãªãããã®çµæãããŒãæã«adb logcatãå©çšã§ããªããªããããçç±ã«é¢ããå°ãªããšãããã€ãã®æçšãªæ
å ±ãååŸã§ããŸããã
- ã·ã¹ãã ã®èµ·åæã«ä»»æã®ã¹ã¯ãªãããå®è¡ããïŒæãäžè¬çãªäœ¿çšäŸïŒ app2sdããªã³ã«ã ã dalvik-cacheã/ cacheã«ç§»åãã ïŒ
ãããè¡ãã«ã¯ãèŠç·ã
/default.propã«å€æŽããŸããããã«ã¯ããšãããæ¬¡ã®èšå®ãä¿åãããŸãã
- ro.secure-ã·ã¹ãã ã®ãã¡ãã¡ã§äœ¿çšãããŸãããé¢å¿ã®ããããããã£ã®ãã¡ãæžã蟌ã¿çšã®adbãªããŠã³ããå«ãŸãããŸãã adbã·ã§ã«ã¯ã¹ãŒããŒãŠãŒã¶ãŒæš©éã§å®è¡ãããŸãã å€ã0ã«èšå®ããŸã
- persist.service.adb.enable - adbdãµãŒãã¹ãéå§ããŸããããã¯ã adbã䜿çšããŠé»è©±ãšãªã¢ãŒãã§ããåãããã®ã«åœ¹ç«ã¡ãŸãã 1ã§å
Ž
åæåã¹ã¯ãªãã
3çªç®ã®æ®µèœãå®è£
ããã«ã¯ãåæåã¹ã¯ãªãã
/init.rcã倿Žããå¿
èŠããããŸãã ãã®ã¹ã¯ãªããã¯ããã€ãã®ãã
ã«ãAndroid Init Languageäžã®ç¬èªã®èªè»¢è»ã¢ã³ããã€ãã¹ã¯ãªããã§ãã ç§
ã¯ã¢ã³ããã€ããœãŒã¹ã®ãã©ãŒããã
ã«æ
£ããããšãææ¡
ããŸãã ç¬èªã®
ãµãŒãã¹ã远å ããæ©èœã«é¢å¿ããã
ãŸã ïŒã³ãã³ãã»ãããå³å¯ã«å¶éãããŠãããããã³ãã³ããããªã¬ãŒã«çŽæ¥è¿œå ããããšã¯ã§ããŸããïŒã
service sysinit /system/bin/logwrapper /system/xbin/busybox run-parts /system/etc/init.d disabled oneshot
service sysinit /system/bin/logwrapper /system/xbin/busybox run-parts /system/etc/init.d disabled oneshot
service sysinit /system/bin/logwrapper /system/xbin/busybox run-parts /system/etc/init.d disabled oneshot
ã€ãŸã ãµãŒãã¹
sysinitãåŒã³åºããŸããããã®ãµãŒãã¹ã¯ãéå§æã«run-parts /system/etc/init.dãå®è¡ãã察å¿ãããã©ã«ããŒå
ã®ãã¹ãŠã®ã¹ã¯ãªãããã¢ã«ãã¡ãããé ã«å®è¡ããŸãã
/ dev / null ïŒããã©ã«ãïŒã®ä»£ããã«åºåããã®ã³ã°ã·ã¹ãã ïŒ
logcatçµç±ã§ã¢ã¯ã»ã¹å¯èœïŒã«ãªãã€ã¬ã¯ãããã«ã¯ã
logwrapperãå¿
èŠã§ãã
ãµãŒãã¹ãéå§ããå¿
èŠããããŸãïŒ
ç¡å¹ãªãªãã·ã§ã³ã§ã¯ããã®ãµãŒãã¹ã¯èªåçã«éå§ãããŸããïŒã ãããè¡ãã«ã¯ãæåŸã®ã³ãã³ã
ãèµ·åæããªã¬ãŒããç¬èªã®ããªã¬ãŒã«ç§»åããŠãã¹ã¯ãªããã®å®è¡ãçµäºãããµãŒãã¹ãåŒã³åºããŸãã
- ïŒä»ã§ã¯ãªã
- ïŒclass_start default
- sysinitãéå§ããŸã
- ããããã£ïŒhabr.sysinit.done = 1
- ïŒä»
- class_startã®ããã©ã«ã
ãŸãã
/ system / etc / init.dã«2ã€ã®åçŽãªã¹ã¯ãªããã
äœæããŠãããããã¹ãŠæ©èœããããšã瀺ããŸãã 1ã€ç®ã¯æšæºã®
ãšã³ãŒ ïŒ
Hello World !ããããªãã®æ¹æ³ïŒãå®è¡ãã2ã€ç®ã¯ãã£ãã·ã¥ãã¯ãªã¢ãã
initã¹ã¯ãªããã«æ¢ã«çµäºããããšãäŒããããã«ããŒããç¶è¡ã§ããŸãã
- $ cat habrrom / system / etc / init.d / 00banner
- ïŒïŒ/ system / bin / sh
- echo "Hello habrahabrïŒ";
- $ cat habrrom / system / etc / init.d / 99complete
- ïŒïŒ/ system / bin / sh
- åæ;
- setprop habr.sysinit.done 1
æåŸã®ã¿ãã-å®è¡ããæš©å©ãèšå®ããŸãïŒãã¹ãŠåã-ãã¡ãŒã ãŠã§ã¢æŽæ°ã¹ã¯ãªããã§ïŒ
set_perm_recursive 0 2000 0755 0755 SYSTEM:etc/init.d
ã¹ãŒããŒãŠãŒã¶ãŒã®æš©å©ã æ ¹
å€ãã®å Žåãããããæãå·®ãè¿«ã£ãåé¡ã§ãã ãããèªãã æ£è
ã®ããã«ã
ãœãŒã¹ã³ãŒã
ã¯suã®ç¬èªã®å®è£
ãæã£ãŠãããšããäºå®ã«ããããããããã®äž»ãªç®çã¯ä»ã®
ãŠãŒã¶ãŒã®æš©éã§ã¢ããªã±ãŒã·ã§ã³ãã¹ãŒããŒãŠãŒã¶ãŒãšããŠïŒãŸãã¯
adb shellããïŒå®è¡ããããšã§ãããããç§ãã¡ã«ã¯é©ããŠããŸããã
ChainsDD-ã¢ããªã±ãŒã·ã§ã³
ã¹ãŒããŒãŠãŒã¶ãŒ2.1ã® éçºã䜿çšããŸãã ã¢ããªã±ãŒã·ã§ã³ã®æ¬è³ªã¯ãããªãã¿ã®
sudo ããŸãã¯Windowsã·ã¹ãã ã®
管çè
æ¿èªã¢ãŒãã«äŒŒãŠããŸãã ã¢ããªã±ãŒã·ã§ã³ããã®æš©éãã¹ãŒããŒãŠãŒã¶ãŒæš©éã«ã¢ããã°ã¬ãŒãããå ŽåïŒã ãã§ãªãïŒããŠãŒã¶ãŒã«èš±å¯ãæ±ããŸãã ãŸããåãå
¥ããããã«ãŒã«ãèšæ¶ããä»åŸã®ãã¹ãŠã®é話ã«èªåçã«é©çšããããšãã§ããŸãã
Android 2.1çšã«æ¢ã«
ã¢ã»ã³ãã«ãããã¢ããªã±ãŒã·ã§ã³ã䜿çšã
ãŸãã
ããœãŒã¹èªäœããããã調æ»ããã³ã¢ã»ã³ãã«ããæ©äŒã¯åžžã«ãã
ãŸã ã
ã¢ããªã±ãŒã·ã§ã³ã¯2ã€ã®ã³ã³ããŒãã³ãã§æ§æãããŠããŸãã
- ãã€ãã£ãã¢ãžã¥ãŒã«su æš©å©ã®å€æŽããªã¯ãšã¹ããããšããªã¯ãšã¹ããç¬èªã®ã¢ã¯ãã£ããã£ã«ãªãã€ã¬ã¯ããããŠãŒã¶ãŒã®åå¿ãåŸ
ã¡ãŸã
- Superuser.apkã¢ããªã±ãŒã·ã§ã³- ãŠãŒã¶ãŒãšã®å¯Ÿè©±ãè¡ããèšå®ãä¿åããã€ã³ã¿ãŒãã§ã€ã¹ã®ã»ããïŒ Activity ïŒã


瀺ãããæ©èœããã¡ãŒã ãŠã§ã¢ã«è¿œå ããã«ã¯ãã·ã¹ãã ã®é©åãªã»ã¯ã·ã§ã³ã«ã¢ãžã¥ãŒã«ã远å ãã
- $ cp su habrrom / system / xbin /
- $ cp Superuser.apk habrrom / system / app /
å®è¡å¯èœãã¡ã€ã«ã®æš©å©ãèšå®ããŸãïŒäžéšã®ã¢ããªã±ãŒã·ã§ã³ã¯çµ¶å¯Ÿãã¹ã§
suãåŒã³åºãããšãã§ããããã
/ system / bin /ã«ãªã³ã¯ã远å ããŸãïŒ
symlink ../xbin/su SYSTEM:bin/su set_perm 0 0 06755 SYSTEM:xbin/su
symlink ../xbin/su SYSTEM:bin/su set_perm 0 0 06755 SYSTEM:xbin/su
以äžã§ãã
ãã®èšäºã§è¡ãããããšã®èŠçŽãšããŠã
å°ããªã¢ãŒã«ã€ããåå°ããŸãã ã¹ã¯ãªããã
busybox ã
ã¹ãŒããŒãŠãŒã¶ãŒãªã©ã 奜å¥å¿ã®ããã«ã
ä»åã¯ãã©ããããããéåžžã«Linuxã§ãããéå±ã§ããããšã倿ããŸããã ããããæ¬¡åã¯ãã£ãšæ¥œãããããã¯ã§ããã·ã¹ãã ã¢ããªã±ãŒã·ã§ã³ã®åããã±ãŒãžåãèŠãŠãããŸãã ãããŸã§ã®éãæåŸã®ãã€ã³ãïŒ

åããã³å°æ¥ã®ã·ãªãŒãº
- ããŒã1. RUUã«åºã¥ããŠupdate.zip圢åŒã§ãã¡ãŒã ãŠã§ã¢ãäœæããŸãã 鿢±/梱å
ããŒãã ã¹ã¯ãªããã®æŽæ°ã 眲åãµãŒãã¹ããã¯ãšã¢ããªã±ãŒã·ã§ã³ã
- ããŒã2. busyboxã®è¿œå ã ã«ãŒãã远å ããŸãã ã¬ã³ãŒããžã®ããŠã³ãã åæåã¹ã¯ãªããã ramdiskã®ç·šéã