|   
 
 服务端通知获取二维码----ea.getQrCode----ja.getQrCode 这个函数内字符串解密
 Base64解码后166666666666666666666666666666666666666666666666666666666666666666:
 Base64解码后1: bankName
 Base64解码后1: useVpn
 Base64解码后1: vpnInfo
 Base64解码后1: walletName
 Base64解码后1: matchWalletName
 Base64解码后1: walletNo
 Base64解码后1: walletNoPosition
 Base64解码后1: walletList
 Base64解码后1: walletNameList
 Base64解码后1: otherJson
 Base64解码后1: useVpn
 Base64解码后1: vpnInfo
 Base64解码后1: type
 Base64解码后1: tradeNo
 Base64解码后1: bankName
 Base64解码后1: money
 Base64解码后1: walletName
 Base64解码后1: matchWalletName
 Base64解码后1: walletNo
 Base64解码后1: walletNoPosition
 Base64解码后1: walletList
 Base64解码后1: walletNameList
 Base64解码后1: com.qpay.dcep.qrcode.rec
 Base64解码后1: 数字助手未启动,无法生成 :
 Base64解码后1: 当前数字助手未启动,无法生成网关
 Base64解码后1: useVpn
 Base64解码后1: 1
 Base64解码后1: 0
 Base64解码后1: waitVpnSuc
 Base64解码后1: none
 Base64解码后1: vpnInfo
 Base64解码后1: tradeNo
 Base64解码后1: bankName
 Base64解码后1: bankNamePy
 Base64解码后1: bankNamePy
 Base64解码后1: money
 Base64解码后1: walletNo
 Base64解码后1: walletName
 Base64解码后1: matchWalletName
 Base64解码后1: queueTime
 Base64解码后1: accountMoney
 Base64解码后1: reTryNum
 Base64解码后1: 0
 Base64解码后1: otherJson
 Base64解码后1: hiFiWaitQueueBank orderNo:
 Base64解码后1: 当前队列任务数量:
 Base64解码后166666666666666666666666666666666666666666666666666666666666666666:
 加密字符串后的函数
 public void getQrCode(int i2, int i3, String str, String str2, BigDecimal bigDecimal, String str3) {
 if (!isAccountRunning() || this.b == null) {
 return;
 }
 try {
 JSONObject object = com.alibaba.fastjson.a.parseObject(str3);
 String string = object.getString(p3.OooOOoo0oo(new byte[]{4, 89, 11, 92, 123, 87, 11, 93}, "f8e756"));
 if (string != null && !string.equals("")) {
 boolean zBooleanValue = object.getBoolean(p3.OooOOoo0oo(new byte[]{71, 68, 92, 96, 65, 87}, "279619")).booleanValue();
 JSONObject jSONObject = object.getJSONObject(p3.OooOOoo0oo(new byte[]{70, 21, 11, 124, 93, 94, 95}, "0ee538"));
 String string2 = object.getString(p3.OooOOoo0oo(new byte[]{18, 84, 10, 90, 93, 22, 43, 84, 11, 83}, "e5f68b"));
 String string3 = object.getString(p3.OooOOoo0oo(new byte[]{93, 87, 66, 84, 90, 49, 81, 90, 90, 82, 70, 40, 81, 91, 83}, "06672f"));
 String string4 = object.getString(p3.OooOOoo0oo(new byte[]{22, 3, 9, 92, 83, 69, 47, 13}, "abe061"));
 String string5 = object.getString(p3.OooOOoo0oo(new byte[]{79, 0, 8, 13, 81, 71, 118, 14, 52, 14, 71, 90, 76, 8, 11, 15}, "8ada43"));
 String string6 = object.getString(p3.OooOOoo0oo(new byte[]{70, 82, 95, 10, 0, 23, 125, 90, 64, 18}, "133fec"));
 String string7 = object.getString(p3.OooOOoo0oo(new byte[]{21, 4, 84, 95, 83, 21, 44, 4, 85, 86, 122, 8, 17, 17}, "be836a"));
 String string8 = object.getString(p3.OooOOoo0oo(new byte[]{86, 16, 81, 1, 69, 115, 74, 11, 87}, "9d9d79"));
 if (com.qpay.wallet.common.a.runDcepAutoJs) {
 Intent intent = new Intent();
 intent.putExtra(p3.OooOOoo0oo(new byte[]{19, 23, 80, 48, 66, 93}, "fd5f23"), zBooleanValue);
 intent.putExtra(p3.OooOOoo0oo(new byte[]{69, 22, 15, 122, 90, 83, 92}, "3fa345"), com.alibaba.fastjson.a.toJSONString(jSONObject));
 intent.putExtra(p3.OooOOoo0oo(new byte[]{65, 77, 19, 85}, "54c0ec"), 1);
 intent.putExtra(p3.OooOOoo0oo(new byte[]{23, 16, 82, 93, 3, 124, 12}, "cb39f2"), str);
 intent.putExtra(p3.OooOOoo0oo(new byte[]{3, 86, 90, 9, 47, 80, 12, 82}, "a74ba1"), string);
 intent.putExtra(p3.OooOOoo0oo(new byte[]{92, 91, 11, 81, 31}, "14e4f0"), bigDecimal.toString());
 intent.putExtra(p3.OooOOoo0oo(new byte[]{19, 4, 89, 91, 86, 65, 42, 4, 88, 82}, "de5735"), string2);
 intent.putExtra(p3.OooOOoo0oo(new byte[]{12, 82, 18, 84, 89, 51, 0, 95, 10, 82, 69, 42, 0, 94, 3}, "a3f71d"), string3);
 intent.putExtra(p3.OooOOoo0oo(new byte[]{20, 83, 88, 10, 6, 18, 45, 93}, "c24fcf"), string4);
 intent.putExtra(p3.OooOOoo0oo(new byte[]{19, 86, 13, 95, 87, 69, 42, 88, 49, 92, 65, 88, 16, 94, 14, 93}, "d7a321"), string5);
 intent.putExtra(p3.OooOOoo0oo(new byte[]{64, 3, 85, 84, 82, 69, 123, 11, 74, 76}, "7b9871"), string6);
 intent.putExtra(p3.OooOOoo0oo(new byte[]{65, 82, 10, 13, 86, 66, 120, 82, 11, 4, 127, 95, 69, 71}, "63fa36"), string7);
 intent.setAction(p3.OooOOoo0oo(new byte[]{90, 93, 91, 24, 67, 67, 88, 75, 24, 82, 81, 86, 73, 28, 71, 68, 81, 92, 93, 87, 24, 68, 87, 80}, "926623"));
 AppApplication.getContext().sendBroadcast(intent);
 return;
 }
 if (!this.o) {
 com.qpay.wallet.utils.e.sendAppConsoleMsg2(p3.OooOOoo0oo(new byte[]{-125, -83, -44, -44, -50, -13, -128, -78, -51, -41, -22, -17, -125, -92, -50, -44, -13, -53, -128, -78, -52, -34, -33, -24, -125, -81, -60, -41, -48, -15, -126, -84, -5, -41, -21, -12, 69, 2, 68}, "e8d1cd") + str);
 hf.showShort(p3.OooOOoo0oo(new byte[]{-45, -124, -11, -36, -19, -21, -48, -84, -42, -36, -55, -15, -45, -77, -49, -33, -19, -19, -48, -91, -52, -36, -12, -55, -45, -77, -50, -42, -40, -22, -48, -82, -58, -33, -41, -13, -47, -83, -7, -33, -20, -10, -47, -124, -9, -36, -31, -43}, "69f9df"));
 return;
 }
 long jCurrentTimeMillis = System.currentTimeMillis();
 HashMap<String, String> map = new HashMap<>();
 map.put(p3.OooOOoo0oo(new byte[]{67, 74, 83, 111, 65, 10}, "69691d"), zBooleanValue ? p3.OooOOoo0oo(new byte[]{85}, "db6310") : p3.OooOOoo0oo(new byte[]{82}, "b5c0f5"));
 map.put(p3.OooOOoo0oo(new byte[]{78, 2, 8, 68, 97, 18, 87, 48, 20, 83}, "9ca07b"), p3.OooOOoo0oo(new byte[]{93, 10, 91, 80}, "3e553c"));
 map.put(p3.OooOOoo0oo(new byte[]{23, 17, 8, 44, 8, 84, 14}, "aafef2"), com.alibaba.fastjson.a.toJSONString(jSONObject));
 map.put(p3.OooOOoo0oo(new byte[]{17, 68, 80, 2, 86, 42, 10}, "e61f3d"), str);
 map.put(p3.OooOOoo0oo(new byte[]{1, 80, 11, 15, 120, 5, 14, 84}, "c1ed6d"), string);
 map.put(p3.OooOOoo0oo(new byte[]{85, 0, 89, 95, 124, 2, 90, 4, 103, 77}, "7a742c"), object.getString(p3.OooOOoo0oo(new byte[]{90, 87, 86, 14, 44, 0, 85, 83, 104, 28}, "868eba")));
 map.put(p3.OooOOoo0oo(new byte[]{91, 94, 10, 84, 73}, "61d108"), bigDecimal.toString());
 map.put(p3.OooOOoo0oo(new byte[]{68, 2, 85, 89, 80, 70, 125, 12}, "3c9552"), string4);
 map.put(p3.OooOOoo0oo(new byte[]{65, 7, 92, 84, 7, 16, 120, 7, 93, 93}, "6f08bd"), string2);
 map.put(p3.OooOOoo0oo(new byte[]{85, 0, 68, 1, 88, 97, 89, 13, 92, 7, 68, 120, 89, 12, 85}, "8a0b06"), string3);
 map.put(p3.OooOOoo0oo(new byte[]{68, 19, 82, 64, 84, 99, 92, 11, 82}, "5f7517"), jCurrentTimeMillis + "");
 map.put(p3.OooOOoo0oo(new byte[]{85, 85, 80, 14, 66, 90, 64, 123, 92, 15, 82, 77}, "463a74"), "");
 map.put(p3.OooOOoo0oo(new byte[]{20, 93, 48, 65, 72, 123, 19, 85}, "f8d315"), p3.OooOOoo0oo(new byte[]{86}, "f9a40e"));
 map.put(p3.OooOOoo0oo(new byte[]{87, 17, 95, 0, 64, 43, 75, 10, 89}, "8e7e2a"), string8);
 String str4 = i;
 com.qpay.wallet.utils.i.d(str4, p3.OooOOoo0oo(new byte[]{92, 93, 34, 91, 54, 2, 93, 64, 53, 71, 4, 22, 81, 118, 5, 92, 10, 67, 91, 70, 0, 87, 19, 45, 91, 14}, "44d2ac") + str);
 this.p.push(map);
 com.qpay.wallet.utils.e.sendAppConsoleMsg2(p3.OooOOoo0oo(new byte[]{-35, -119, -93, -43, -20, -23, -47, -84, -81, -43, -19, -13, -36, -113, -117, -43, -17, -59, -34, -95, -128, -39, -30, -21, 2}, "8400ed") + this.p.size());
 com.qpay.wallet.utils.i.d(str4, p3.OooOOoo0oo(new byte[]{-35, -36, -85, -45, -69, -17, -47, -7, -89, -45, -70, -11, -35, -42, -118, -48, -82, -21, -36, -38, -125, -45, -72, -61, -34, -12, -120, -33, -75, -19, 2}, "8a862b") + this.p.size());
 checkQueueOrder();
 }
 } catch (Exception e2) {
 e2.printStackTrace();
 }
 }
 解密函数
 public static String OooOOoo0oo(byte[] bArr, String str) {
 int length = bArr.length;
 int length2 = str.length();
 for (int i = 0; i < length; i++) {
 bArr = (byte) (bArr ^ str.charAt(i % length2));
 }
 return new String(bArr);
 }
 解密字符串后的完整函数
 public void getQrCode(int i2, int i3, String str, String str2, BigDecimal bigDecimal, String str3) {
 if (!isAccountRunning() || this.b == null) {
 return;
 }
 try {
 JSONObject object = com.alibaba.fastjson.a.parseObject(str3);
 String string = object.getString("bankName");
 if (string != null && !string.equals("")) {
 boolean zBooleanValue = object.getBoolean("useVpn").booleanValue();
 JSONObject jSONObject = object.getJSONObject("vpnInfo");
 String string2 = object.getString("walletName");
 String string3 = object.getString("matchWalletName");
 String string4 = object.getString("walletNo");
 String string5 = object.getString("walletNoPosition");
 String string6 = object.getString("walletList");
 String string7 = object.getString("walletNameList");
 String string8 = object.getString("otherJson");
 if (com.qpay.wallet.common.a.runDcepAutoJs) {
 Intent intent = new Intent();
 intent.putExtra("useVpn", zBooleanValue);
 intent.putExtra("vpnInfo", com.alibaba.fastjson.a.toJSONString(jSONObject));
 intent.putExtra("type", 1);
 intent.putExtra("tradeNo", str);
 intent.putExtra("bankName", string);
 intent.putExtra("money", bigDecimal.toString());
 intent.putExtra("walletName", string2);
 intent.putExtra("matchWalletName", string3);
 intent.putExtra("walletNo", string4);
 intent.putExtra("walletNoPosition", string5);
 intent.putExtra("walletList", string6);
 intent.putExtra("walletNameList", string7);
 intent.setAction("com.qpay.dcep.qrcode.rec");
 AppApplication.getContext().sendBroadcast(intent);
 return;
 }
 if (!this.o) {
 com.qpay.wallet.utils.e.sendAppConsoleMsg2("数字助手未启动,无法生成 : " + str);
 hf.showShort("当前数字助手未启动,无法生成网关");
 return;
 }
 long jCurrentTimeMillis = System.currentTimeMillis();
 HashMap<String, String> map = new HashMap<>();
 map.put("useVpn", zBooleanValue ? "1" : "0");
 map.put("waitVpnSuc", "none");
 map.put("vpnInfo", com.alibaba.fastjson.a.toJSONString(jSONObject));
 map.put("tradeNo", str);
 map.put("bankName", string);
 map.put("bankNamePy", object.getString("bankNamePy"));
 map.put("money", bigDecimal.toString());
 map.put("walletNo", string4);
 map.put("walletName", string2);
 map.put("matchWalletName", string3);
 map.put("queueTime", jCurrentTimeMillis + "");
 map.put("accountMoney", "");
 map.put("reTryNum", "0");
 map.put("otherJson", string8);
 String str4 = i;
 com.qpay.wallet.utils.i.d(str4, "hiFiWaitQueueBank orderNo:" + str);
 this.p.push(map);
 com.qpay.wallet.utils.e.sendAppConsoleMsg2("当前队列任务数量:" + this.p.size());
 com.qpay.wallet.utils.i.d(str4, "当前队列任务数量:" + this.p.size());
 checkQueueOrder();
 }
 } catch (Exception e2) {
 e2.printStackTrace();
 }
 }
 idea内运行独立抽出来后可解密字符串的函数
 package org.example;
 import java.nio.charset.StandardCharsets;
 public class Main {
 public static void main(String[] args) {
 //
 //        String aa=OooOOoo0oo(new byte[]{-43, -84, -17, -48, -18, -61, -44, -101, -51, -36, -28, -8, -44, -81, -57, -35, -22, -43, -42, -65, -12, -47, -34, -18, -44, -117, -42, -46, -60, -29, -36, -116, -8, 65, 22, 3, 87, 85, 44, 90, 89}, "30b5db")+OooOOoo0oo(new byte[]{69, 73, 16, 92, 8, 3, 23, 14, 95}, "eeb9eb") + OooOOoo0oo(new byte[]{25, 74, 88, 13, 13, 3, 64, 91}, "9f5bcf") + OooOOoo0oo(new byte[]{66, 79, 22, 28, 70, 83, 95}, "bcbe66");
 //        System.out.println("Base64解码后1: " + aa);
 //        String bb=OooOOoo0oo(new byte[]{7, 6, 87, 91, 66, 13, 18, 49, 77, 68, 82, 67, 91, 69}, "fe447c");
 //
 //        System.out.println("Base64解码后2: " + bb);
 //        String cc=OooOOoo0oo(new byte[]{4, 64, 21, 122, 92, 2, 14, 24, 92, 19}, "a8a32d");
 //        System.out.println("Base64解码后3: " + cc);
 //
 //        String qq= OooOOoo0oo(new byte[]{44, 94, 85, 90, 101, 15, 4, 70, 117, 90, 87, 3, 13, 17, 95, 80, 71, 55, 19, 114, 87, 81, 86}, "a1853f");
 //        System.out.println("Base64解码后3: " + qq);
 //        String  b=  OooOOoo0oo(new byte[]{18, 17, 3, 0, 7, 120, 9}, "fcbdb6");
 //        System.out.println("Base64解码后3: " + b);
 //        String  l= OooOOoo0oo(new byte[]{14, 64, 85, 4, 19, 120, 5}, "a21aa1");
 //        System.out.println("Base64解码后3: " + l);
 //        String i=  OooOOoo0oo(new byte[]{9, 87, 12, 6, 28}, "d8bced");
 //        System.out.println("Base64解码后3: " + i);
 //        String y=  OooOOoo0oo(new byte[]{125, 107, 107, 126, 96, 20, 5, 25}, "899124");
 //        System.out.println("Base64解码后3: " + y);
 System.out.println("Base64解码后166666666666666666666666666666666666666666666666666666666666666666: " );
 String string11 = OooOOoo0oo(new byte[]{4, 89, 11, 92, 123, 87, 11, 93}, "f8e756");
 System.out.println("Base64解码后1: " + string11);
 String string111 =   OooOOoo0oo(new byte[]{71, 68, 92, 96, 65, 87}, "279619");
 System.out.println("Base64解码后1: " + string111);
 String string1111 =   OooOOoo0oo(new byte[]{70, 21, 11, 124, 93, 94, 95}, "0ee538");
 System.out.println("Base64解码后1: " + string1111);
 String string2 = OooOOoo0oo(new byte[]{18, 84, 10, 90, 93, 22, 43, 84, 11, 83}, "e5f68b");
 System.out.println("Base64解码后1: " + string2);
 String string3 = OooOOoo0oo(new byte[]{93, 87, 66, 84, 90, 49, 81, 90, 90, 82, 70, 40, 81, 91, 83}, "06672f");
 System.out.println("Base64解码后1: " + string3);
 String string4 = OooOOoo0oo(new byte[]{22, 3, 9, 92, 83, 69, 47, 13}, "abe061");
 System.out.println("Base64解码后1: " + string4);
 String string5 = OooOOoo0oo(new byte[]{79, 0, 8, 13, 81, 71, 118, 14, 52, 14, 71, 90, 76, 8, 11, 15}, "8ada43");
 System.out.println("Base64解码后1: " + string5);
 String string6 = OooOOoo0oo(new byte[]{70, 82, 95, 10, 0, 23, 125, 90, 64, 18}, "133fec");
 System.out.println("Base64解码后1: " + string6);
 String string7 = OooOOoo0oo(new byte[]{21, 4, 84, 95, 83, 21, 44, 4, 85, 86, 122, 8, 17, 17}, "be836a");
 System.out.println("Base64解码后1: " + string7);
 String string8 =OooOOoo0oo(new byte[]{86, 16, 81, 1, 69, 115, 74, 11, 87}, "9d9d79");
 System.out.println("Base64解码后1: " + string8);
 String string22 =     OooOOoo0oo(new byte[]{19, 23, 80, 48, 66, 93}, "fd5f23");
 System.out.println("Base64解码后1: " + string22);
 String string2222 =      OooOOoo0oo(new byte[]{69, 22, 15, 122, 90, 83, 92}, "3fa345");
 System.out.println("Base64解码后1: " + string2222);
 String string =       OooOOoo0oo(new byte[]{65, 77, 19, 85}, "54c0ec");
 System.out.println("Base64解码后1: " + string);
 String string333 =      OooOOoo0oo(new byte[]{23, 16, 82, 93, 3, 124, 12}, "cb39f2");
 System.out.println("Base64解码后1: " + string333);
 String string33333 =     OooOOoo0oo(new byte[]{3, 86, 90, 9, 47, 80, 12, 82}, "a74ba1");
 System.out.println("Base64解码后1: " + string33333);
 String string32 =     OooOOoo0oo(new byte[]{92, 91, 11, 81, 31}, "14e4f0");
 System.out.println("Base64解码后1: " + string32);
 String string23 =     OooOOoo0oo(new byte[]{19, 4, 89, 91, 86, 65, 42, 4, 88, 82}, "de5735");
 System.out.println("Base64解码后1: " + string23);
 String string123 =     OooOOoo0oo(new byte[]{12, 82, 18, 84, 89, 51, 0, 95, 10, 82, 69, 42, 0, 94, 3}, "a3f71d");
 System.out.println("Base64解码后1: " + string123);
 String string13 =      OooOOoo0oo(new byte[]{20, 83, 88, 10, 6, 18, 45, 93}, "c24fcf");
 System.out.println("Base64解码后1: " + string13);
 String string15 =      OooOOoo0oo(new byte[]{19, 86, 13, 95, 87, 69, 42, 88, 49, 92, 65, 88, 16, 94, 14, 93}, "d7a321");
 System.out.println("Base64解码后1: " + string15);
 String string17 =     OooOOoo0oo(new byte[]{64, 3, 85, 84, 82, 69, 123, 11, 74, 76}, "7b9871");
 System.out.println("Base64解码后1: " + string17);
 String string156 =     OooOOoo0oo(new byte[]{65, 82, 10, 13, 86, 66, 120, 82, 11, 4, 127, 95, 69, 71}, "63fa36");
 System.out.println("Base64解码后1: " + string156);
 String string18 =      OooOOoo0oo(new byte[]{90, 93, 91, 24, 67, 67, 88, 75, 24, 82, 81, 86, 73, 28, 71, 68, 81, 92, 93, 87, 24, 68, 87, 80}, "926623");
 System.out.println("Base64解码后1: " + string18);
 String string9 =   OooOOoo0oo(new byte[]{-125, -83, -44, -44, -50, -13, -128, -78, -51, -41, -22, -17, -125, -92, -50, -44, -13, -53, -128, -78, -52, -34, -33, -24, -125, -81, -60, -41, -48, -15, -126, -84, -5, -41, -21, -12, 69, 2, 68}, "e8d1cd");
 System.out.println("Base64解码后1: " + string9);
 String string99=   OooOOoo0oo(new byte[]{-45, -124, -11, -36, -19, -21, -48, -84, -42, -36, -55, -15, -45, -77, -49, -33, -19, -19, -48, -91, -52, -36, -12, -55, -45, -77, -50, -42, -40, -22, -48, -82, -58, -33, -41, -13, -47, -83, -7, -33, -20, -10, -47, -124, -9, -36, -31, -43}, "69f9df");
 System.out.println("Base64解码后1: " + string99);
 String string98 =   OooOOoo0oo(new byte[]{67, 74, 83, 111, 65, 10}, "69691d");
 System.out.println("Base64解码后1: " + string98);
 String string87 =   OooOOoo0oo(new byte[]{85}, "db6310");
 System.out.println("Base64解码后1: " + string87);
 String string67 =   OooOOoo0oo(new byte[]{82}, "b5c0f5");
 System.out.println("Base64解码后1: " + string67);
 String string65 =     OooOOoo0oo(new byte[]{78, 2, 8, 68, 97, 18, 87, 48, 20, 83}, "9ca07b");
 System.out.println("Base64解码后1: " + string65);
 String string56 =    OooOOoo0oo(new byte[]{93, 10, 91, 80}, "3e553c");
 System.out.println("Base64解码后1: " + string56);
 String string57 =    OooOOoo0oo(new byte[]{23, 17, 8, 44, 8, 84, 14}, "aafef2");
 System.out.println("Base64解码后1: " + string57);
 String string871 =    OooOOoo0oo(new byte[]{17, 68, 80, 2, 86, 42, 10}, "e61f3d");
 System.out.println("Base64解码后1: " + string871);
 String string872 =    OooOOoo0oo(new byte[]{1, 80, 11, 15, 120, 5, 14, 84}, "c1ed6d");
 System.out.println("Base64解码后1: " + string872);
 String string78 =    OooOOoo0oo(new byte[]{85, 0, 89, 95, 124, 2, 90, 4, 103, 77}, "7a742c");
 System.out.println("Base64解码后1: " + string78);
 String string556 =    OooOOoo0oo(new byte[]{90, 87, 86, 14, 44, 0, 85, 83, 104, 28}, "868eba");
 System.out.println("Base64解码后1: " + string556);
 String string787 =    OooOOoo0oo(new byte[]{91, 94, 10, 84, 73}, "61d108");
 System.out.println("Base64解码后1: " + string787);
 String string8987 =    OooOOoo0oo(new byte[]{68, 2, 85, 89, 80, 70, 125, 12}, "3c9552");
 System.out.println("Base64解码后1: " + string8987);
 String string67688 =    OooOOoo0oo(new byte[]{65, 7, 92, 84, 7, 16, 120, 7, 93, 93}, "6f08bd");
 System.out.println("Base64解码后1: " + string67688);
 String string667 =   OooOOoo0oo(new byte[]{85, 0, 68, 1, 88, 97, 89, 13, 92, 7, 68, 120, 89, 12, 85}, "8a0b06");
 System.out.println("Base64解码后1: " + string667);
 String string557 =    OooOOoo0oo(new byte[]{68, 19, 82, 64, 84, 99, 92, 11, 82}, "5f7517");
 System.out.println("Base64解码后1: " + string557);
 String string5567 =   OooOOoo0oo(new byte[]{85, 85, 80, 14, 66, 90, 64, 123, 92, 15, 82, 77}, "463a74");
 System.out.println("Base64解码后1: " + string5567);
 String string9878 =    OooOOoo0oo(new byte[]{20, 93, 48, 65, 72, 123, 19, 85}, "f8d315");
 System.out.println("Base64解码后1: " + string9878);
 String string987899 =  OooOOoo0oo(new byte[]{86}, "f9a40e");
 System.out.println("Base64解码后1: " + string987899);
 String string098 =   OooOOoo0oo(new byte[]{87, 17, 95, 0, 64, 43, 75, 10, 89}, "8e7e2a");
 System.out.println("Base64解码后1: " + string098);
 String string655 =   OooOOoo0oo(new byte[]{92, 93, 34, 91, 54, 2, 93, 64, 53, 71, 4, 22, 81, 118, 5, 92, 10, 67, 91, 70, 0, 87, 19, 45, 91, 14}, "44d2ac");
 System.out.println("Base64解码后1: " + string655);
 String string88776 =   OooOOoo0oo(new byte[]{-35, -119, -93, -43, -20, -23, -47, -84, -81, -43, -19, -13, -36, -113, -117, -43, -17, -59, -34, -95, -128, -39, -30, -21, 2}, "8400ed");
 System.out.println("Base64解码后1: " + string88776);
 String string55444 =   OooOOoo0oo(new byte[]{-35, -36, -85, -45, -69, -17, -47, -7, -89, -45, -70, -11, -35, -42, -118, -48, -82, -21, -36, -38, -125, -45, -72, -61, -34, -12, -120, -33, -75, -19, 2}, "8a862b");
 System.out.println("Base64解码后166666666666666666666666666666666666666666666666666666666666666666: " );
 System.out.println("Base64解码后12222222222222222222: " + OooOOoo0oo(new byte[]{16, 31, 65, 64, 80, 8}, "cf245e"));
 //            // 示例字节数组
 //        byte[] byteArray =new byte[]{68, 14, 57, 4, 2, 15, 91, 62, 7, 5, 0, 14, 69, 15, 18, 47, 7};
 //
 //        // 方法1: 使用String构造函数(推荐,指定编码)
 //
 //        System.out.println("Base64解码后: " + OooOOoo0oo(byteArray,"0affca"));
 //        String string5544466 =  OooOOoo0oo(new byte[]{7, 5, 5}, "65584f");
 //        System.out.println("Base64解码后1: " + string5544466);
 //        String string55444661 =    OooOOoo0oo(new byte[]{14, 68, 86, 90, 57, 76, 24, 68, 86}, "a434f8");
 //        System.out.println("Base64解码后1: " + string55444661);
 //        String string5544477 =   OooOOoo0oo(new byte[]{86, 67, 86, 91, 57, 77, 64, 67, 86}, "9335f9");
 //        System.out.println("Base64解码后1: " + string5544477);
 //        String string554448 =     OooOOoo0oo(new byte[]{68, 14, 57, 4, 2, 15, 91, 62, 7, 5, 0, 14, 69, 15, 18, 47, 7}, "0affca");
 //        System.out.println("Base64解码后1: " + string554448);
 //        String string554449 =      OooOOoo0oo(new byte[]{17, 92, 106, 82, 88, 15, 14, 108, 84, 83, 90, 14, 16, 93, 65, 121, 93}, "e3509a");
 //        System.out.println("Base64解码后1: " + string554449);
 //        String string554440 =  OooOOoo0oo(new byte[]{69, 17, 83, 105, 2, 90, 83, 4}, "7a06a5");
 //        System.out.println("Base64解码后1: " + string554440);
 //        String string55444777 =  OooOOoo0oo(new byte[]{65, 67, 2, 106, 83, 4, 71, 82}, "33a57e");
 //        System.out.println("Base64解码后1: " + string55444777);
 //
 //        String string5544477777 =     OooOOoo0oo(new byte[]{87, 66, 83, 7, 23, 105, 81, 84}, "807be6");
 //        System.out.println("Base64解码后1: " + string5544477777);
 //        String string55444090 =  OooOOoo0oo(new byte[]{87, 9, 86, 87}, "4f2207");
 //        System.out.println("Base64解码后1: " + string55444090);
 //        String string55444778 =  OooOOoo0oo(new byte[]{2, 14, 92, 81, 108, 16, 24, 17, 93}, "aa843d");
 //        String ere=OooOOoo0oo(new byte[]{-35, -119, -93, -43, -20, -23, -47, -84, -81, -43, -19, -13, -36, -113, -117, -43, -17, -59, -34, -95, -128, -39, -30, -21, 2}, "8400ed");
 //        System.out.println("Base64解码后1: 1111111111111111111" + ere);
 }
 public static String OooOOoo0oo(byte[] bArr, String str) {
 int length = bArr.length;
 int length2 = str.length();
 for (int i = 0; i < length; i++) {
 bArr = (byte) (bArr ^ str.charAt(i % length2));
 }
 return new String(bArr);
 }
 }
 该ja.getQrCode分析
 这个函数的核心逻辑围绕 “二维码生成相关的参数处理与任务分发” 展开,其中关键函数及核心作用分析如下:
 isAccountRunning() —— 前置校验核心
 作用:判断当前账户是否处于运行状态,是整个函数执行的 “开关”。
 关键原因:若账户未运行(返回false),函数直接返回,后续所有逻辑(参数解析、广播发送、队列处理等)均不执行。它是保障函数仅在合法状态下运行的基础。
 com.alibaba.fastjson.a.parseObject(str3) —— 数据解析核心
 作用:将入参str3(JSON 格式字符串)解析为JSONObject对象,提取所有业务参数(如bankName、useVpn、walletName等)。
 关键原因:后续所有业务逻辑(如判断银行名称是否有效、获取 VPN 状态、钱包信息等)都依赖于这次解析的结果。如果解析失败(如str3格式错误),会直接进入catch块,中断流程。
 AppApplication.getContext().sendBroadcast(intent) —— 实时任务分发核心
 作用:当runDcepAutoJs为true时,通过广播将解析后的参数(银行名称、金额、钱包信息等)发送到指定组件(action为com.qpay.dcep.qrcode.rec)。
 关键原因:这是函数的 “实时处理分支”,直接触发外部组件对二维码生成的响应,是核心业务逻辑的直接执行者之一。
 this.p.push(map) —— 队列任务管理核心
 作用:当不满足实时处理条件(runDcepAutoJs为false且this.o为true)时,将参数封装为HashMap并加入队列this.p。
 关键原因:这是函数的 “队列处理分支”,负责将任务暂存并等待后续处理(配合checkQueueOrder()检查队列顺序),是异步任务调度的核心操作。
 checkQueueOrder() —— 队列调度核心
 作用:在任务加入队列后调用,推测用于检查队列中任务的顺序、优先级或触发后续处理(如执行队列中的任务)。
 关键原因:它是队列任务从 “暂存” 到 “执行” 的衔接点,确保队列中的二维码生成任务按预期流程处理。
 总结:最关键的函数
 com.alibaba.fastjson.a.parseObject(str3) 是整个函数的 “数据源头”,所有业务参数均来自于此,没有它后续逻辑无从谈起。
 AppApplication.getContext().sendBroadcast(intent) 和 this.p.push(map) 是分支逻辑的核心执行者,分别对应 “实时处理” 和 “队列处理” 两种核心业务场景。
 这三个函数共同决定了函数的核心功能:解析参数并根据条件分发二维码生成任务。
 
 
 |