cielavenir

東京100ガイド WiMAX対応

Jul 11th, 2013
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.46 KB | None | 0 0
  1. jp.enjoytokyo.theme100 2.0.0.2用
  2. 2.0.4でも同じパッチで改造できます
  3.  
  4. 【まえがき】
  5. これは「東京100ガイド」アプリをWiMAX対応するための説明文書です
  6. WiMAX機でなければ実施する必要はありません
  7.  
  8. 【概要】
  9. CVE-2013-4787は、apk内に同一のエントリが複数含まれるとき、最後のエントリのみが署名検証に使用されるという脆弱性です。
  10. これを利用すると、改変したclasses.dexを先にapkに追加することで、改変したコードの実行が可能となります。
  11. ※これ系のハックは/data/dalvik-cache/以下を改変する方法が主流でしたが、今回system権限は必要としません。無改造で実施できます。
  12.  
  13. 【準備】
  14. ・apk downloader
  15. ・7-zip(7z.exe)
  16. ・apktool - apkを逆アセンブルするため
  17. https://code.google.com/p/android-apktool/
  18. ・minizip - 細工したapkを作成するため
  19. http://www.winimage.com/zLibDll/minizip.html
  20. ※大抵のzip圧縮ツールは同一のエントリが含まれることをチェックしますが、minizipはチェックしないため使用することができます
  21. ※バイナリは提供されていないようなので自力でコンパイルする必要があります
  22.  
  23. 【方法】
  24. 1-1. apk downloaderを用いて東京100ガイド( https://play.google.com/store/apps/details?id=jp.enjoytokyo.theme100 )をダウンロードします。
  25. 1-2. zip展開ツールでjp.enjoytokyo.theme100を展開します(ここではtheme100フォルダ)
  26. 2-1. apktoolを用いてjp.enjoytokyo.theme100を展開します。
  27. 2-2. jp.enjoytokyo.theme100ディレクトリで、patch -p1 < theme100.diff(後述)としてパッチを当てます。
  28. 2-3. jp.enjoytokyo.theme100をapktoolでビルドし、classes.dexを抜き出します。
  29. 3. 以下のシェルスクリプト(に準じるコマンド列)によって細工したtheme100.zipを作成します。
  30. ---
  31. cd theme100
  32. rm ../theme100.zip
  33. 7z a -tzip -mx=9 ../theme100.zip assets lib org res META-INF AndroidManifest.xml resources.arsc
  34. cd ..
  35. ./minizip -a -9 theme100.zip classes.dex #改変後のdex
  36. cd theme100
  37. ../minizip -a -9 ../theme100.zip classes.dex #改変前のdex
  38. ---
  39. 4. theme100.zipはadb install -r、もしくは拡張子をapkに変更して端末に転送することによりインストールが可能となります。
  40.  
  41. --- theme100.diff ---
  42. diff -ur a/smali/jp/enjoytokyo/theme100/LetBaseActivity.smali b/smali/jp/enjoytokyo/theme100/LetBaseActivity.smali
  43. --- a/smali/jp/enjoytokyo/theme100/LetBaseActivity.smali 2013-07-11 18:03:45.000000000 +0900
  44. +++ b/smali/jp/enjoytokyo/theme100/LetBaseActivity.smali 2013-07-11 15:39:50.000000000 +0900
  45. @@ -347,17 +347,17 @@
  46.  
  47. .line 96
  48. :cond_1
  49. - invoke-virtual {v2}, Landroid/net/NetworkInfo;->getTypeName()Ljava/lang/String;
  50. + #invoke-virtual {v2}, Landroid/net/NetworkInfo;->getTypeName()Ljava/lang/String;
  51.  
  52. - move-result-object v7
  53. + #move-result-object v7
  54.  
  55. - const-string v8, "MOBILE"
  56. + #const-string v8, "MOBILE"
  57.  
  58. - invoke-virtual {v7, v8}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
  59. + #invoke-virtual {v7, v8}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
  60.  
  61. - move-result v7
  62. + #move-result v7
  63.  
  64. - if-eqz v7, :cond_2
  65. + #if-eqz v7, :cond_2
  66.  
  67. .line 97
  68. invoke-virtual {v2}, Landroid/net/NetworkInfo;->isConnected()Z
  69. diff -ur theme/smali/jp/enjoytokyo/theme100/MapSearchActivity.smali jp.enjoytokyo.theme100/smali/jp/enjoytokyo/theme100/MapSearchActivity.smali
  70. --- theme/smali/jp/enjoytokyo/theme100/MapSearchActivity.smali 2013-07-11 18:03:45.000000000 +0900
  71. +++ jp.enjoytokyo.theme100/smali/jp/enjoytokyo/theme100/MapSearchActivity.smali 2013-07-11 15:40:27.000000000 +0900
  72. @@ -981,17 +981,17 @@
  73.  
  74. .line 883
  75. :cond_1
  76. - invoke-virtual {v4}, Landroid/net/NetworkInfo;->getTypeName()Ljava/lang/String;
  77. + #invoke-virtual {v4}, Landroid/net/NetworkInfo;->getTypeName()Ljava/lang/String;
  78.  
  79. - move-result-object v8
  80. + #move-result-object v8
  81.  
  82. - const-string v9, "MOBILE"
  83. + #const-string v9, "MOBILE"
  84.  
  85. - invoke-virtual {v8, v9}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
  86. + #invoke-virtual {v8, v9}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
  87.  
  88. - move-result v8
  89. + #move-result v8
  90.  
  91. - if-eqz v8, :cond_2
  92. + #if-eqz v8, :cond_2
  93.  
  94. .line 884
  95. invoke-virtual {v4}, Landroid/net/NetworkInfo;->isConnected()Z
Advertisement
Add Comment
Please, Sign In to add comment