Advertisement
stirante

Saving

Dec 27th, 2015
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.28 KB | None | 0 0
  1. package com.stirante.quizcheat;
  2.  
  3. import android.graphics.Bitmap;
  4. import android.graphics.drawable.BitmapDrawable;
  5. import android.net.Uri;
  6. import android.widget.ImageView;
  7.  
  8. import java.io.FileInputStream;
  9. import java.lang.reflect.Field;
  10.  
  11. import de.robv.android.xposed.XC_MethodHook;
  12. import de.robv.android.xposed.XposedBridge;
  13. import de.robv.android.xposed.XposedHelpers;
  14. import de.robv.android.xposed.callbacks.XC_LoadPackage;
  15.  
  16. /**
  17.  * Created by stirante
  18.  */
  19. public class Saving {
  20.  
  21.     public static void handleLoadPackage(final XC_LoadPackage.LoadPackageParam packageParam) throws Throwable {
  22.         final Class<?> Og = XposedHelpers.findClass("Og", packageParam.classLoader);
  23.         final Class<?> Oj = XposedHelpers.findClass("Oj", packageParam.classLoader);
  24.         final Class<?> On = XposedHelpers.findClass("On", packageParam.classLoader);
  25.         final Class<?> Op = XposedHelpers.findClass("Op", packageParam.classLoader);
  26.         final Class<?> LR = XposedHelpers.findClass("LR", packageParam.classLoader);
  27.         XposedHelpers.findAndHookMethod("Sl", packageParam.classLoader, "i", new XC_MethodHook() {
  28.             @Override
  29.             protected void afterHookedMethod(MethodHookParam param) throws Throwable {
  30.                 Object snap = XposedHelpers.getObjectField(param.thisObject, "c");
  31.                 String sender;
  32.                 if (LR.isInstance(snap)) {
  33.                     sender = (String) XposedHelpers.getObjectField(snap, "mUsername");
  34.                 } else {
  35.                     sender = (String) XposedHelpers.getObjectField(snap, "mSender");
  36.                 }
  37.                 long time = XposedHelpers.getLongField(snap, "mTimestamp");
  38.                 Object renderer = XposedHelpers.getObjectField(param.thisObject, "g");
  39.                 if (Og.isInstance(renderer)) {
  40.                     ImageView h = (ImageView) XposedHelpers.getObjectField(renderer, "h");
  41.                     if (h != null && h.getDrawable() != null && h.getDrawable() instanceof BitmapDrawable) {
  42.                         XposedBridge.log("Here add saving");
  43.                         Bitmap bitmap = ((BitmapDrawable) h.getDrawable()).getBitmap();
  44.                         NotificationUtil.showMessage("Saved as " + sender + "-" + time + ".jpg", 0xFF00FF00, 1000, packageParam.classLoader);
  45.                     }
  46.                 } else if (Oj.isInstance(renderer)) {
  47.                     Object Oo = XposedHelpers.getObjectField(renderer, "b");
  48.                     if (Oo != null) {
  49.                         if (On.isInstance(Oo)) {
  50.                             Object VideoFilterView = XposedHelpers.getObjectField(Oo, "e");
  51.                             if (VideoFilterView != null) {
  52.                                 Uri uri = (Uri) XposedHelpers.getObjectField(VideoFilterView, "b");
  53.                                 if (uri != null) {
  54.                                     XposedBridge.log("Here add saving");
  55.                                     FileInputStream fis = new FileInputStream(uri.getPath());
  56.                                     NotificationUtil.showMessage("Saved as " + sender + "-" + time + ".mp4", 0xFF00FF00, 1000, packageParam.classLoader);
  57.                                 }
  58.                             }
  59.                         } else if (Op.isInstance(Oo)) {
  60.                             Object SnapVideoView = XposedHelpers.getObjectField(Oo, "c");
  61.                             if (SnapVideoView != null) {
  62.                                 Class<?> clz = XposedHelpers.findClass("com.snapchat.android.ui.TextureVideoView", packageParam.classLoader);
  63.                                 Field b = clz.getDeclaredField("b");
  64.                                 b.setAccessible(true);
  65.                                 Uri uri = (Uri) b.get(SnapVideoView);
  66.                                 if (uri != null) {
  67.                                     XposedBridge.log("Here add saving");
  68.                                     FileInputStream fis = new FileInputStream(uri.getPath());
  69.                                     NotificationUtil.showMessage("Saved as " + sender + "-" + time + ".mp4", 0xFF00FF00, 1000, packageParam.classLoader);
  70.                                 }
  71.                             }
  72.                         }
  73.                     }
  74.                 }
  75.             }
  76.         });
  77.     }
  78.  
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement