Android用のストックファームウェアの変更。 パート1

こんにちは、Habr!



数年前、私がAndroidに初めて精通したとき、仕事仲間から、Androidには修正されたファームウェアや間に合わせのファームウェアをインストールできる機能があると聞きました。 率直に言って、それから私はこれから遠く離れていた。 そして半年前でさえ、私はそのようなことにほとんど興味がなかった。 私の心の奥底では、メーカーがやっていることはすでに通常の使用を目的としていると確信していました。



工場設定でGoogle、Skype、Facebook、その他のアプリケーションの使用が禁止されている中国から電話を購入したときの失望を想像してください。 原則として、いくつかのことに目をつぶることは可能でしたが、私の電話がGoogleアカウントを使用することを意味していなかったとき、私はそれを取得しないことを確認することを約束しました。



半年が経ち、私のカスタムファームウェアは世界中で正常に使用されました。



この一連の記事では、Android向けのリバースプログラミングの方法、パッチ、調整、およびMODの実装方法について説明します。



前文



それで! この記事で使用する概念を最初に決めましょう。 ただし、通常の理解は非常に異なる場合があります。



パッチ -プログラムアルゴリズムを変更するために、既存のプログラムコードを変更または置換します。

Mod-原則として、アルゴリズムを変更せずに既存のプログラムコードに機能を追加します。

微調整 -システムパラメータへのアクセスを容易にするために、プログラムの機能を改善します。



また、すべての例はHTC電話で使用されますが、これはこの情報が他の電話で使用できないという意味ではありません。



著者として、以下の情報を使用した結果として携帯電話のデータが失われる可能性について責任を負いません。



環境の準備



このソフトウェアまたはそのソフトウェアの使用方法に関する詳細な指示なしで管理します。 この記事に興味があり、これらの行を読んでいる場合は、すでに経験豊富なユーザーであり、この分野での使用、または少なくとも実験の経験があることを願っています。 ただし、説明、記事、テスト結果は、Habréの場合と同様に、オープンアクセスで完全です。 また、いくつかの用語の説明はせずに行います。そうしないと、記事が非常に大きく退屈になります。 私たちはビジネスでのみ書きます。 あなたの環境は長い間存在していると確信しています。 そうでない場合は、ダウンロードしてインストールすることをお勧めします。



1 Android SDK これは、Android用のアプリケーション開発環境です。 変更を加えるためには、プログラムコードを必ず確認する必要があります。 使用できるのは開発環境です。

2Androidキッチン 。 このユーティリティを使用すると、公式または非公式のファームウェアのシステムパーティションのイメージを操作できます。

JD-GUI Javaコードの逆コンパイラ。 私は、これが使いやすさの点で最高の逆コンパイラであることをすぐに注意します。

4DJ Javaデコンパイラー 。 別の逆コンパイラ、または逆アセンブラ。一部の人々はJavaコードと呼んでいます。 使用に関しては便利ではありませんが、JD-GUIを理解できない場合があるコードを解析します。

5smali 。 別の逆アセンブラですが、すでにdalvikコードです。 smaliは分解に必要であり、backsmaliはコードアセンブリです。

6dex2jar 。 Dalvikコードの実行可能ファイルを変換するユーティリティ。



ファームウェア変換



もちろん、メーカーから携帯電話にインストールされるファームウェアは、消費電力を削減するために最適化されています。 ファームウェアを変更するには、コードを変更できる形式に変換する必要があります。 このために、Androidキッチンが使用されます。 もちろん、私が以前にやったように、この非常に「台所」を見つけるまで、あなたは手でできます。 電話からシステム領域を引き出し、環境をインストールし、DEODEXファームウェアを実行する方法は、インターネットで読むことができます。 まだ何も理解していない場合は、十分な経験を積むまで記事を延期する価値があると思います。



最適化された形式(ODEX-メモリが適切であれば、最適化されたdalvik実行可能コード)のファームウェアがDEODEX(つまり、最適化されていない)になった後、すべての実行可能ファイルを修正する準備が整います。



直接修正



パッチを作成する


