From b7cc2d097e799c446d379a17a433c510ced8e0e5 Mon Sep 17 00:00:00 2001 From: Duy Tran Khanh Date: Wed, 24 Aug 2022 12:34:06 +0700 Subject: [PATCH] Added Caciocavallo17; Get JRE build from Actions --- .github/workflows/development.yml | 22 ++++ .github/workflows/release.yml | 22 ++++ .../cacio-shared-1.18-SNAPSHOT.jar | Bin 0 -> 101068 bytes .../cacio-tta-1.18-SNAPSHOT.jar | Bin 0 -> 41607 bytes .../net/kdt/pojavlaunch/PojavLauncher.java | 4 + .../java/net/kdt/pojavlaunch/uikit/UIKit.java | 12 +- Makefile | 18 +-- Natives/CMakeLists.txt | 2 +- Natives/JavaGUIViewController.m | 4 + Natives/JavaLauncher.m | 112 ++++++++++-------- Natives/LauncherViewController.m | 23 +--- Natives/awt_xawt/xawt_fake.m | 24 +++- Natives/main.m | 5 +- Natives/main_hook.m | 95 ++------------- 14 files changed, 169 insertions(+), 174 deletions(-) create mode 100644 JavaApp/libs_caciocavallo17/cacio-shared-1.18-SNAPSHOT.jar create mode 100644 JavaApp/libs_caciocavallo17/cacio-tta-1.18-SNAPSHOT.jar diff --git a/.github/workflows/development.yml b/.github/workflows/development.yml index 80f7fea3..f5d9d298 100644 --- a/.github/workflows/development.yml +++ b/.github/workflows/development.yml @@ -25,6 +25,28 @@ jobs: - name: Checkout repository submodules run: git submodule update --init --recursive + - name: Get JRE8 + uses: dawidd6/action-download-artifact@v2 + with: + github_token: ${{secrets.GITHUB_TOKEN}} + workflow: build.yml + path: depends + workflow_conclusion: success + repo: PojavLauncherTeam/android-openjdk-build-multiarch + branch: jre8-ios-jitjailed + name: jre8-ios-aarch64 + + - name: Get JRE17 + uses: dawidd6/action-download-artifact@v2 + with: + github_token: ${{secrets.GITHUB_TOKEN}} + workflow: build.yml + path: depends + workflow_conclusion: success + repo: PojavLauncherTeam/android-openjdk-build-multiarch + branch: buildjre17 + name: jre17-ios-aarch64 + - name: Build packages env: password: ${{ secrets.ELLIE_MINI_SECRET }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ff9a7226..816f52a3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -25,6 +25,28 @@ jobs: - name: Checkout repository submodules run: git submodule update --init --recursive + - name: Get JRE8 + uses: dawidd6/action-download-artifact@v2 + with: + github_token: ${{secrets.GITHUB_TOKEN}} + workflow: build.yml + path: depends + workflow_conclusion: success + repo: PojavLauncherTeam/android-openjdk-build-multiarch + branch: jre8-ios-jitjailed + name: jre8-ios-aarch64 + + - name: Get JRE17 + uses: dawidd6/action-download-artifact@v2 + with: + github_token: ${{secrets.GITHUB_TOKEN}} + workflow: build.yml + path: depends + workflow_conclusion: success + repo: PojavLauncherTeam/android-openjdk-build-multiarch + branch: buildjre17 + name: jre17-ios-aarch64 + - name: Build packages env: password: ${{ secrets.ELLIE_MINI_SECRET }} diff --git a/JavaApp/libs_caciocavallo17/cacio-shared-1.18-SNAPSHOT.jar b/JavaApp/libs_caciocavallo17/cacio-shared-1.18-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..0d4859d2d5079775008af6c791676678aa35133a GIT binary patch literal 101068 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 z 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 iG;3_1SlhV0^>R&BY~USi-_%yZC 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 literal 0 HcmV?d00001 diff --git a/JavaApp/src/main/java/net/kdt/pojavlaunch/PojavLauncher.java b/JavaApp/src/main/java/net/kdt/pojavlaunch/PojavLauncher.java index b9fee726..eb4716bf 100644 --- a/JavaApp/src/main/java/net/kdt/pojavlaunch/PojavLauncher.java +++ b/JavaApp/src/main/java/net/kdt/pojavlaunch/PojavLauncher.java @@ -43,6 +43,10 @@ public class PojavLauncher { }); System.setProperty("cacio.managed.screensize", args[2]); + try { + // Try to initialize Caciocavallo17 + Class.forName("com.github.caciocavallosilano.cacio.ctc.CTCPreloadClassLoader"); + } catch (ClassNotFoundException e) {} if (args[0].equals(".LaunchJAR")) { UIKit.callback_JavaGUIViewController_launchJarFile(args[1]); diff --git a/JavaApp/src/main/java/net/kdt/pojavlaunch/uikit/UIKit.java b/JavaApp/src/main/java/net/kdt/pojavlaunch/uikit/UIKit.java index 7997e812..def91843 100644 --- a/JavaApp/src/main/java/net/kdt/pojavlaunch/uikit/UIKit.java +++ b/JavaApp/src/main/java/net/kdt/pojavlaunch/uikit/UIKit.java @@ -3,7 +3,6 @@ package net.kdt.pojavlaunch.uikit; import java.io.*; import java.lang.reflect.*; import java.util.jar.*; -import net.java.openjdk.cacio.ctc.CTCScreen; import net.kdt.pojavlaunch.utils.MCOptionUtils; import net.kdt.pojavlaunch.*; import org.lwjgl.glfw.*; @@ -32,12 +31,19 @@ public class UIKit { public static void callback_JavaGUIViewController_launchJarFile(final String filepath) throws Throwable { // Thread for refreshing the AWT buffer new Thread(() -> { + Method getCurrentScreenRGB; try { + try { + getCurrentScreenRGB = Class.forName("net.java.openjdk.cacio.ctc.CTCScreen").getMethod("getCurrentScreenRGB"); + } catch (ClassNotFoundException e) { + getCurrentScreenRGB = Class.forName("com.github.caciocavallosilano.cacio.ctc.CTCScreen").getMethod("getCurrentScreenRGB"); + } + long lastTime = System.currentTimeMillis(); while (true) { int[] pixelsArray = null; try{ - pixelsArray = CTCScreen.getCurrentScreenRGB(); + pixelsArray = (int[])getCurrentScreenRGB.invoke(null); } catch (NullPointerException e) { Thread.sleep(500); } @@ -51,7 +57,7 @@ public class UIKit { } lastTime = currentTime; } - } catch (InterruptedException e) { + } catch (Throwable e) { e.printStackTrace(); } }, "AWTFBRefreshThread").start(); diff --git a/Makefile b/Makefile index 49367bbc..5ecbafad 100644 --- a/Makefile +++ b/Makefile @@ -325,18 +325,16 @@ ipa: dsym echo 'Building PojavLauncher $(VERSION) - IPA - Start' mkdir -p $(SOURCEDIR)/depends; \ cd $(SOURCEDIR)/depends; \ - if [ ! -d "java-8-openjdk" ]; then \ + if [ ! -d "java-8-openjdk" ] && [ -n "$(ls ../jre8-*.tar.xz)" ]; then \ mkdir java-8-openjdk && cd java-8-openjdk; \ - wget 'https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch/releases/download/jre8-40df388/jre8-arm64-20220811-release.tar.xz'; \ - tar xvf *.tar.xz; \ - rm *.tar.xz; \ + tar xvf ../jre8-*.tar.xz; \ + rm ../jre8-*.tar.xz; \ fi; \ - cd ..; \ - if [ ! -d "java-17-openjdk" ]; then \ + cd ..; \ + if [ ! -d "java-17-openjdk" ] && [ -n "$(ls ../jre17-*.tar.xz)" ]; then \ mkdir java-17-openjdk && cd java-17-openjdk; \ - wget 'https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch/releases/download/jre17-ca01427/jre17-arm64-20220817-release.tar.xz'; \ - tar xvf *.tar.xz; \ - rm *.tar.xz; \ + tar xvf ../jre17-*.tar.xz; \ + rm ../jre17-*.tar.xz; \ fi; \ mkdir -p $(OUTPUTDIR); \ cd $(OUTPUTDIR); \ @@ -346,6 +344,8 @@ ipa: dsym cp -R $(POJAV_JRE8_DIR) $(OUTPUTDIR)/Payload/PojavLauncher.app/jvm/; \ cp -R $(POJAV_JRE17_DIR) $(OUTPUTDIR)/Payload/PojavLauncher.app/jvm/; \ rm -rf $(OUTPUTDIR)/Payload/PojavLauncher.app/jvm/*/{bin,include,jre,lib/{ct.sym,libjsig.dylib,src.zip,tools.jar}}; \ + cp $(OUTPUTDIR)/Payload/PojavLauncher.app/Frameworks/libawt_xawt.dylib $(OUTPUTDIR)/Payload/PojavLauncher.app/jvm/*/lib/; \ + rm $(OUTPUTDIR)/Payload/PojavLauncher.app/Frameworks/libawt_*.dylib; \ ldid -S$(SOURCEDIR)/entitlements_ipa.xml $(OUTPUTDIR)/Payload/PojavLauncher.app/PojavLauncher; \ rm -f $(OUTPUTDIR)/*.ipa; \ cd $(OUTPUTDIR); \ diff --git a/Natives/CMakeLists.txt b/Natives/CMakeLists.txt index b979d75d..2b385a32 100644 --- a/Natives/CMakeLists.txt +++ b/Natives/CMakeLists.txt @@ -20,7 +20,7 @@ include_directories( ) # For cacio support library -set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -rpath @executable_path/jvm/java-8-openjdk/lib -rpath /usr/lib/jvm/java-8-openjdk/lib") +set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -rpath @loader_path -rpath @executable_path/jvm/java-8-openjdk/lib -rpath /usr/lib/jvm/java-8-openjdk/lib") add_definitions(-DCONFIG_COMMIT="${CONFIG_COMMIT}") add_definitions(-DCONFIG_RELEASE=${CONFIG_RELEASE}) diff --git a/Natives/JavaGUIViewController.m b/Natives/JavaGUIViewController.m index 4a1690cc..275f5e90 100644 --- a/Natives/JavaGUIViewController.m +++ b/Natives/JavaGUIViewController.m @@ -113,6 +113,10 @@ const void * _CGDataProviderGetBytePointerCallbackAWT(void *info) { - (void)surfaceOnClick:(UITapGestureRecognizer *)sender { if (method_ReceiveInput == NULL) { class_CTCAndroidInput = (*runtimeJNIEnvPtr)->FindClass(runtimeJNIEnvPtr, "net/java/openjdk/cacio/ctc/CTCAndroidInput"); + if ((*runtimeJNIEnvPtr)->ExceptionCheck(runtimeJNIEnvPtr) == JNI_TRUE) { + (*runtimeJNIEnvPtr)->ExceptionClear(runtimeJNIEnvPtr); + class_CTCAndroidInput = (*runtimeJNIEnvPtr)->FindClass(runtimeJNIEnvPtr, "com/github/caciocavallosilano/cacio/ctc/CTCAndroidInput"); + } assert(class_CTCAndroidInput != NULL); method_ReceiveInput = (*runtimeJNIEnvPtr)->GetStaticMethodID(runtimeJNIEnvPtr, class_CTCAndroidInput, "receiveData", "(IIIII)V"); assert(method_ReceiveInput != NULL); diff --git a/Natives/JavaLauncher.m b/Natives/JavaLauncher.m index 5030ba57..ce83fe94 100644 --- a/Natives/JavaLauncher.m +++ b/Natives/JavaLauncher.m @@ -113,12 +113,7 @@ NSString* environmentFailsafes(int minVersion) { NSString *jre16Path = [NSString stringWithFormat:@"%@/java-16-openjdk", jvmPath]; NSString *jre17Path = [NSString stringWithFormat:@"%@/java-17-openjdk", jvmPath]; - BOOL foundJava8 = [fm fileExistsAtPath:jre8Path]; - if (!foundJava8) { - regLog("[JavaLauncher] Java 8 wasn't found on your device. Install Java 8 for more compatibility and the mod installer."); - } - - if (foundJava8 && minVersion <= 8) { + if ([fm fileExistsAtPath:jre8Path] && minVersion <= 8) { javaHome = jre8Path; } else if ([fm fileExistsAtPath:jre16Path] && minVersion <= 16) { javaHome = jre16Path; @@ -143,7 +138,7 @@ int launchJVM(NSString *username, id launchTarget, int width, int height, int mi NSString *javaHome_pre = getPreference(@"java_home"); // We handle unset JAVA_HOME right there - if (username == nil || getSelectedJavaVersion() < minVersion) { + if (getSelectedJavaVersion() < minVersion) { NSLog(@"[JavaLauncher] Attempting to change to Java %d (actual might be higher)", minVersion); javaHome_pre = environmentFailsafes(minVersion); NSLog(@"[JavaLauncher] JAVA_HOME is now set to %@", javaHome_pre); @@ -182,30 +177,9 @@ int launchJVM(NSString *username, id launchTarget, int width, int height, int mi allocmem_pre = [getPreference(@"allocated_memory") stringValue]; allocmem = [allocmem_pre cStringUsingEncoding:NSUTF8StringEncoding]; - - char classpath[10000]; // "/Applications/PojavLauncher.app/libs/launcher.jar:/Applications/PojavLauncher.app/libs/ExagearApacheCommons.jar:/Applications/PojavLauncher.app/libs/gson-2.8.6.jar:/Applications/PojavLauncher.app/libs/jsr305.jar:/Applications/PojavLauncher.app/libs/lwjgl3-minecraft.jar"; - // Generate classpath - DIR *d; - struct dirent *dir; - d = opendir(java_libs_path); - int cplen = -2; - if (d) { - // cplen += sprintf(classpath + cplen, "-Xbootclasspath/a:"); - while ((dir = readdir(d)) != NULL) { - if (cplen < 0) { - ++cplen; - continue; - } - cplen += sprintf(classpath + cplen, "%s/%s:", java_libs_path, dir->d_name); - } - classpath[cplen-1] = '\0'; - closedir(d); - } - debugLog("[JavaLauncher] Classpath generated: %s", classpath); - // Check if JVM restarts char *frameworkPath, *javaPath, *jnaLibPath, *userDir, *userHome, *memMin, *memMax, *arcDNS; asprintf(&frameworkPath, "-Djava.library.path=%1$s/Frameworks:%1$s/Frameworks/libOSMesaOverride.dylib.framework:%1$s/Frameworks/libMoltenVK.dylib.framework", getenv("BUNDLE_PATH")); @@ -238,6 +212,11 @@ int launchJVM(NSString *username, id launchTarget, int width, int height, int mi margv[++margc] = (char *) [NSString stringWithFormat:@"-Dpojav.selectedAccount=%@", selectedAccount].UTF8String; } + // Setup Caciocavallo + margv[++margc] = "-Djava.awt.headless=false"; + margv[++margc] = "-Dcacio.font.fontmanager=sun.awt.X11FontManager"; + margv[++margc] = "-Dcacio.font.fontscaler=sun.font.FreetypeFontScaler"; + // Load java char libjlipath8[2048]; // java 8 char libjlipath16[2048]; // java 16+ (?) @@ -257,38 +236,69 @@ int launchJVM(NSString *username, id launchTarget, int width, int height, int mi } // Setup Caciocavallo - margv[++margc] = "-Djava.awt.headless=false"; - margv[++margc] = "-Dcacio.font.fontmanager=sun.awt.X11FontManager"; - margv[++margc] = "-Dcacio.font.fontscaler=sun.font.FreetypeFontScaler"; margv[++margc] = "-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel"; margv[++margc] = "-Dawt.toolkit=net.java.openjdk.cacio.ctc.CTCToolkit"; margv[++margc] = "-Djava.awt.graphicsenv=net.java.openjdk.cacio.ctc.CTCGraphicsEnvironment"; - - // Generate Caciocavallo bootclasspath - char cacio_libs_path[2048]; - char cacio_classpath[8192]; - sprintf((char*) cacio_libs_path, "%s/libs_caciocavallo", getenv("BUNDLE_PATH")); - cplen = sprintf(cacio_classpath, "-Xbootclasspath/p"); - d = opendir(cacio_libs_path); - int skip = 2; - if (d) { - while ((dir = readdir(d)) != NULL) { - if (skip > 0) { - --skip; - continue; - } - cplen += sprintf(cacio_classpath + cplen, ":%s/%s", cacio_libs_path, dir->d_name); - } - closedir(d); - } - margv[++margc] = cacio_classpath; } else { + // Required by Cosmetica to inject DNS margv[++margc] = "--add-opens=java.base/java.net=ALL-UNNAMED"; + // Setup Caciocavallo + margv[++margc] = "-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel"; + margv[++margc] = "-Dawt.toolkit=com.github.caciocavallosilano.cacio.ctc.CTCToolkit"; + margv[++margc] = "-Djava.awt.graphicsenv=com.github.caciocavallosilano.cacio.ctc.CTCGraphicsEnvironment"; + // Required by Caciocavallo17 to access internal API + margv[++margc] = "--add-exports=java.desktop/java.awt=ALL-UNNAMED"; + margv[++margc] = "--add-exports=java.desktop/java.awt.peer=ALL-UNNAMED"; + margv[++margc] = "--add-exports=java.desktop/sun.awt.image=ALL-UNNAMED"; + margv[++margc] = "--add-exports=java.desktop/sun.java2d=ALL-UNNAMED"; + margv[++margc] = "--add-exports=java.desktop/java.awt.dnd.peer=ALL-UNNAMED"; + margv[++margc] = "--add-exports=java.desktop/sun.awt=ALL-UNNAMED"; + margv[++margc] = "--add-exports=java.desktop/sun.awt.event=ALL-UNNAMED"; + margv[++margc] = "--add-exports=java.desktop/sun.awt.datatransfer=ALL-UNNAMED"; + margv[++margc] = "--add-exports=java.desktop/sun.font=ALL-UNNAMED"; + margv[++margc] = "--add-exports=java.base/sun.security.action=ALL-UNNAMED"; + margv[++margc] = "--add-opens=java.base/java.util=ALL-UNNAMED"; + margv[++margc] = "--add-opens=java.desktop/java.awt=ALL-UNNAMED"; + margv[++margc] = "--add-opens=java.desktop/sun.font=ALL-UNNAMED"; + margv[++margc] = "--add-opens=java.desktop/sun.java2d=ALL-UNNAMED"; + margv[++margc] = "--add-opens=java.base/java.lang.reflect=ALL-UNNAMED"; + // TODO: workaround, will be removed once the startup part works without PLaunchApp margv[++margc] = "--add-exports=cpw.mods.bootstraplauncher/cpw.mods.bootstraplauncher=ALL-UNNAMED"; } + // Add Caciocavallo bootclasspath + NSString *cacio_classpath = [NSString stringWithFormat:@"-Xbootclasspath/%s", isJava8 ? "p" : "a"]; + NSString *cacio_libs_path = [NSString stringWithFormat:@"%s/libs_caciocavallo%s", getenv("BUNDLE_PATH"), isJava8 ? "" : "17"]; + NSArray *files = [fm contentsOfDirectoryAtPath:cacio_libs_path error:nil]; + for(NSString *file in files) { + if ([file hasSuffix:@".jar"]) { + cacio_classpath = [NSString stringWithFormat:@"%@:%@/%@", cacio_classpath, cacio_libs_path, file]; + } + } + margv[++margc] = (char *)cacio_classpath.UTF8String; + +/* + char cacio_libs_path[2048]; + char cacio_classpath[8192]; + sprintf((char*) cacio_libs_path, "%s/libs_caciocavallo", getenv("BUNDLE_PATH")); + cplen = sprintf(cacio_classpath, "-Xbootclasspath/p"); + d = opendir(cacio_libs_path); + int skip = 2; + if (d) { + while ((dir = readdir(d)) != NULL) { + if (skip > 0) { + --skip; + continue; + } + cplen += sprintf(cacio_classpath + cplen, ":%s/%s", cacio_libs_path, dir->d_name); + } + closedir(d); + } + margv[++margc] = cacio_classpath; +*/ + if (!getEntitlementValue(@"com.apple.developer.kernel.extended-virtual-addressing")) { // In jailed environment, where extended virtual addressing entitlement isn't // present (for free dev account), the maximum metaspace size is 896M. @@ -311,7 +321,7 @@ int launchJVM(NSString *username, id launchTarget, int width, int height, int mi regLog("[Init] Found JLI lib"); margv[++margc] = "-cp"; - margv[++margc] = classpath; + margv[++margc] = (char *)[NSString stringWithFormat:@"%s/*", java_libs_path].UTF8String; margv[++margc] = "net.kdt.pojavlaunch.PojavLauncher"; if (username == nil) { diff --git a/Natives/LauncherViewController.m b/Natives/LauncherViewController.m index 4338db19..a7eaae2a 100644 --- a/Natives/LauncherViewController.m +++ b/Natives/LauncherViewController.m @@ -253,24 +253,11 @@ int versionSelectedAt = 0; } - (void)enterModInstaller:(UIBarButtonItem*)sender { - NSString *javaVer = getPreference(@"java_home"); - NSFileManager *fileManager = [NSFileManager defaultManager]; - if(![fileManager fileExistsAtPath:JRE8_HOME_JB] && getenv("POJAV_DETECTEDJB")) { - UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Cannot use the mod installer" message:@"In order to use the mod installer, you need to install Java 8." preferredStyle:UIAlertControllerStyleActionSheet]; - if (alert.popoverPresentationController != nil) { - alert.popoverPresentationController.sourceView = self.view; - alert.popoverPresentationController.sourceRect = CGRectMake(self.view.frame.size.width-10.0, 0, 10, 10); - } - UIAlertAction *ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleCancel handler:nil]; - [self presentViewController:alert animated:YES completion:nil]; - [alert addAction:ok]; - } else { - UIDocumentPickerViewController *documentPicker = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:@[@"com.sun.java-archive"] - inMode:UIDocumentPickerModeImport]; - documentPicker.delegate = self; - documentPicker.modalPresentationStyle = UIModalPresentationFormSheet; - [self presentViewController:documentPicker animated:YES completion:nil]; - } + UIDocumentPickerViewController *documentPicker = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:@[@"com.sun.java-archive"] + inMode:UIDocumentPickerModeImport]; + documentPicker.delegate = self; + documentPicker.modalPresentationStyle = UIModalPresentationFormSheet; + [self presentViewController:documentPicker animated:YES completion:nil]; } - (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentAtURL:(NSURL *)url { diff --git a/Natives/awt_xawt/xawt_fake.m b/Natives/awt_xawt/xawt_fake.m index dfa29694..794112fc 100644 --- a/Natives/awt_xawt/xawt_fake.m +++ b/Natives/awt_xawt/xawt_fake.m @@ -1,8 +1,13 @@ #include "../jni.h" -jfieldID colorValueID; +//jfieldID colorValueID; // java.awt.* +JNIEXPORT void JNICALL +Java_java_awt_AWTEvent_initIDs(JNIEnv *env, jclass cls) +{ +} + JNIEXPORT void JNICALL Java_java_awt_Button_initIDs (JNIEnv *env, jclass cls) @@ -13,7 +18,7 @@ JNIEXPORT void JNICALL Java_java_awt_Color_initIDs (JNIEnv *env, jclass clazz) { - colorValueID = (*env)->GetFieldID(env, clazz, "value", "I"); + //colorValueID = (*env)->GetFieldID(env, clazz, "value", "I"); } JNIEXPORT void JNICALL @@ -97,6 +102,11 @@ Java_java_awt_Frame_initIDs { } +JNIEXPORT void JNICALL +Java_java_awt_Insets_initIDs(JNIEnv *env, jclass cls) +{ +} + JNIEXPORT void JNICALL Java_java_awt_KeyboardFocusManager_initIDs (JNIEnv *env, jclass cls) @@ -191,6 +201,16 @@ Java_java_awt_AWTEvent_nativeSetSource(JNIEnv *env, jobject self, jobject newSou // Maybe implement this? } +JNIEXPORT void JNICALL +Java_java_awt_event_InputEvent_initIDs(JNIEnv *env, jclass cls) +{ +} + +JNIEXPORT void JNICALL +Java_java_awt_event_KeyEvent_initIDs(JNIEnv *env, jclass cls) +{ +} + JNIEXPORT void JNICALL Java_java_awt_event_MouseEvent_initIDs (JNIEnv *env, jclass clazz) diff --git a/Natives/main.m b/Natives/main.m index 9f0249b0..70e95990 100644 --- a/Natives/main.m +++ b/Natives/main.m @@ -231,10 +231,11 @@ int main(int argc, char * argv[]) { setenv("HOME", "/usr/share", 1); setenv("OLD_POJAV_HOME", "/var/mobile/Documents/.pojavlauncher", 1); setenv("POJAV_HOME", "/usr/share/pojavlauncher", 1); + // In this environment, libawt_xawt is not available/X11 only. + // hook dlopen to use our libawt_xawt + init_hookFunctions(); } else { setenv("POJAV_HOME", [NSString stringWithFormat:@"%s/Documents", getenv("HOME")].UTF8String, 1); - - init_hookFunctions(); } [fm createDirectoryAtPath:@(getenv("POJAV_HOME")) withIntermediateDirectories:NO attributes:nil error:nil]; diff --git a/Natives/main_hook.m b/Natives/main_hook.m index 968a9446..4f99b733 100644 --- a/Natives/main_hook.m +++ b/Natives/main_hook.m @@ -1,103 +1,22 @@ -#include -#include -#include -#include -#include +#import #include "external/fishhook/fishhook.h" -#import "utils.h" -int main(int argc, char * argv[]); - -static CFRunLoopRunResult (*orig_CFRunLoopRunInMode)(CFRunLoopMode mode, CFTimeInterval seconds, Boolean returnAfterSourceHandled); - -static int (*orig_dladdr)(const void* addr, Dl_info* info); static void* (*orig_dlopen)(const char* path, int mode); -//static void* (*orig_mmap)(void *addr, size_t len, int prot, int flags, int fd, off_t offset); -static char* (*orig_realpath)(const char *restrict path, char *restrict resolved_path); -pid_t (*orig_waitpid)(pid_t pid, int *status, int options); -//static void (*orig_sys_icache_invalidate)(void *start, size_t len); - - -int hooked_dladdr(const void* addr, Dl_info* info) { - //NSLog(@"hook dladdr(%p, %p)", addr, info); - int retVal = orig_dladdr(addr, info); - if (addr == main) { - //NSLog(@"hooked dladdr"); - info->dli_fname = getenv("JAVA_EXT_EXECNAME"); - } else if (retVal != 0) { - //NSLog(@"hooked dladdr"); - char *libname = basename((char *)info->dli_fname); - char src[2048], dst[2048]; - sprintf((char *)src, "%s/Frameworks", getenv("BUNDLE_PATH")); - if (0 == strncmp(info->dli_fname, src, strlen(src))) { - if (0 == strncmp(libname, "libjli.dylib", 12)) { - info->dli_fname = getenv("INTERNAL_JLI_PATH"); - } else if (0 == strncmp(libname, "libjvm.dylib", 12)) { - sprintf((char *)dst, "%s/lib/server/libjvm.dylib", getenv("JAVA_HOME")); - info->dli_fname = (char *)dst; - } - } - } - //if (retVal) NSLog(@"dli_fname=%s", info->dli_fname); - return retVal; -} void* hooked_dlopen(const char* path, int mode) { - //NSLog(@"dlopen(%s, %d)", path, mode); - - // Avoid loading the executable itself twice - if (path && [@(path) hasSuffix:@"PojavLauncher"]) { - return orig_dlopen(NULL, mode); + // Load our libawt_xawt + if (path && [@(path) hasSuffix:@"/libawt_xawt.dylib"]) { + return orig_dlopen([NSString stringWithFormat:@"%s/Frameworks/libawt_xawt.dylib", getenv("BUNDLE_PATH")].UTF8String, mode); } return orig_dlopen(path, mode); } -/* -void *hooked_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t offset) { - NSLog(@"mmap(%p, %ld, %d, %d, %d, %lld)", addr, len, prot, flags, fd, offset); - - if (flags & MAP_JIT) { - NSLog(@"'-> Found JIT mmap"); - //flags &= ~MAP_JIT; - } - - // raise(SIGINT); - return orig_mmap(addr, len, prot, flags, fd, offset); -} -*/ - -char *hooked_realpath(const char *restrict path, char *restrict resolved_path) { - //NSLog(@"hook realpath %s", path); - const char *javaHome = getenv("JAVA_HOME"); - if (0 == strncmp(path, javaHome, strlen(javaHome))) { - strcpy(resolved_path, path); - return resolved_path; - } else { - return orig_realpath(path, resolved_path); - } -} - -/* -void hooked_sys_icache_invalidate(void *start, size_t len) { - // mprotect(start, 16384, PROT_EXEC | PROT_READ); - // NSLog(@"mprotect errno %d", errno); - orig_sys_icache_invalidate(start, len); -} -*/ - void init_hookFunctions() { - // if (!started && strncmp(argv[0], "/Applications", 13)) - // Jailed only: hook some functions for symlinked JRE home dir - int retval = rebind_symbols((struct rebinding[3]){ - {"dladdr", hooked_dladdr, (void *)&orig_dladdr}, - {"dlopen", hooked_dlopen, (void *)&orig_dlopen}, - //{"realpath", hooked_realpath, (void *)&orig_realpath}, - {"realpath$DARWIN_EXTSN", hooked_realpath, (void *)&orig_realpath} - //{"mmap", hooked_mmap, (void *)&orig_mmap}, - //{"sys_icache_invalidate", hooked_sys_icache_invalidate, (void *)&orig_sys_icache_invalidate} - }, 3); + int retval = rebind_symbols((struct rebinding[1]){ + {"dlopen", hooked_dlopen, (void *)&orig_dlopen}, + }, 1); NSLog(@"hook retval = %d", retval); }