「boot,recovery,/systemを自由に書き換える」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
boot, recovery, /systemを自由に書き換えられるようになりました。
goroh_kun、ありがとう!!!!
local.prop等インストーラ
http://hotfile.com/dl/86086609/df7750d/bootkit.zip.html
カーネルモジュールとrilのプラグインのソースコード
http://hotfile.com/dl/86092190/3aa9b5c/drivers_source.zip.html
>>317
> 自動起動仕込むところを大体見つけました。
> どなたか協力お願いします。
>
> /data/の直下にlocal.propを置く
> ここで、内容をoverrideできます。
> サービス起動時のおダイナミックライブラリがある
> サービスプログラムを探す。
>
> getpropしてみると、
>
> rild.libpathが/system/lib/libril-qc-1.soといかにも起動時に使っていそう。
> rildaemonから使われているプラグインと思われます。
>
> そこで、
> local.propの中身を
> rild.libpath=/data/lib/libril-wrapper.so
> rild.wrapper.cmd=/data/rootkit.boot.sh
> rild.libpath2=/system/lib/libril-qc-1.so
>
> で、このプラグインを/data配下から読み出されるようにして、
> libril-wrapper.soにて、ダイナミックロード時に
> 自動実行したいプログラムを指定できるようにします。
> で、自動実行したいプログラムをlibril-wrapper.soで実行後
> 本来のrild用のプラグインをロードして、rildに引き渡すようにします。
>
> これでいけるのではないかと思っているのですが、やるよって方は
> いらっしゃいますか?
>>318
> おそらく、上の方法であれば、
> local.propの中に
>
> ctl.start=qcom-sh
> と入れておけば、サービスの起動も可能だと思います。
> /init.qcom.shの内容をlibril-wrapper.soにて上書きし、その後
> このシェルを起動することも可能だと思います。
>
> さらには、module_disabledを書き込むよりも前で起動されることが
> 分かっていますので、この段階で任意のkernelモジュールが読み込めるのではないかと
> 思っています。
>>319
> 上の動作をするrild用のプラグインをビルドしました。
>
> これで、起動時に任意のkernel moduleをinsmodできます。
>
> http://hotfile.com/dl/86056401/b7bb5a2/libril-wrapper.zip.html
>>321
> 起動時にinsmodスクリプトに入れることで、
> boot, recovery, /systemを自由に書き換えられるようになりました。
>
> http://hotfile.com/dl/86060655/63e2abf/msm_nand_ex.zip.html
>
> 分かる人だけ使ってくださいね。
>
> (1) /data/local.propを作成
> 中身は、
> cat /data/local.prop
> rild.libpath=/path/to/libril-wrapper.so
> rild.wrapper.cmd=/path/to/autoexec.sh
> rild.libpath2=/system/lib/libril-qc-1.so
>
> (2)/path/to/libril-wrapper.soを配置
>
> (3)/path/to/autoexec.shを作成、中身は
> insmod /path/to/msm_nand_ex.ko
> ほかにもやらせたいことを書きます。
> スクリプトの最後にrildのプラグインを設定しなおします。
> setprop rild.libpath `getprop rild.libpath2`
>
> 分かる人だけやってください。あとは起動のこの仕組みを利用して、
> いろいろなバージョンのandroidを起動できるようにしてみましょう。
> boot.imgの書き換えは慎重にやってくださいね。
> 私のほうは、recovery領域を触って、いろいろ検証してみます。
>>322
> これで、とりあえず私の目的は達成できたので書き込み頻度は
> 少なくなるかも知れないです。チェックはしてますので、何かあったら
> 書き込んでください。
> ではでは
>>327
> あとは、recovery の、adbd の立ち上がりを禁止してたのを、許可するように、
> 0 -> 1 の編集したら、recovery からadb経由で何でも書き換え出来るようになる?
>
> まだ、recovery を電源ONから、直接立ち上げるキー操作とかは不明なんだよね?
>>331
> >>327
> そうですね、まずはそこからになるかと。
> ubiデバイス側から書くのがよいのか、mtdblock(またはmtd)から書くのがいいのか調べてみないとですが。。
>>342
> local.prop等インストーラを作ってみたのでお試しください。
> できれば、ワンクリック版に組み入れてもらえると・・
>
> http://hotfile.com/dl/86086609/df7750d/bootkit.zip.html
>>352
> カーネルモジュールとrilのプラグインのソースコードを公開しておきます。
> http://hotfile.com/dl/86092190/3aa9b5c/drivers_source.zip.html
>
>>353
> systemを書き換えるには、書き込み可能なsystemとして
> mtd10で認識しているのでマウントしてみてください。
> その際、安全のため/systemはアンマウントしておいたほうがよいかと思います。
>>365
> kernel書き換え試してみるのはとりあえず、自己リスクで。
> /system書き換える場合も、androidを起動しなくても
> adbがつながるようにしてからやるのが安心だと思います。
>
> 現状androidが起動しない&adbでつながらないときに元に戻す
> 手段がないので危険だと思います。
> 現在bootloaderにそういったモードがないか確認中です。
> 自分の場合はandroid起動しなくてもadbでつなげられるのですが
> qxdmを有効にした状態ですので、もしadb認識してない人は
> qxdmを有効にしてみてください。
>
> echo 1 > /sys/devices/platform/msm_hsusb_periphera/qxdm_enable
>>407
> 戻りました。bootloader解析続けます。
> 文鎮状態の人を大量発生させるのはいやなので。^^;
>>412
> /dev/mem, /dev/kmemの代わりをするドライバを起こしました。
> /dev/mem_ex, /dev/kmem_exが使えます。
>
> http://hotfile.com/dl/86203816/abbea85/mem_ex.zip.html
>
> ./mem_ex 20008000 100 | /data/bootkit/busybox hexdump -C
>
> こうすると、物理アドレス0x20008000 から 0x100バイトダンプできます。
> 不安定のため、テスト版ということで。後ほどソースUpします。
>
> たとえば、
> cat /proc/kallsyms | /data/busybox/grep kstrtab_jiffies_64$
> 804cd1a8 r __ksymtab_jiffies_64
> ./mem_ex 204cd1a8 4 | /data/busybox/hexdump -C
>
> 00000000 a8 e5 4f 80
> 00000004
>
> ./mem_ex 204fe5a8 4 | /data/busybox/hexdump -C
>
> これで、jiffiesがダンプで着ます。
>>432
> bootloader内に、リカバリーモードに移行するモードがあるのを発見
> 現在方法解析中
boot, recovery, /systemを自由に書き換えられるようになりました。
goroh_kun、ありがとう!!!!
local.prop等インストーラ
http://hotfile.com/dl/86086609/df7750d/bootkit.zip.html
カーネルモジュールとrilのプラグインのソースコード
http://hotfile.com/dl/86092190/3aa9b5c/drivers_source.zip.html
>>317
> 自動起動仕込むところを大体見つけました。
> どなたか協力お願いします。
>
> /data/の直下にlocal.propを置く
> ここで、内容をoverrideできます。
> サービス起動時のおダイナミックライブラリがある
> サービスプログラムを探す。
>
> getpropしてみると、
>
> rild.libpathが/system/lib/libril-qc-1.soといかにも起動時に使っていそう。
> rildaemonから使われているプラグインと思われます。
>
> そこで、
> local.propの中身を
> rild.libpath=/data/lib/libril-wrapper.so
> rild.wrapper.cmd=/data/rootkit.boot.sh
> rild.libpath2=/system/lib/libril-qc-1.so
>
> で、このプラグインを/data配下から読み出されるようにして、
> libril-wrapper.soにて、ダイナミックロード時に
> 自動実行したいプログラムを指定できるようにします。
> で、自動実行したいプログラムをlibril-wrapper.soで実行後
> 本来のrild用のプラグインをロードして、rildに引き渡すようにします。
>
> これでいけるのではないかと思っているのですが、やるよって方は
> いらっしゃいますか?
>>318
> おそらく、上の方法であれば、
> local.propの中に
>
> ctl.start=qcom-sh
> と入れておけば、サービスの起動も可能だと思います。
> /init.qcom.shの内容をlibril-wrapper.soにて上書きし、その後
> このシェルを起動することも可能だと思います。
>
> さらには、module_disabledを書き込むよりも前で起動されることが
> 分かっていますので、この段階で任意のkernelモジュールが読み込めるのではないかと
> 思っています。
>>319
> 上の動作をするrild用のプラグインをビルドしました。
>
> これで、起動時に任意のkernel moduleをinsmodできます。
>
> http://hotfile.com/dl/86056401/b7bb5a2/libril-wrapper.zip.html
>>321
> 起動時にinsmodスクリプトに入れることで、
> boot, recovery, /systemを自由に書き換えられるようになりました。
>
> http://hotfile.com/dl/86060655/63e2abf/msm_nand_ex.zip.html
>
> 分かる人だけ使ってくださいね。
>
> (1) /data/local.propを作成
> 中身は、
> cat /data/local.prop
> rild.libpath=/path/to/libril-wrapper.so
> rild.wrapper.cmd=/path/to/autoexec.sh
> rild.libpath2=/system/lib/libril-qc-1.so
>
> (2)/path/to/libril-wrapper.soを配置
>
> (3)/path/to/autoexec.shを作成、中身は
> insmod /path/to/msm_nand_ex.ko
> ほかにもやらせたいことを書きます。
> スクリプトの最後にrildのプラグインを設定しなおします。
> setprop rild.libpath `getprop rild.libpath2`
>
> 分かる人だけやってください。あとは起動のこの仕組みを利用して、
> いろいろなバージョンのandroidを起動できるようにしてみましょう。
> boot.imgの書き換えは慎重にやってくださいね。
> 私のほうは、recovery領域を触って、いろいろ検証してみます。
>>322
> これで、とりあえず私の目的は達成できたので書き込み頻度は
> 少なくなるかも知れないです。チェックはしてますので、何かあったら
> 書き込んでください。
> ではでは
>>327
> あとは、recovery の、adbd の立ち上がりを禁止してたのを、許可するように、
> 0 -> 1 の編集したら、recovery からadb経由で何でも書き換え出来るようになる?
>
> まだ、recovery を電源ONから、直接立ち上げるキー操作とかは不明なんだよね?
>>331
> >>327
> そうですね、まずはそこからになるかと。
> ubiデバイス側から書くのがよいのか、mtdblock(またはmtd)から書くのがいいのか調べてみないとですが。。
>>342
> local.prop等インストーラを作ってみたのでお試しください。
> できれば、ワンクリック版に組み入れてもらえると・・
>
> http://hotfile.com/dl/86086609/df7750d/bootkit.zip.html
>>352
> カーネルモジュールとrilのプラグインのソースコードを公開しておきます。
> http://hotfile.com/dl/86092190/3aa9b5c/drivers_source.zip.html
>>353
> systemを書き換えるには、書き込み可能なsystemとして
> mtd10で認識しているのでマウントしてみてください。
> その際、安全のため/systemはアンマウントしておいたほうがよいかと思います。
>>365
> kernel書き換え試してみるのはとりあえず、自己リスクで。
> /system書き換える場合も、androidを起動しなくても
> adbがつながるようにしてからやるのが安心だと思います。
>
> 現状androidが起動しない&adbでつながらないときに元に戻す
> 手段がないので危険だと思います。
> 現在bootloaderにそういったモードがないか確認中です。
> 自分の場合はandroid起動しなくてもadbでつなげられるのですが
> qxdmを有効にした状態ですので、もしadb認識してない人は
> qxdmを有効にしてみてください。
>
> echo 1 > /sys/devices/platform/msm_hsusb_periphera/qxdm_enable
[[ブートローダー]]へ続く。