Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.stirante.quizcheat;
- import android.graphics.Bitmap;
- import android.graphics.drawable.BitmapDrawable;
- import android.net.Uri;
- import android.widget.ImageView;
- import java.io.FileInputStream;
- import java.lang.reflect.Field;
- 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;
- /**
- * Created by stirante
- */
- public class Saving {
- public static void handleLoadPackage(final XC_LoadPackage.LoadPackageParam packageParam) throws Throwable {
- final Class<?> Og = XposedHelpers.findClass("Og", packageParam.classLoader);
- final Class<?> Oj = XposedHelpers.findClass("Oj", packageParam.classLoader);
- final Class<?> On = XposedHelpers.findClass("On", packageParam.classLoader);
- final Class<?> Op = XposedHelpers.findClass("Op", packageParam.classLoader);
- final Class<?> LR = XposedHelpers.findClass("LR", packageParam.classLoader);
- XposedHelpers.findAndHookMethod("Sl", packageParam.classLoader, "i", new XC_MethodHook() {
- @Override
- protected void afterHookedMethod(MethodHookParam param) throws Throwable {
- Object snap = XposedHelpers.getObjectField(param.thisObject, "c");
- String sender;
- if (LR.isInstance(snap)) {
- sender = (String) XposedHelpers.getObjectField(snap, "mUsername");
- } else {
- sender = (String) XposedHelpers.getObjectField(snap, "mSender");
- }
- long time = XposedHelpers.getLongField(snap, "mTimestamp");
- Object renderer = XposedHelpers.getObjectField(param.thisObject, "g");
- if (Og.isInstance(renderer)) {
- ImageView h = (ImageView) XposedHelpers.getObjectField(renderer, "h");
- if (h != null && h.getDrawable() != null && h.getDrawable() instanceof BitmapDrawable) {
- XposedBridge.log("Here add saving");
- Bitmap bitmap = ((BitmapDrawable) h.getDrawable()).getBitmap();
- NotificationUtil.showMessage("Saved as " + sender + "-" + time + ".jpg", 0xFF00FF00, 1000, packageParam.classLoader);
- }
- } else if (Oj.isInstance(renderer)) {
- Object Oo = XposedHelpers.getObjectField(renderer, "b");
- if (Oo != null) {
- if (On.isInstance(Oo)) {
- Object VideoFilterView = XposedHelpers.getObjectField(Oo, "e");
- if (VideoFilterView != null) {
- Uri uri = (Uri) XposedHelpers.getObjectField(VideoFilterView, "b");
- if (uri != null) {
- XposedBridge.log("Here add saving");
- FileInputStream fis = new FileInputStream(uri.getPath());
- NotificationUtil.showMessage("Saved as " + sender + "-" + time + ".mp4", 0xFF00FF00, 1000, packageParam.classLoader);
- }
- }
- } else if (Op.isInstance(Oo)) {
- Object SnapVideoView = XposedHelpers.getObjectField(Oo, "c");
- if (SnapVideoView != null) {
- Class<?> clz = XposedHelpers.findClass("com.snapchat.android.ui.TextureVideoView", packageParam.classLoader);
- Field b = clz.getDeclaredField("b");
- b.setAccessible(true);
- Uri uri = (Uri) b.get(SnapVideoView);
- if (uri != null) {
- XposedBridge.log("Here add saving");
- FileInputStream fis = new FileInputStream(uri.getPath());
- NotificationUtil.showMessage("Saved as " + sender + "-" + time + ".mp4", 0xFF00FF00, 1000, packageParam.classLoader);
- }
- }
- }
- }
- }
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement