-
-
[求助]
-
发表于:
2019-12-27 01:01
2518
-
这是我hook 的代码如下,经过我的日志分析,if 那个判断里面 findandhookmethod hook代码没有执行不知道为啥 代码如下:求大佬帮助,谢谢,困扰了好几天,我这个是多dexhook代码 有壳子的可以hook
求助大佬指教,我这个hook 代码为啥那个if 代码里面hook 没有执行,我打印了,代码是进入if 里面了,但就是没有执行,我这个代码部分别人hook到了,所以so应该是加载了,希望有人可以测试一下,谢谢!
package com.example.hookapplemusic;
import android.app.Application;
import android.content.Context;
import android.util.Log;
import android.util.Pair;
import java.util.List;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
import static de.robv.android.xposed.XposedHelpers.findClass;
public class HookAppleInit implements IXposedHookLoadPackage {
private static final String PACKAGENAME = "com.apple.android.music";
private static final String TAG = "AppleHook";
@Override
public void handleLoadPackage(final XC_LoadPackage.LoadPackageParam loadPackageParam) throws Throwable {
XposedBridge.log("来了啊");
Log.e("handleLoadPackage", loadPackageParam.packageName);
if (PACKAGENAME.equals(loadPackageParam.packageName)) {
XposedBridge.log("正是进入包中");
//这里是为了解决app多dex进行hook的问题,Xposed默认是hook主dex
findAndHookMethod(Application.class, "attach", Context.class, new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
XposedBridge.log("进入hook 方法");
super.afterHookedMethod(param);
final ClassLoader classLoader = ((Context) (param.args[0])).getClassLoader();
Class<?> clazz = classLoader.loadClass("com.apple.android.mediaservices.javanative.common.AndroidMediaServices$HeaderUtil");
Class<?> clsHeaders = findClass("com.apple.android.mediaservices.javanative.http.HTTPMessage$Headers", classLoader);
XposedBridge.log("哈哈" + clazz);
XposedBridge.log("是真的吗");
if (clazz != null) {
findAndHookMethod(clazz, "headersToPairs", clsHeaders, new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
super.beforeHookedMethod(param);
Log.d(TAG, "beforeHookedMethod: 111");
}
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
super.afterHookedMethod(param);
List<?> list = (List<?>) param.getResult();
Log.d(TAG, "afterHookedMethod: 222");
for (Object object : list) {
Pair pair = (Pair) object;
XposedBridge.log("盖世英雄到来" + pair.first + " " + pair.second);
}
}
});
} else {
XposedBridge.log("没找到改类");
}
XposedBridge.log("假的吧");
}
});
}
}
}
hook 的函数是headerToPairs 如下文:我要的是是这个LinkedList 结果,但就是一直hook 不到
附上apk 下载地址,谢谢!
链接:https://pan.baidu.com/s/1WL3D9_zv_p5E3iy2NbD7eA
提取码:zaof
[课程]FART 脱壳王!加量不加价!FART作者讲授!
最后于 2019-12-27 01:02
被Erlösung编辑
,原因: