From d9a7b69546114ad9af6c65afedbb8d1648e42625 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Sun, 2 Feb 2020 14:19:55 +0100 Subject: [PATCH] Only skip encryption/decryption for JSON and the dummy key Resolves: https://github.com/cweiske/xposed-ouya-plain-purchases/issues/2 --- .../ouya/plainpurchases/PlainPurchases.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/xposed-ouya-plain-purchases/src/main/java/de/cweiske/ouya/plainpurchases/PlainPurchases.java b/xposed-ouya-plain-purchases/src/main/java/de/cweiske/ouya/plainpurchases/PlainPurchases.java index 324f882..6c453eb 100644 --- a/xposed-ouya-plain-purchases/src/main/java/de/cweiske/ouya/plainpurchases/PlainPurchases.java +++ b/xposed-ouya-plain-purchases/src/main/java/de/cweiske/ouya/plainpurchases/PlainPurchases.java @@ -31,9 +31,19 @@ public class PlainPurchases implements IXposedHookLoadPackage byte[] input = (byte[]) param.args[0]; //XposedBridge.log("input: " + new String(input)); - //XposedBridge.log("returning unencrypted input"); //XposedBridge.log(new Exception("doFinal stack trace")); - param.setResult(input); + + boolean isJson = input.length > 0 + && input[0] == 123// "{" + && input[input.length - 1] == 125;// "}" + boolean isDummyKey = input.length == 16 + && (new String(input)).equals("0123456789abcdef"); + + //only prevent some data from being encrypted/decrypted + if (isJson || isDummyKey) { + //XposedBridge.log("returning unencrypted input"); + param.setResult(input); + } } }); } -- 2.30.2