SHARE
TWEET

Po53

watiko Dec 25th, 2012 2,260 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 画像付きで書いてみた。http://bit.ly/VhjFqd
  2.  
  3. ・Sonyチェック回避
  4. /smali/com/sonyericsson/android/pobox/core/OpenWnn.smali
  5. /smali/com/sonyericsson/android/pobox/core/IWnnLanguageSwitcher.smali
  6. /smali/com/sonyericsson/android/pobox/settings/ControlPanelJaJp.smali
  7. Ljava/lang/String;->startsWith(Ljava/lang/String;)Zの引数
  8.  
  9. ・50音キーボードと手書きの軌跡有効化
  10. /smali/com/sonyericsson/android/pobox/customization/POBoxConfig.smali
  11. Lcom/sonyericsson/android/pobox/preferences/POBoxPreference;->setEnable50Letter(ZZ)V
  12. Lcom/sonyericsson/android/pobox/preferences/POBoxPreference;->setEnableHandwritingFading(ZZ)V
  13. の行のそれぞれ、引数3つのうち後半2つを同じに。
  14. たとえば、
  15.     invoke-virtual {v1, v0, v2}, Lcom/sonyericsson/android/pobox/preferences/POBoxPreference;->setEnable50Letter(ZZ)V
  16. これを
  17.     invoke-virtual {v1, v2, v2}, Lcom/sonyericsson/android/pobox/preferences/POBoxPreference;->setEnable50Letter(ZZ)V
  18. こう。(前回までと違いあとから置き換え変えると不都合な場所にデフォルト設定が移動していたのでこうしました。)
  19.  
  20. ・参照書き換え
  21. 対象プロジェクトに/lib/armeabi/を作成。
  22. 元ネタzipの/system/libから*.conf.soの/system/lib/を
  23. /data/data/com.sonyericsson.android.pobox/lib/に置き換えて配置。(書き換えなかったファイルも配置)
  24. /smali/以下の/system/lib/を/data/data/com.sonyericsson.android.pobox/lib/に置換。
  25. (grep検索できるソフトで検索、私はグレップ坊やで探しました。)
  26.  
  27. ・存在しないリソースへの参照を書き換え
  28. 0x206でgrepして「const/16 その場所での変数, 0xffffffff」こんな感じに書き換え5ヶ所
  29. たとえば、ここ(IWnnImeJaJp.smaliで2ヶ所、引数は違うかも)から
  30.     invoke-virtual {p0}, Lcom/sonyericsson/android/pobox/core/IWnnImeJaJp;->getResources()Landroid/content/res/Resources;
  31.  
  32.     move-result-object v6
  33.  
  34.     const/high16 v7, 0x206
  35.  
  36.     invoke-virtual {v6, v7}, Landroid/content/res/Resources;->getColor(I)I
  37.  
  38.     move-result v6
  39. ここまでを
  40.     const/16 v6, 0xffffffff
  41. こんな感じに書き換えます。(長いのは関数一つ丸ごとつぶしているためです。)
  42. SkinData.smali(3ヶ所)は
  43.     const/high16 v2, 0x206
  44.  
  45.     invoke-virtual {p1, v2}, Landroid/content/res/Resources;->getColor(I)I
  46.  
  47.     move-result v0
  48.     const/16 v0, 0xffffffff
  49. こんな感じに。
  50.  
  51. ・存在しないフォントの書き換え
  52. KeyboardView.smali内のSoMARegular.ttf,SoMABold.ttfをそれぞれRoboto-Regular.ttf,Roboto-Bold.ttfに書き換え(2ヶ所ずつ)
  53.  
  54. ・記号一覧の不具合
  55. これはbuildしたapkに元ネタ.apkから取り出したresources.arscを上書きしてsignすることで解決します。
  56. (apkの実体はzipなので7zip,WinRARなどで直接D&D可能です。)
  57.  
  58. ・署名の整合性
  59. POBoxSknSelector.apkと上書きしたapkに同じ署名をする。
RAW Paste Data
Top