スキップしてメイン コンテンツに移動

システムファイルの差し替え方法

root を取ると、UOT KITCHEN 等で作成したリソースファイルを差し替えたくなります。なりますよね。ならないなら、root 取った意味があんまり無いと思います。

差し替えの方法なのですが、自分は以下の方法で行っています。

2011/11/24 追記: reboot 前に sync しないの?って聞かれたんだけど、busybox って reboot しても sync してくれないんだっけ?
……気になったので 1.19.3 のソースをざっと見た所、/init/init.c の 718 行目から run_shutdown_and_kill_processes 関数があって、sync はちゃんとしてくれている。
だから、ソースを弄ってなけりゃ大丈夫なんじゃね?
結論:もし、使っている busybox バイナリにオリジナルから改変が入ってると考えてるなら、reboot 前に sync は入れておいても良いんじゃね?とは、思います。私は入れません。
タフすぎて そんはない



事前準備
  • busybox を導入しておく
差し替えたいファイルは多々あると思いますが、代表的な3つのファイルについて差し替え手順を自分の方法で書いておきます。

各ファイルは d:\android に置いてあるものとします。携帯には、空き容量のある SD カードを挿しておくこと。オリジナルは必ずバックアップを取っておくこと。
また、すべてパソコンのコマンドプロンプトで行います。

framework-res.apk
なお、このファイルを差し替える前に本体電話帳とdocomo電話帳に保存されている連絡先は必ずバックアップを行うこと。すべて消去されます。
ただし、Google 関連は同期設定を再設定すればすべて復活はします。ただ、怖いのでバックアップは取っておきましょう。
また、このファイルは危険らしいです。自分はまだやっちまったことはありませんが、でも、たぶん、adb さえ通れば画面が真っ暗でも復旧はどうとでもなるはずです。

adb push d:\android\framework-res.apk /mnt/sdcard
adb shell
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
cd /system/framework
mv framework-res.apk framework-res.apkOld
cp /mnt/sdcard/framework-res.apk framework-res.apk
chmod 644 framework-res.apk
ls -l frame*
reboot
  • mount -o ~ は、起動時の状態では領域自体が読み取り専用なので、それを解除するおまじない。
  • mv ~の時に、既に同名ファイルでバックアップを取っているなら、先にバックアップを消す。 rm freamework-res.apkOld とでも。
  • ls -l frame* は、パーミッションとファイル名の確認のためにやってるので、別にしなくても良いです。
SystemUI.apk
このファイルの差し替えは比較的安全です。framework-res.apk の様にデータが消されることはありませんでした。処理を間違えても上部の通知領域が出なかったり、ファイル読み取りエラーが延々と携帯端末に表示されたりするぐらいです(経験談)。電源を落として再起動すれば、上部の通知領域が読み込まれなくなり、読み取りエラーも出ないので、落ち着いて adb を使ってオリジナルと置き換えれば簡単に復旧できます。

adb push d:\android\SystemUI.apk /mnt/sdcard
adb shell
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
cd /system/app
mv SystemUI.apk SystemUI.apkOld
cp /mnt/sdcard/SystemUI.apk SystemUI.apk
chmod 644 SystemUI.apk
mv SystemUI.odex SystemUI.odexSleep
ls -l System*
reboot

bootanimation.zip
起動時のロゴを差し替えるファイル。このファイルも比較的安全らしいです。

adb push d:\android\bootanimation.zip /mnt/sdcard
adb shell
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
cd /system/media/
cp /mnt/sdcard/bootanimation.zip bootanimation.zip
chmod 644 bootanimation.zip
ls -l bootani*
reboot

それでは、dance forever your only one !

コメント

人気の投稿

ドコモマーケットからdメニューへ

何処に何があるのかさっぱりで、ユーザから好評だったドコモマーケットがdメニューへリニューアルされました。 自分が見つけることが出来なかったのかもしれませんが、 お客様サポートからspモード決済や月額課金状況のページへ辿ることが出来なくなってませんか? どうしてこういう事をするのかなぁ? spモード決済の履歴をたどるメニューは、マイメニューから入っていくようになっています。 dメニュートップページ 「マイメニュー」を選択すると このページへ飛んで、継続課金一覧や履歴を確認できるリンクがでる マイメニューに、何が表示されるのか知らされていないのに、こんな項目を置かれても。役割や名称を見ても、普通はお客様サポートへアクセスするでしょうに。 ……ただ理解できないのが、継続課金一覧等からログインして表示されるページから、用意されている「戻る」をタップすると、お客様サポートのページに戻るんですよね。なぜこのページをお客様サポートから確認できるページにしなかったのだろう?コンテンツ作るのに、失敗してるのかしらん? わかりやすくしたつもりなのかもしれません。 ただ、エンドユーザが迷うようなサポートページを提供してどうする。 身も蓋もないことですが、そもそもspモードで接続している場合はマイメニューこそトップページにすべきでしょう。dメニューはマイメニューから見たい人だけ行けばいい。

Edge 入れたくないでござる

PowerShell によるアンインストールも塞がれ、遂に消す方法がなくなってしまった。勝手に入るし。だから要らんのだ。 Windows10 22H2 に、Edge を入れたくないでござる、絶対に Edge を入れたくないでござる! なので。昔ながらの古典的な方法で、二度と勝手に入らないようにした。 まず削除だが、C:\Program Files (x86)\Microsoft にある、Edge、EdgeCore、EdgeWebView の3つのフォルダを削除。 アンインストーラが機能しないんだから、フォルダごとバッサリやってもいいよね? Microsoft365Apps で使う? いらねーよあんなゴミ。 他にインストールしてあるブラウザ上で開けばいい。PWA として動かすにしても、勝手にインストールしやがる EdgeWebView 上で動かす必要はない。 Windows10 22h2 なら、EdgeWebView を消しても、Microsoft Store は動く。Windows 11 は知らん。いつになったら安定するんだ、Windows11 は。23/11 現在、まだ使いもんにならん。 Win+x キーを押して、WindowsPowerShell(管理者)を開き、次の3行を入力。 echo "" >"C:\Program Files (x86)\Microsoft\Edge" echo "" >"C:\Program Files (x86)\Microsoft\EdgeCore" echo "" >"C:\Program Files (x86)\Microsoft\EdgeWebView" ファイル置いとけば中身入れらんないから、インストールもされまい理論。 タスクスケジューラには何もなかったが、サービスに、 MicrosoftEdgeElevationService っていうクソがいたので無効に。しつけーわ、ほんと。 追記: 11 でも一応可能。MicrosoftStore も問題はないが、EdgeWebView を内蔵せずに利用するアプリは動作しなくなる(Microsoft PC Manager とか。PDF24 はE...