android多个广告sdk回调处理,Android逆向 今日头条的广告SDK分析

今日头条的广告SDK激励视频广告下载、安装分析

try {

Method method = null;

Class> a = getClassLoader().loadClass("com.ss.android.socialbase.appdownloader.a");

for (Method m : a.getDeclaredMethods()) {

Log.e("gamea", ":" + m.getName() + ":" + m.getReturnType().getName());

if (m.getReturnType().getName().equals("android.content.Intent")) {

method = m;

}

}

if (method != null) {

DexposedBridge.hookMethod(method, new XC_MethodHook() {

@Override

protected void beforeHookedMethod(MethodHookParam param) throws Throwable {

super.beforeHookedMethod(param);

Log.e("gamea", "getPackageName param:" + param.args[1]);

}

@Override

protected void afterHookedMethod(MethodHookParam param) throws Throwable {

super.afterHookedMethod(param);

Log.e("gamea", "getPackageName param:" + param.getResult().toString());

}

});

}

Class f = FileProvider.class;

Method getUriForFile = f.getDeclaredMethod("getUriForFile", Context.class, String.class, File.class);

DexposedBridge.hookMethod(getUriForFile, new XC_MethodHook() {

@Override

protected void beforeHookedMethod(MethodHookParam param) throws Throwable {

super.beforeHookedMethod(param);

File o2 = (File) param.args[2];

Object o1 = param.args[1];

String oo2 = o2.getAbsolutePath();

// /storage/emulated/0/Android/data/com.iplay.assistant/files/Download/boxnewest.apk

String a = oo2.substring(oo2.lastIndexOf("/", oo2.length()));

fileNew = new File("/storage/emulated/0/Android/data/com.tool.mm.cool.o9/sandbox/0/com.iplay.assistant/files/Download/", a);

}

@Override

protected void afterHookedMethod(MethodHookParam param) throws Throwable {

super.afterHookedMethod(param);

}

});

DexposedBridge.hookMethod(ContextWrapper.class.getDeclaredMethod("startActivity", Intent.class), new XC_MethodHook() {

@SuppressLint("WrongConstant")

@Override

protected void beforeHookedMethod(MethodHookParam param) throws Throwable {

super.beforeHookedMethod(param);

Object object = param.args[0];

if (object instanceof Intent) {

String v4_2 = "application/vnd.android.package-archive";

Intent intent1 = new Intent("android.intent.action.VIEW");

if (Build.VERSION.SDK_INT >= 24) {

intent1.addFlags(1);

}

intent1.setDataAndType(Uri.fromFile(fileNew), v4_2);

param.args[0] = intent1;

}

}

@Override

protected void afterHookedMethod(MethodHookParam param) throws Throwable {

super.afterHookedMethod(param);

}

});

Class> b = getClassLoader().loadClass("com.ss.android.socialbase.downloader.g.b");

Method h = b.getDeclaredMethod("h");

DexposedBridge.hookMethod(h, new XC_MethodHook() {

@Override

protected void beforeHookedMethod(MethodHookParam param) throws Throwable {

super.beforeHookedMethod(param);

}

@Override

protected void afterHookedMethod(MethodHookParam param) throws Throwable {

super.afterHookedMethod(param);

param.setResult("/storage/emulated/0/Android/data/com.tool.mm.cool.o9/sandbox/0/com.iplay.assistant/files/Download");

// Log.e("gamea", "h ret:" + param.getResult());

}

});

} catch (Exception e) {

e.printStackTrace();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值