すでに述べたように、私の電話は当初Googleの使用を禁止していました。 まあ、少なくともクラックしている、Playstoreに行く、アカウントを設定しない、電話帳は実際には同期していません。 なぜこのようなAndroidが必要なのですか? デバイス自体のログを長時間掘り下げてみたところ、Googleの使用が禁止されているというエントリが見つかりました。 Androidで最も不快なログが表示されますが、どのシステムアプリケーションがログを生成するかわかりません。 私の足がどこで成長しているかを知るために、すべてのシステムアプリケーションを分解してJavaコードを分解する必要がありました。 かなりの時間がかかりましたが、私は今でも正しいコードを分析して見つけるときに行った作業を使用しています。 このようなツールを入手する手順は次のとおりです。

1 DEODEX全体のファームウェアを作成する

2 。 新しいDEODEXファームウェアを組み立てて、電話機にフラッシュする必要があります。 これがどのように行われるかは、別の記事のトピックです。

。 / system / frameworkにある各ファイルから、classes.dexファイルを抽出し、dex2jarを使用してJARに変換します。

4 。 JD-GUIで開いたJARを受信し、ソースコードに再保存する

5 。 アーカイブからソースコードを解凍します。



その結果、/ system / frameworkにあるJARファイルと同じ数のフォルダーを取得し、各フォルダーにはJavaソース構造がありました。

簡単な操作で、logcatエントリを生成した場所をすぐに見つけました。



それぞれのケースで個別の話であるため、禁止の論理全体を考慮しません。 チェックが行われる場所を見つけるまでに数時間を費やし、頭の中でアルゴリズムのブロック図を作成し、どこに登るのかを理解する必要がありました。



すべてがシンプルであることが判明しました。 所定の定数に基づいて、電話が中国にいたかどうかに応じて応答するサブルーチンがあります。



コードはHTCExtension.jarファイルにあり、このルーチンを含むクラスは\ com \ htc \ util \ contacts \ BuildUtils $ Customization.javaにありました。



元のファイルの解凍と分析


1 最初に、必要なコードの一部を担当する元のDEODEX JARファイルを取得する必要があります。 この例では、 HTCExtension.jar

2 。 アーカイバで開き、そこからclasses.dexをプルします

。 dex2jarコンバーターを使用して、JARファイルに変換します。 チーム: dex2jar.bat classes.dex





4 。 JD-GUIで結果のclasses_dex2jar.jarファイルを開きます。

5 。 はい、ほとんどの場合、JD-GUIはコードを逆コンパイルします。元のコードとは異なり、理解できますが、読むことができます。 ソースでは、サブルーチンがプロジェクトパラメータとファームウェアの言語フラグをチェックしていることがわかります。 残念なことに、値TRUEが返されます。

  public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return true; return false; }
      
      





6 。 パッチを作成するには、Dalvikコード自体を逆アセンブルする必要があります。 これにはbaksmaliを使用します。 別のフォルダーを作成して、そこにHTCExtension.jarsmali.jar 、およびbaksmali.jarの 3つのファイルをまとめるのが最も便利です 。 コマンドjava -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar

7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .




















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















 java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar 
      



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















 java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar 
      



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















 java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar 
      



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















 java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar 
      



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















 java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar 
      



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















 java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar 
      



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















 java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar 
      



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















 java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar 
      



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















 java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar 
      



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















 java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar 
      



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















 java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar 
      



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .
















java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar



- API Android. JB - 16

- , .





java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar






7 . HTCExtension, Dalvik .

8 . \com\htc\util\contacts\BuildUtils$Customization.java :

.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method





9 . , ? . , . , . ,

.prologue const/4 v0, 0x1



v0 1, TRUE. , , :

.line 297 const/4 v0, 0x0 goto :goto_13





10 . , :

.prologue const/4 v0, 0x0



, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }





11 . , , . - . - . -

public static boolean isChina() { return false; }





12 . Dalvik ? .



Dalvik

1 . Android SDK.

2 . ,

package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }





3 . .

4 . , JAR .

5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk

6 . Dalvik .

7 . test.smali

.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method






8 . , .





1 . Dalvik , . , . .

2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .

.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method





3 . . , , , Notepad++ EditPlus. .



JAR

1 . backsmali JAR , .

2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex





3 . classes.dex





4 . HTCExtension.jar classes.dex .

5 . , HTCExtension.jar .





, , recovery . . - , - .



1 . , DEODEX root :



adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot







1-

2- shell

3- root

4- /

5-

6- .

7-

8-

9- .



2 . , .

3 . .

4 . , .

adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot









, - , - -, - . . -, . -, , , .



. . .



PS - , - .



















All Articles