Deconstruct VncThumbnailViewer 1.4.2 and add self-contained build
The shipped VncThumbnailViewerWin1.4.2.exe is a native launcher stub with a Java JAR appended. This commit adds: - src/: full Java source recovered from the bundled .class files (CFR), plus src/summary.txt with decompiler caveats - ANALYSIS.md: architecture, data flow, hosts-file format, and security notes - build-app-image.ps1: reproducible jpackage build that repackages the original classes and bundles a slim jlinked runtime (java.base + java.desktop) into a self-contained native app-image (no Java required on the target) The 74 MB app-image is shipped as a release asset rather than tracked. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
* Decompiled with CFR 0.152.
|
||||
*/
|
||||
import java.applet.Applet;
|
||||
import java.io.IOException;
|
||||
import java.net.Socket;
|
||||
|
||||
class HTTPConnectSocketFactory
|
||||
implements SocketFactory {
|
||||
HTTPConnectSocketFactory() {
|
||||
}
|
||||
|
||||
public Socket createSocket(String string, int n, Applet applet) throws IOException {
|
||||
return this.createSocket(string, n, applet.getParameter("PROXYHOST1"), applet.getParameter("PROXYPORT1"));
|
||||
}
|
||||
|
||||
public Socket createSocket(String string, int n, String[] stringArray) throws IOException {
|
||||
return this.createSocket(string, n, this.readArg(stringArray, "PROXYHOST1"), this.readArg(stringArray, "PROXYPORT1"));
|
||||
}
|
||||
|
||||
public Socket createSocket(String string, int n, String string2, String string3) throws IOException {
|
||||
int n2 = 0;
|
||||
if (string3 != null) {
|
||||
try {
|
||||
n2 = Integer.parseInt(string3);
|
||||
}
|
||||
catch (NumberFormatException numberFormatException) {
|
||||
// empty catch block
|
||||
}
|
||||
}
|
||||
if (string2 == null || n2 == 0) {
|
||||
System.out.println("Incomplete parameter list for HTTPConnectSocket");
|
||||
return new Socket(string, n);
|
||||
}
|
||||
System.out.println("HTTP CONNECT via proxy " + string2 + " port " + n2);
|
||||
HTTPConnectSocket hTTPConnectSocket = new HTTPConnectSocket(string, n, string2, n2);
|
||||
return hTTPConnectSocket;
|
||||
}
|
||||
|
||||
private String readArg(String[] stringArray, String string) {
|
||||
for (int i = 0; i < stringArray.length; i += 2) {
|
||||
if (!stringArray[i].equalsIgnoreCase(string)) continue;
|
||||
try {
|
||||
return stringArray[i + 1];
|
||||
}
|
||||
catch (Exception exception) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user