Picsart v24.6版本的 MD5 值为:21a61631d94e54da68d2ad9268b8b9d9
以下内容为反编译后的 c.java 源代码,内容仅作参考
package myobfuscated.iv;
import com.koushikdutta.async.AsyncSSLException;
import com.koushikdutta.async.AsyncServer;
import com.koushikdutta.async.util.ArrayDeque;
import java.nio.ByteBuffer;
import java.security.cert.X509Certificate;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLEngine;
import javax.net.ssl.SSLEngineResult;
import javax.net.ssl.SSLException;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import myobfuscated.ov.b;
import org.apache.http.conn.ssl.AbstractVerifier;
import org.apache.http.conn.ssl.StrictHostnameVerifier;
public final class c implements h, l, myobfuscated.iv.b {
public final h a;
public final i b;
public boolean c;
public final SSLEngine d;
public boolean e;
public final String f;
public boolean g;
public final HostnameVerifier h;
public e i;
public X509Certificate[] j;
public myobfuscated.jv.d k;
public myobfuscated.jv.b l;
public final boolean m;
public boolean n;
public Exception o;
public final j p = new j();
public final C1187c q;
public final j r;
public myobfuscated.jv.a s;
public static class a implements X509TrustManager {
@Override
public final void checkClientTrusted(X509Certificate[] x509CertificateArr, String str) {
}
@Override
public final void checkServerTrusted(X509Certificate[] x509CertificateArr, String str) {
for (X509Certificate x509Certificate : x509CertificateArr) {
if (x509Certificate != null && x509Certificate.getCriticalExtensionOIDs() != null) {
x509Certificate.getCriticalExtensionOIDs().remove("2.5.29.15");
}
}
}
@Override
public final X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}
}
public static class b implements X509TrustManager {
@Override
public final void checkClientTrusted(X509Certificate[] x509CertificateArr, String str) {
}
@Override
public final void checkServerTrusted(X509Certificate[] x509CertificateArr, String str) {
}
@Override
public final X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}
}
public class C1187c implements myobfuscated.jv.b {
public final myobfuscated.rv.a a;
public final j b;
public C1187c() {
myobfuscated.rv.a aVar = new myobfuscated.rv.a();
aVar.c = Math.max(0, 8192);
this.a = aVar;
this.b = new j();
}
@Override
public final void b(l lVar, j jVar) {
ByteBuffer m;
ByteBuffer m2;
myobfuscated.rv.a aVar = this.a;
j jVar2 = this.b;
c cVar = c.this;
boolean z = cVar.c;
j jVar3 = cVar.p;
if (z) {
return;
}
try {
try {
cVar.c = true;
jVar.c(jVar2);
if (jVar2.g()) {
int i = jVar2.c;
if (i == 0) {
m2 = j.j;
} else {
jVar2.j(i);
m2 = jVar2.m();
}
jVar2.a(m2);
}
ByteBuffer byteBuffer = j.j;
while (true) {
if (byteBuffer.remaining() == 0 && jVar2.a.size() > 0) {
byteBuffer = jVar2.m();
}
int remaining = byteBuffer.remaining();
int i2 = jVar3.c;
ByteBuffer h = j.h(Math.min(Math.max(aVar.b, aVar.c), aVar.a));
SSLEngineResult unwrap = cVar.d.unwrap(byteBuffer, h);
h.flip();
if (h.hasRemaining()) {
jVar3.a(h);
} else {
j.k(h);
}
aVar.b = (jVar3.c - i2) * 2;
if (unwrap.getStatus() != SSLEngineResult.Status.BUFFER_OVERFLOW) {
if (unwrap.getStatus() == SSLEngineResult.Status.BUFFER_UNDERFLOW) {
jVar2.b(byteBuffer);
if (jVar2.a.size() <= 1) {
break;
}
int i3 = jVar2.c;
if (i3 == 0) {
m = j.j;
} else {
jVar2.j(i3);
m = jVar2.m();
}
jVar2.b(m);
byteBuffer = j.j;
}
cVar.f(unwrap.getHandshakeStatus());
if (byteBuffer.remaining() != remaining && i2 == jVar3.c) {
jVar2.b(byteBuffer);
break;
}
} else {
aVar.c = Math.max(0, aVar.c * 2);
}
remaining = -1;
cVar.f(unwrap.getHandshakeStatus());
if (byteBuffer.remaining() != remaining) {
}
}
cVar.j();
} catch (SSLException e) {
cVar.o(e);
}
cVar.c = false;
} catch (Throwable th) {
cVar.c = false;
throw th;
}
}
}
public class d implements Runnable {
public d() {
}
@Override
public final void run() {
myobfuscated.jv.d dVar = c.this.k;
if (dVar != null) {
dVar.f();
}
}
}
public interface e {
}
static {
try {
SSLContext.getInstance("Default");
} catch (Exception e2) {
try {
SSLContext.getInstance("TLS").init(null, new TrustManager[]{new Object()}, null);
} catch (Exception e3) {
e2.printStackTrace();
e3.printStackTrace();
}
}
try {
SSLContext.getInstance("TLS").init(null, new TrustManager[]{new Object()}, null);
} catch (Exception e4) {
e4.printStackTrace();
}
}
public c(myobfuscated.iv.a aVar, SSLEngine sSLEngine) {
C1187c c1187c = new C1187c();
this.q = c1187c;
this.r = new j();
this.a = aVar;
this.h = null;
this.m = false;
this.d = sSLEngine;
this.f = null;
sSLEngine.setUseClientMode(false);
i iVar = new i(aVar);
this.b = iVar;
iVar.c = new myobfuscated.iv.e(this);
aVar.l = new f(this);
aVar.h = c1187c;
}
@Override
public final AsyncServer a() {
return this.a.a();
}
@Override
public final void b() {
this.a.b();
}
@Override
public final void c() {
this.a.c();
j();
}
@Override
public final void close() {
this.a.close();
}
@Override
public final void d(myobfuscated.jv.d dVar) {
this.k = dVar;
}
@Override
public final myobfuscated.jv.d e() {
return this.k;
}
public final void f(SSLEngineResult.HandshakeStatus handshakeStatus) {
h hVar = this.a;
SSLEngineResult.HandshakeStatus handshakeStatus2 = SSLEngineResult.HandshakeStatus.NEED_TASK;
SSLEngine sSLEngine = this.d;
if (handshakeStatus == handshakeStatus2) {
sSLEngine.getDelegatedTask().run();
}
if (handshakeStatus == SSLEngineResult.HandshakeStatus.NEED_WRAP) {
k(this.r);
}
if (handshakeStatus == SSLEngineResult.HandshakeStatus.NEED_UNWRAP) {
this.q.b(this, new j());
}
try {
if (this.e) {
return;
}
if (sSLEngine.getHandshakeStatus() != SSLEngineResult.HandshakeStatus.NOT_HANDSHAKING && sSLEngine.getHandshakeStatus() != SSLEngineResult.HandshakeStatus.FINISHED) {
return;
}
if (this.m) {
boolean z = false;
try {
this.j = (X509Certificate[]) sSLEngine.getSession().getPeerCertificates();
String str = this.f;
if (str != null) {
HostnameVerifier hostnameVerifier = this.h;
if (hostnameVerifier == null) {
new StrictHostnameVerifier().verify(str, AbstractVerifier.getCNs(this.j[0]), AbstractVerifier.getDNSSubjectAlts(this.j[0]));
} else if (!hostnameVerifier.verify(str, sSLEngine.getSession())) {
throw new SSLException("hostname <" + str + "> has been denied");
}
}
z = true;
e = null;
} catch (SSLException e2) {
e = e2;
}
this.e = true;
if (!z) {
AsyncSSLException asyncSSLException = new AsyncSSLException(e);
o(asyncSSLException);
if (!asyncSSLException.getIgnore()) {
throw asyncSSLException;
}
}
} else {
this.e = true;
}
((b.a) this.i).a(this);
this.i = null;
hVar.i(null);
hVar.a().c(new d());
j();
} catch (Exception e3) {
o(e3);
}
}
@Override
public final void g(myobfuscated.jv.b bVar) {
this.l = bVar;
}
@Override
public final myobfuscated.jv.b h() {
return this.l;
}
@Override
public final void i(myobfuscated.jv.a aVar) {
this.a.i(aVar);
}
public final void j() {
myobfuscated.jv.a aVar;
j jVar = this.p;
myobfuscated.ul.n.D(this, jVar);
if (!this.n || jVar.g() || (aVar = this.s) == null) {
return;
}
aVar.f(this.o);
}
@Override
public final void k(j jVar) {
j jVar2 = this.r;
if (this.g) {
return;
}
i iVar = this.b;
if (iVar.b.c > 0) {
return;
}
this.g = true;
int i = (jVar.c * 3) / 2;
if (i == 0) {
i = 8192;
}
ByteBuffer h = j.h(i);
SSLEngineResult sSLEngineResult = null;
do {
if (!this.e || jVar.c != 0) {
int i2 = jVar.c;
try {
ArrayDeque<ByteBuffer> arrayDeque = jVar.a;
ByteBuffer[] byteBufferArr = (ByteBuffer[]) arrayDeque.toArray(new ByteBuffer[arrayDeque.size()]);
arrayDeque.clear();
jVar.c = 0;
sSLEngineResult = this.d.wrap(byteBufferArr, h);
for (ByteBuffer byteBuffer : byteBufferArr) {
jVar.a(byteBuffer);
}
h.flip();
jVar2.a(h);
if (jVar2.c > 0) {
iVar.k(jVar2);
}
int capacity = h.capacity();
try {
if (sSLEngineResult.getStatus() == SSLEngineResult.Status.BUFFER_OVERFLOW) {
h = j.h(capacity * 2);
i2 = -1;
} else {
int i3 = (jVar.c * 3) / 2;
if (i3 == 0) {
i3 = 8192;
}
h = j.h(i3);
f(sSLEngineResult.getHandshakeStatus());
}
} catch (SSLException e2) {
e = e2;
h = null;
o(e);
if (i2 != jVar.c) {
}
if (iVar.b.c != 0) {
this.g = false;
j.k(h);
}
}
} catch (SSLException e3) {
e = e3;
}
if (i2 != jVar.c && (sSLEngineResult == null || sSLEngineResult.getHandshakeStatus() != SSLEngineResult.HandshakeStatus.NEED_WRAP)) {
break;
}
} else {
break;
}
} while (iVar.b.c != 0);
this.g = false;
j.k(h);
}
@Override
public final void l(myobfuscated.jv.a aVar) {
this.s = aVar;
}
@Override
public final boolean m() {
return this.a.m();
}
@Override
public final String n() {
return null;
}
public final void o(Exception exc) {
if (this.i == null) {
myobfuscated.jv.a aVar = this.s;
if (aVar != null) {
aVar.f(exc);
return;
}
return;
}
this.i = null;
?? obj = new Object();
h hVar = this.a;
hVar.g(obj);
hVar.b();
hVar.i(null);
hVar.close();
}
@Override
public final void pause() {
this.a.pause();
}
}