xposedフックのAuto.jsプログラムを使用して、jsスクリプトを復号化します。

1.原則

  原理は非常に簡単です。auto.jsをフックするcom.stardust.autojs.script.StringScriptSourceクラスです。もちろん、リバートするauto.jsプログラムのdexは強化されていません。もちろん、フックする前に修正できますが、強化によってフックすることもできるようです、それは通常このクラスcom.stardust.autojs.script.StringScriptSourceだからです。

  

 

 

  ここでのコンストラクターは、2つのパラメーターを持つ復号化されたコードを直接入力します。1つはファイル名で、もう1つはjs復号化コードです。直接フックするだけです。

 

 

 

2、フック用のxopsedモジュールを作成する

 

  XposedBridgeApi-54.jarを使用してxposedモジュールを作成する

 

 

 3、モジュールのソースコード

  これがモジュールのコアコードで、復号化されたファイルはsdカードのルートディレクトリのautojsディレクトリにあります

パッケージcom.example.autojshook; 

android.os.Environmentをインポートします。

import java.io.FileWriter; 
import java.io.IOException; 

import de.robv.android.xposed.IXposedHookLoadPackage; 
import de.robv.android.xposed.XC_MethodHook; 
import de.robv.android.xposed.XposedBridge; 
import de.robv.android.xposed.XposedHelpers; 
import de.robv.android.xposed.callbacks.XC_LoadPackage; 

パブリッククラスMyModuleという実装IXposedHookLoadPackage { 
    @Override 
    公共ボイドhandleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam)がThrowableをスロー{ 
        <?> finalクラスクラス1 = XposedHelpers.findClass( "com.stardust.autojs.script.StringScriptSource"、loadPackageParam.classLoader)を、 
        XposedHelpers.findAndHookConstructor(class1に、String.class、String.class、新しいXC_MethodHook(){ 
            @Overrideを 
            protected void afterHookedMethod(MethodHookParam param)throws Throwable { 
                String data =(String)param.args [1]; //データ
                文字列名=(String )param.args [0]; //ファイル名
                XposedBridge.log( "最初のいくつかのデータは" + data.substring(0、100)); 
                XposedBridge.log( "保存開始" +名前); 
                strToFile(data、 name); 
                XposedBridge.log( "保存完了" + name); 
                super.afterHookedMethod(param); 
            } 
        }); 
    } 

    private static void strToFile(String data、String name){
        文字列パス= Environment.getExternalStorageDirectory()+ "/" + name; 
        XposedBridge.log( "保存路径は:" + path); 
 
        FileWriter fwriter = null;
        {を試す
            fwriter = new FileWriter(path); 
            fwriter.write(データ); 
        } catch(IOException ex){ 
            ex.printStackTrace(); 
        }最後に{ 
            if(fwriter!= null)
                try { 
                    fwriter.flush(); 
                    fwriter.close(); 
                } catch(IOException ex){ 
                    ex.printStackTrace(); 
                } 
        } 

    } 


}

 

 4.完成品

  このモジュールは学習とコミュニケーションのみを目的としており、必要な小規模のパートナーはhttps://github.com/Rakers1024/AutoJsHookにアクセスして入手できます。必要に応じて、プライベートレター交換で学ぶことができます。

おすすめ

転載: www.cnblogs.com/Rakers1024/p/12707221.html