他の場所で文書化されているエクスプロイトを実行することで、ターミナルでルートプロンプトを取得できます。(例:http : //wiki.cyanogenmod.com/wiki/Motorola_Droid_2_Global : _Full_Update_Guide)
この時点で、 "su"バイナリをインストールして4755のアクセス許可を与えることができます。これにより、誰でも実行できるようになり、バイナリの所有者は "root"であり、スティッキービットが設定されているため、私はrootになるはずです。しかし、私はどうやら、再起動しないとターミナルからrootになれない方法がありません。しかし、再起動後、「su」を使用してrootになることができません。
$ ls -l /system/bin/su
-rwsr-xr-x root app_101 26234 2012-07-09 15:00 su
OK、それを実行してrootになることができるはずですが、端末のこの特定の呼び出しでのみ、権限は正常に見えます。
$ /system/bin/su
Permission denied
rootとして実行するコマンドを指定した場合、または他の引数を指定した場合も失敗します。
$ /system/bin/su /system/bin/sh
Permission denied
どうして?動作している他のメカニズムはありますか?Superuser.apkをインストールしたくありません。たとえば、不要なファイルを手動で削除するなど、必要に応じて一時的にルートシェルを取得できる方法が欲しいからです。その上、Superuser.apkはとにかくsuバイナリに依存しているので、それを呼び出す方法が必要なのに、なぜターミナルでそれを複製できないのでしょうか。
編集:別の考えがあったので、/ bin / shを別の場所にコピーして、それをsuid rootにしました。しかし、私は新しいバイナリを実行できますが、それは私に根を与えません。Androidは、通常のLinuxではできない、sidでトリッキー/異なることをしていますか?