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にアクセスして入手できます。必要に応じて、プライベートレター交換で学ぶことができます。