Code with Finding: |
/* * Decompiled with CFR 0_128. * * Could not load the following classes: * android.content.Context * android.content.SharedPreferences * android.net.Uri * com.whatsapp.App * com.whatsapp.mf * com.whatsapp.util.Log * com.whatsapp.util.ce * com.whatsapp.wt * org.apache.http.HttpEntity * org.apache.http.HttpResponse * org.apache.http.client.methods.HttpGet * org.apache.http.client.methods.HttpUriRequest * org.apache.http.impl.client.DefaultHttpClient * org.apache.http.params.BasicHttpParams * org.apache.http.params.HttpConnectionParams * org.apache.http.params.HttpParams * org.apache.http.params.HttpProtocolParams */ package com.whatsapp;
import android.content.Context; import android.content.SharedPreferences; import android.net.Uri; import com.whatsapp.App; import com.whatsapp.mf; import com.whatsapp.util.Log; import com.whatsapp.util.ce; import com.whatsapp.wt; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.zip.CRC32; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpUriRequest; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.BasicHttpParams; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; import org.apache.http.params.HttpProtocolParams;
public class jr { private static String a; private static String b; private static String c; private static String d; private static volatile boolean e; private static final String[] z;
/* * Enabled aggressive block sorting */ static { String[] arrstring = new String[28]; String string = "kg\b\u0013?}\u0019I(Sx\u0007\u000b#]k"; int n = -1; String[] arrstring2 = arrstring; int n2 = 0; block35 : do { char[] arrc = string.toCharArray(); int n3 = arrc.length; int n4 = 0; do { int n5; if (n3 <= n4) { String string2 = new String(arrc).intern(); switch (n) { default: { arrstring2[n2] = string2; string = "kg\b\u0013?}\u0019I-Ld"; n2 = 1; arrstring2 = arrstring; n = 0; continue block35; } case 0: { arrstring2[n2] = string2; string = "kg\b\u0013?}\u0019I9Lh\u001b\u0006(Y"; n2 = 2; arrstring2 = arrstring; n = 1; continue block35; } case 1: { arrstring2[n2] = string2; string = "_`\u0004I;Tn\u001d\u0014-L6\u0017>Yi\f\u0015)Rl\f\u0014"; n2 = 3; arrstring2 = arrstring; n = 2; continue block35; } case 2: { arrstring2[n2] = string2; n2 = 4; arrstring2 = arrstring; string = "Pn\u001a\u0013\u0013I\u000e\u0015-Xj6\u0004$Yl\u0002"; n = 3; continue block35; } case 3: { arrstring2[n2] = string2; n2 = 5; string = "I\u000e\u0015-XjF\u0014)R{\u0000\t)P \u000f\u0006%P"; n = 4; arrstring2 = arrstring; continue block35; } case 4: { arrstring2[n2] = string2; n2 = 6; string = "kg\b\u0013?}\u0019I9Lh\u001b\u0006(Y"; n = 5; arrstring2 = arrstring; continue block35; } case 5: { arrstring2[n2] = string2; n2 = 7; string = "kg\b\u0013?}\u0019I9Lh\u001b\u0006(Y"; n = 6; arrstring2 = arrstring; continue block35; } case 6: { arrstring2[n2] = string2; n2 = 8; string = "kg\b\u0013?}\u0019I(Sx\u0007\u000b#]k"; n = 7; arrstring2 = arrstring; continue block35; } case 7: { arrstring2[n2] = string2; n2 = 9; string = "\u0016%C\u0012<[}\b\u0003)\u0013k\u0006\u0010\"P`\b\u0003cX`\u001e\t Sn\rG/Sz\u0005\u0003\"\u001b{I\u0003)Pj\u001d\u0002lX`\u001e\t Sn\rF"; n = 8; arrstring2 = arrstring; continue block35; } case 8: { arrstring2[n2] = string2; n2 = 10; string = "\u0016%C\u0012<[}\b\u0003)\u0013k\u0006\u0010\"P`\b\u0003l_`\u001c\u000b(R(\u001dG(Yc\f\u0013)\u001ck\u0006\u0010\"P`\b\u0003m"; n = 9; arrstring2 = arrstring; continue block35; } case 9: { arrstring2[n2] = string2; n2 = 11; string = "\u0016%C\u0012<[}\b\u0003)\u0013f\u0007\u00148]c\u0005G/Sz\u0005\u0003\"\u001b{I\u0003)Pj\u001d\u0002lX`\u001e\t Sn\rF"; n = 10; arrstring2 = arrstring; continue block35; } case 10: { arrstring2[n2] = string2; n2 = 12; string = "\u0016%C\u0012<[}\b\u0003)\u0013k\u0006\u0010\"P`\b\u0003l_`\u001c\u000b(R(\u001dG>Ya\b\n)\u001ck\u0006\u0010\"P`\b\u0003m"; n = 11; arrstring2 = arrstring; continue block35; } case 11: { arrstring2[n2] = string2; n2 = 13; string = "\u0016%C\u0012<[}\b\u0003)\u0013f\u0007\u00148]c\u0005G/Sz\u0005\u0003\"\u001b{I\u0003)Pj\u001d\u0002lUa\u001a\u0013-PcH"; n = 12; arrstring2 = arrstring; continue block35; } case 12: { arrstring2[n2] = string2; n2 = 14; string = "\u0016%C\u0012<[}\b\u0003)\u0013k\u0006\u0010\"P`\b\u0003cX`\u001e\t Sn\rG/Sz\u0005\u0003\"\u001b{I\u0015)Rn\u0004\u0002lX`\u001e\t Sn\rF"; n = 13; arrstring2 = arrstring; continue block35; } case 13: { arrstring2[n2] = string2; string = "kg\b\u0013?}\u0019I-Ld"; n = 14; n2 = 15; arrstring2 = arrstring; continue block35; } case 14: { arrstring2[n2] = string2; n2 = 16; arrstring2 = arrstring; string = "I\u000e\u0015-XjF\u0003#Ka\u0005\b-X\"\u000f\u000e Y/"; n = 15; continue block35; } case 15: { arrstring2[n2] = string2; n2 = 17; string = "kg\b\u0013?}\u0019I-Ld"; n = 16; arrstring2 = arrstring; continue block35; } case 16: { arrstring2[n2] = string2; n2 = 18; string = "kg\b\u0013?}\u0019I9Lh\u001b\u0006(Y"; n = 17; arrstring2 = arrstring; continue block35; } case 17: { arrstring2[n2] = string2; n2 = 19; string = "T{\u001d\u0017?\u0006 F\u0010;K!\u001e\u000f-H|\b\u0017<\u0012l\u0006\nc]a\r\u0015#UkF\u00049N}\f\t8\u0013X\u0001\u00068ON\u0019\u0017b]\u0002"; n = 18; arrstring2 = arrstring; continue block35; } case 18: { arrstring2[n2] = string2; n2 = 20; string = "]b\u0013\tv\u0013 \b\u0017<O \b\t(N`\u0000\u0003sL2\n\b!\u0012x\u0001\u00068On\u0019\u0017"; n = 19; arrstring2 = arrstring; continue block35; } case 19: { arrstring2[n2] = string2; n2 = 21; string = "Qn\u001b\f)H5FH(Y{\b\u000e O0\u0000\u0003q_`\u0004I;Tn\u001d\u0014-L"; n = 20; arrstring2 = arrstring; continue block35; } case 20: { arrstring2[n2] = string2; n2 = 22; string = "I\u000e\u0015-XjF\u0014#I}\n\u0002l"; n = 21; arrstring2 = arrstring; continue block35; } case 21: { arrstring2[n2] = string2; n2 = 23; string = "kg\b\u0013?}\u0019I:Y}\u001a\u000e#R"; n = 22; arrstring2 = arrstring; continue block35; } case 22: { arrstring2[n2] = string2; n2 = 24; string = "kg\b\u0013?}\u0019I/W|\u001c\n"; n = 23; arrstring2 = arrstring; continue block35; } case 23: { arrstring2[n2] = string2; n2 = 25; string = "kg\b\u0013?}\u0019I-Ld"; n = 24; arrstring2 = arrstring; continue block35; } case 24: { arrstring2[n2] = string2; n2 = 26; string = "kg\b\u0013?}\u0019I$Hb\u0005"; n = 25; arrstring2 = arrstring; continue block35; } case 25: { arrstring2[n2] = string2; n2 = 27; string = "T{\u001d\u0017?\u0006 F\u0010;K!\u001e\u000f-H|\b\u0017<\u0012l\u0006\nc]a\r\u0015#UkF"; n = 26; arrstring2 = arrstring; continue block35; } case 26: } arrstring2[n2] = string2; z = arrstring; e = false; return; } char c = arrc[n4]; switch (n4 % 5) { default: { n5 = 76; break; } case 0: { n5 = 60; break; } case 1: { n5 = 15; break; } case 2: { n5 = 105; break; } case 3: { n5 = 103; } } arrc[n4] = (char)(n5 ^ c); ++n4; } while (true); break; } while (true); }
/* * Unable to fully structure code * Enabled aggressive exception aggregation */ private static long a(File var0) { var1_1 = App.U; var11_2 = new byte[4096]; var12_3 = new CRC32(); var3_4 = new FileInputStream(var0); while ((var13_5 = var3_4.read(var11_2, 0, var11_2.length)) >= 0) { var12_3.update(var11_2, 0, var13_5); if (!var1_1) continue; } var7_7 = var14_6 = var12_3.getValue(); if (var3_4 == null) ** GOTO lbl15 try { var3_4.close(); lbl15: // 3 sources: do { return var7_7; break; } while (true); } catch (IOException var16_9) { return var7_7; } catch (IOException var6_10) { var3_4 = null; lbl24: // 3 sources: Log.c((Throwable)var6_11); var7_7 = 0L; if (var3_4 == null) ** continue; try { var3_4.close(); return var7_7; } catch (IOException var9_14) { return var7_7; } } catch (Throwable var2_15) { var3_4 = null; lbl37: // 2 sources: do { if (var3_4 != null) { var3_4.close(); } lbl41: // 4 sources: do { throw var2_16; break; } while (true); catch (NumberFormatException var5_18) { try { throw var5_18; } catch (IOException var4_19) { ** continue; } } break; } while (true); } { catch (Throwable var2_17) { ** continue; } } catch (IOException var6_12) { ** GOTO lbl24 } }
public static Uri a() { boolean bl = e; if (!bl) { return null; } return Uri.parse((String)b); }
/* * Loose catch block * Enabled aggressive block sorting * Enabled unnecessary exception pruning * Enabled aggressive exception aggregation * Lifted jumps to return sites */ private static String a(String string) { String string2; int n; InputStream inputStream; boolean bl = App.U; BasicHttpParams basicHttpParams = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout((HttpParams)basicHttpParams, (int)15000); HttpConnectionParams.setSoTimeout((HttpParams)basicHttpParams, (int)30000); HttpProtocolParams.setUserAgent((HttpParams)basicHttpParams, (String)mf.a()); InputStream inputStream2 = inputStream = new DefaultHttpClient((HttpParams)basicHttpParams).execute((HttpUriRequest)new HttpGet(string)).getEntity().getContent(); StringBuilder stringBuilder = new StringBuilder(); while ((n = inputStream2.read()) >= 0) { stringBuilder.append((char)n); if (!bl) continue; } inputStream2.close(); String string3 = string2 = stringBuilder.toString(); if (inputStream2 == null) return string3; try { inputStream2.close(); return string3; } catch (IOException iOException) { return string3; } catch (IOException iOException) { block19 : { inputStream2 = null; break block19; catch (Throwable throwable) { Throwable throwable2; block20 : { inputStream2 = null; throwable2 = throwable; break block20; catch (Throwable throwable3) {} } if (inputStream2 == null) throw throwable2; try { inputStream2.close(); } catch (NumberFormatException numberFormatException) { try { throw numberFormatException; } catch (IOException iOException2) { throw throwable2; } } throw throwable2; } catch (IOException iOException3) {} } string3 = ""; if (inputStream2 == null) return string3; try { inputStream2.close(); return string3; } catch (IOException iOException4) { return string3; } } }
/* * Enabled aggressive block sorting * Enabled unnecessary exception pruning * Enabled aggressive exception aggregation */ public static void a(Context context, String string) { block7 : { block6 : { boolean bl = e; if (bl) break block6; return; } boolean bl = jr.d(); if (!bl) return; long l = 21600000L + context.getSharedPreferences(z[3], 0).getLong(z[4], 0L); long l2 = System.currentTimeMillis(); if (l <= l2) break block7; return; } ce.a((Runnable)new wt(string, context)); }
/* * Unable to fully structure code * Enabled aggressive exception aggregation */ private static void a(String var0, File var1_1) { block42 : { var2_2 = null; var3_3 = App.U; var14_4 = new byte[4096]; var15_5 = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout((HttpParams)var15_5, (int)15000); HttpConnectionParams.setSoTimeout((HttpParams)var15_5, (int)30000); HttpProtocolParams.setUserAgent((HttpParams)var15_5, (String)mf.a()); var5_7 = var16_6 = new DefaultHttpClient((HttpParams)var15_5).execute((HttpUriRequest)new HttpGet(var0)).getEntity().getContent(); var17_8 = new FileOutputStream(var1_1); while ((var18_9 = var5_7.read(var14_4, 0, var14_4.length)) >= 0) { var17_8.write(var14_4, 0, var18_9); if (!var3_3) continue; } var17_8.flush(); if (!false) break block42; try { null.close(); } catch (NumberFormatException var22_10) { try { throw var22_10; } catch (IOException var21_11) { ** continue; } } } lbl21: // 2 sources: do { if (var5_7 == null) ** GOTO lbl25 var5_7.close(); lbl25: // 3 sources: do { return; break; } while (true); break; } while (true); catch (NumberFormatException var20_12) { try { throw var20_12; } catch (IOException var19_13) { return; } } catch (IOException var10_14) { block43 : { var5_7 = null; lbl40: // 4 sources: Log.e((String)(jr.z[16] + var10_15)); if (var2_2 == null) break block43; var2_2.close(); } lbl45: // 2 sources: do { if (var5_7 == null) ** continue; try { var5_7.close(); return; } catch (IOException var11_19) { return; } break; } while (true); } catch (Throwable var4_20) { var5_7 = null; lbl57: // 3 sources: do { if (var2_2 != null) { var2_2.close(); } lbl61: // 4 sources: do { if (var5_7 != null) { var5_7.close(); } lbl65: // 4 sources: do { throw var4_21; break; } while (true); break; } while (true); catch (NumberFormatException var9_24) { try { throw var9_24; } catch (IOException var8_25) { ** continue; } } catch (NumberFormatException var7_26) { try { throw var7_26; } catch (IOException var6_27) { ** continue; } } break; } while (true); } { catch (IOException var13_28) { ** continue; } catch (Throwable var4_22) { ** GOTO lbl57 } } catch (Throwable var4_23) { var2_2 = var17_8; ** continue; } catch (IOException var10_16) { var2_2 = null; ** GOTO lbl40 } catch (IOException var10_17) { var2_2 = var17_8; ** GOTO lbl40 } }
static String b() { return jr.e(); }
/* * Enabled aggressive block sorting * Enabled unnecessary exception pruning * Enabled aggressive exception aggregation * Lifted jumps to return sites */ public static boolean b(String string) { if (string == null) { return false; } int n = string.length(); if (n < 1) return false; boolean bl = e; if (bl) { return true; } String string2 = z[27] + string.substring(-1 + string.length()) + "/"; Log.i((String)(z[22] + string2)); c = string2 + z[25]; a = string2 + z[24]; d = string2 + z[23]; b = string2 + z[26]; e = true; return true; }
/* * Loose catch block * Enabled aggressive block sorting * Enabled unnecessary exception pruning * Enabled aggressive exception aggregation * Lifted jumps to return sites */ private static void c() { File file; block27 : { File file2; long l; block24 : { block26 : { block22 : { File file3 = App.aN; file = new File(file3, z[8]); file2 = new File(file3, z[15]); new File(file3, z[7]); l = jr.i(); if (file2.exists()) { if (l == jr.a(file2)) { block21 : { boolean bl = file.exists(); if (!bl) break block21; if (file.delete()) break block21; Log.w((String)z[11]); { catch (NumberFormatException numberFormatException) { throw numberFormatException; } } } jr.k(); return; catch (NumberFormatException numberFormatException) { throw numberFormatException; } } if (file2.delete()) break block22; Log.w((String)z[13]); } } if (!file.exists()) break block24; if (l == jr.a(file)) { block23 : { if (file.renameTo(file2)) break block23; Log.w((String)z[12]); } jr.k(); return; } break block26; catch (NumberFormatException numberFormatException) { throw numberFormatException; } catch (NumberFormatException numberFormatException) { throw numberFormatException; } } if (file.delete()) break block24; Log.w((String)z[10]); } if (!jr.d()) return; jr.a(c, file); boolean bl = file.exists(); if (!bl) return; if (l == jr.a(file)) { block25 : { if (file.renameTo(file2)) break block25; Log.w((String)z[14]); } jr.k(); return; } break block27; catch (NumberFormatException numberFormatException) { throw numberFormatException; } } if (file.delete()) return; Log.w((String)z[9]); return; }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static boolean d() { int n = App.V(); if (n == 1) return true; int n2 = App.c((int)n); if ((n2 & 4) == 0) return false; return true; }
private static String e() { return jr.a(d).trim(); }
static void f() { jr.c(); }
/* * Loose catch block * Enabled aggressive block sorting * Enabled unnecessary exception pruning * Enabled aggressive exception aggregation * Lifted jumps to return sites */ public static void g() { boolean bl; block15 : { block14 : { File file2; block13 : { bl = true; file2 = App.aN; File file3 = new File(file2, z[0]); boolean bl2 = file3.exists(); if (!bl2) break block13; boolean bl3 = file3.delete(); boolean bl4 = bl3 == bl ? bl : false; { catch (NumberFormatException numberFormatException) { throw numberFormatException; } } Log.b((boolean)bl4); } File file4 = new File(file2, z[2]); boolean bl5 = file4.exists(); if (bl5) { return; } catch (NumberFormatException numberFormatException) { throw numberFormatException; } File file = new File(file2, z[bl]); boolean bl6 = file.exists(); if (!bl6) return; boolean bl7 = file.delete(); if (bl7 != bl) break block14; break block15; { catch (NumberFormatException numberFormatException) { throw numberFormatException; } } catch (NumberFormatException numberFormatException) { throw numberFormatException; } } bl = false; } Log.b((boolean)bl); }
/* * Unable to fully structure code * Enabled aggressive block sorting * Enabled unnecessary exception pruning * Enabled aggressive exception aggregation * Lifted jumps to return sites */ public static Uri h() { block7 : { n = App.a2; ** if (n != 1) goto lbl-1000 lbl-1000: // 1 sources: { if (jr.c == null) return Uri.parse((String)jr.z[19]); return Uri.parse((String)jr.c); } lbl-1000: // 1 sources: { break block7; } { catch (NumberFormatException numberFormatException) { throw numberFormatException; } } catch (NumberFormatException numberFormatException) { throw numberFormatException; } } if (App.aH() == false) return Uri.parse((String)jr.z[21]); return Uri.parse((String)jr.z[20]); }
private static long i() { String string = jr.a(a).trim(); try { long l = Long.parseLong(string); return l; } catch (NumberFormatException numberFormatException) { Log.c((String)string, (Throwable)numberFormatException); return -1L; } }
/* * Loose catch block * Enabled aggressive block sorting * Enabled unnecessary exception pruning * Enabled aggressive exception aggregation * Lifted jumps to return sites */ public static Uri j() { File file = App.aN; File file2 = new File(file, z[17]); File file3 = new File(file, z[18]); boolean bl = file3.delete(); if (!bl) return null; { catch (NumberFormatException numberFormatException) { throw numberFormatException; } } if (!file2.exists()) return null; return Uri.fromFile((File)file2); }
public static void k() { File file = new File(App.aN, z[6]); try { file.createNewFile(); return; } catch (IOException iOException) { Log.e((String)z[5]); return; } } }
|