Advertisement
stirante

Untitled

Feb 5th, 2016
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.13 KB | None | 0 0
  1.  
  2.         XposedHelpers.findAndHookMethod("com.snapchat.android.LandingPageActivity", packageParam.classLoader, "onCreate", Bundle.class, new XC_MethodHook() {
  3.             @Override
  4.             protected void afterHookedMethod(final MethodHookParam param) throws Throwable {
  5.                 XposedBridge.log("Adding video sharing!");
  6.                 Activity a = (Activity) param.thisObject;
  7.                 if (a.getIntent().getAction().equalsIgnoreCase("android.intent.action.SEND") && a.getIntent().getType().startsWith("video/")) {
  8.                     Uri mediaUri = a.getIntent().getParcelableExtra(Intent.EXTRA_STREAM);
  9. //                    video = mediaUri;
  10.                     Object builder = XposedHelpers.newInstance(packageParam.classLoader.loadClass("Mf$a"));
  11.                     Object cache = XposedHelpers.callStaticMethod(packageParam.classLoader.loadClass("VD"), "a");
  12.                     File f = (File) XposedHelpers.callMethod(cache, "b");
  13.                     FileOutputStream fos = new FileOutputStream(f);
  14.                     XposedBridge.log("Writing to " + f.getAbsolutePath());
  15.                     InputStream fis = ctx.getContentResolver().openInputStream(mediaUri);
  16.                     byte[] buffer = new byte[2048];
  17.                     if (fis != null) {
  18.                         int i;
  19.                         while ((i = fis.read(buffer)) > 0) {
  20.                             fos.write(buffer, 0, i);
  21.                         }
  22.                         fis.close();
  23.                         fos.close();
  24.                         mediaUri = Uri.fromFile(f);
  25.                     }
  26.                     else {
  27.                         XposedBridge.log("Can't find video! Aborting sharing");
  28.                     }
  29.                     XposedHelpers.setObjectField(builder, "mVideoSnapPreviewCacheWrapper", cache);
  30.                     XposedHelpers.setObjectField(builder, "mSnapOrientation", XposedHelpers.getStaticObjectField(packageParam.classLoader.loadClass("afR"), "PORTRAIT"));
  31.                     XposedHelpers.setObjectField(builder, "mSnapTrophyMetrics", XposedHelpers.newInstance(packageParam.classLoader.loadClass("PJ")));
  32.                     Object snapType = XposedHelpers.getStaticObjectField(packageParam.classLoader.loadClass("com.snapchat.android.model.Mediabryo$SnapType"), "SNAP");
  33.                     XposedHelpers.callMethod(builder, "a", mediaUri);
  34.                     XposedHelpers.callMethod(builder, "a", snapType);
  35.                     final Object snap = XposedHelpers.callMethod(builder, "c");
  36.                     final Object captureContext = XposedHelpers.getStaticObjectField(packageParam.classLoader.loadClass("com.snapchat.android.util.eventbus.SnapCaptureContext"), "CAMERA");
  37.                     Object user = XposedHelpers.callStaticMethod(packageParam.classLoader.loadClass("LZ"), "a");
  38.                     if (user == null) {
  39.                         Runnable r = new Runnable() {
  40.                             @Override
  41.                             public void run() {
  42.                                 try {
  43.                                     XposedHelpers.setObjectField(param.thisObject, "mUser", XposedHelpers.callStaticMethod(packageParam.classLoader.loadClass("LZ"), "a", param.thisObject));
  44.                                     Object Ue = XposedHelpers.newInstance(packageParam.classLoader.loadClass("Zs"), snap, captureContext);
  45.                                     XposedHelpers.callMethod(XposedHelpers.callStaticMethod(packageParam.classLoader.loadClass("Xy"), "a"), "a", Ue);
  46.                                 } catch (ClassNotFoundException e) {
  47.                                     e.printStackTrace();
  48.                                 }
  49.                             }
  50.                         };
  51.                         XposedHelpers.callStaticMethod(packageParam.classLoader.loadClass("abe"), "b", r);
  52.                         return;
  53.                     }
  54.                     Object Ue = XposedHelpers.newInstance(packageParam.classLoader.loadClass("Zs"), snap, captureContext);
  55.                     XposedHelpers.callMethod(param.thisObject, "onSnapCapturedEvent", Ue);
  56.                 }
  57.             }
  58.         });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement