From d96c468103fc473098bf9e89ea4bcedbb6a10e29 Mon Sep 17 00:00:00 2001 From: Eduardo Alonso Date: Thu, 23 Mar 2023 19:03:09 +0100 Subject: [PATCH 1/7] uilogger: Fix "View Outgoing" label behaviour --- .../internal_extensions/uilogger/UiLoggerController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/uilogger/UiLoggerController.java b/G-Earth/src/main/java/gearth/services/internal_extensions/uilogger/UiLoggerController.java index bb1f5d7..9254e35 100644 --- a/G-Earth/src/main/java/gearth/services/internal_extensions/uilogger/UiLoggerController.java +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/uilogger/UiLoggerController.java @@ -357,7 +357,7 @@ public class UiLoggerController implements Initializable { public void updateLoggerInfo() { Platform.runLater(() -> { viewIncoming.setKey(1, "ext.logger.state." + (chkViewIncoming.isSelected() ? "true" : "false")); - viewIncoming.setKey(1, "ext.logger.state." + (chkViewOutgoing.isSelected() ? "true" : "false")); + viewOutgoing.setKey(1, "ext.logger.state." + (chkViewOutgoing.isSelected() ? "true" : "false")); autoScroll.setKey(1, "ext.logger.state." + (chkAutoscroll.isSelected() ? "true" : "false")); filtered.setFormat("%s: " + filteredAmount); From 150afc9ce1064cad54048c4c9c08e1699043762a Mon Sep 17 00:00:00 2001 From: dorving <102377087+dorving@users.noreply.github.com> Date: Thu, 30 Mar 2023 15:06:07 +0200 Subject: [PATCH 2/7] Update macOs-Installation-guide.md Updated steps with screenshots in English and added a guide for making the `G-Mem` file executable and disabling SIP. --- docs/wiki/macOs-Installation-guide.md | 92 ++++++++++++++++++++++----- 1 file changed, 75 insertions(+), 17 deletions(-) diff --git a/docs/wiki/macOs-Installation-guide.md b/docs/wiki/macOs-Installation-guide.md index a098176..37240d5 100644 --- a/docs/wiki/macOs-Installation-guide.md +++ b/docs/wiki/macOs-Installation-guide.md @@ -1,24 +1,82 @@ **NOTE: Currently supported browsers: ONLY Firefox and Chromium, works on Habbo AIR too** -In order to run G-Earth on macOs, you'll need to sign G-Mem (our memory searcher). This wiki page will cover that process. +# MacOS Installation Guide -First we'll create a certificate in order to sign it: -1. Open the Keychain Access application (You may find it inside Utilities).£ -2. Select Certificate Assistant -> Create a Certificate.
-![](https://i.imgur.com/G6SS6ac.png) -3. Choose a name for the certificate (I'll use "gmem-cert") and set "Certificate Type" to "Code Signing". Also select "Let me override defaults" option.
-![](https://i.imgur.com/CAUI5Xi.png) -4. Click on "Continue" until "Specify a Location For The Certificate" appears, then set "Keychain" to "System".
-![](https://i.imgur.com/HwLDtmE.png) -5. Continue, the certificate will be created then.
-![](https://i.imgur.com/gYiKmZA.png) +G-Earth depends on an application named [G-Mem](https://github.com/sirjonasxx/G-Mem), +this application scans the memory contents of the Habbo client applicaton and extracts a cipher key +that is used to decrypt packets coming from the Habbo server. -Once created, we are able to codesign gmem from Terminal
-`codesign -fs "gmem-cert" /G-Mem` +There is a few steps u have to complete in order to get it to work on MacOS. -![](https://i.imgur.com/xkryoJz.png) +## Code-Sign G-Mem file and make it executable -Now you're ready to open G-Earth from Terminal
-`sudo java -jar G-Earth.jar` +### Certificate Creation +1. Open `Keychain Access` (press `⌘ + Enter`, type `KeyChain Access` to open it from spotlight) +2. Navigate from the top menu to `Keychain Access > Certificate Assistant > Create Certificate...` +![Screenshot 2023-03-30 at 14 36 47](https://user-images.githubusercontent.com/102377087/228837955-81182786-ac47-46e5-a5e2-1ca2e257751f.png) +3. In the `Create Your Certificate` do the following: +* Set `Name:` to `gmem-cert` +* Set `Cerificate Type:` to `Code Signing` +* Toggle the `Let me override default` button + +![Screenshot 2023-03-30 at 14 40 28](https://user-images.githubusercontent.com/102377087/228838867-57e465bc-5b83-4b1a-a8cc-3dd6d1e95353.png) + +5. Press `Continue` until you treach the `Specify a Location For The Certificate`, now do the following: +* Set `Keychain:` to `System` + +![Screenshot 2023-03-30 at 14 42 50](https://user-images.githubusercontent.com/102377087/228839468-982365d9-925c-44cf-a87d-fc6c268d05c8.png) + +6. Enter your login credentials when prompted and press `Done` + +### Signing of G-Mem +1. Open `Terminal` (press `⌘ + Enter`, type `Terminal` to open it from spotlight) +2. Type `codesign -fs "gmem-cert" ` (do not press enter yet) +3. Drag the `G-Mem` file into your terminal window (this will append the path to the file) + +Your terminal window should now resemble the following: + +![Screenshot 2023-03-30 at 14 49 28](https://user-images.githubusercontent.com/102377087/228841126-77b0184b-4c7d-44e0-9f7c-56103a957a81.png) + +4. Now press enter and enter your login credentials when prompted. + +### Making G-Mem executable +1. Open `Terminal` (press `⌘ + Enter`, type `Terminal` to open it from spotlight) +2. Type `chmod 755 ` (do not press enter yet) +3. Drag the `G-Mem` file into your terminal window (this will append the path to the file) + +Your terminal window should now resemble the following: + +![Screenshot 2023-03-30 at 14 52 29](https://user-images.githubusercontent.com/102377087/228841918-3205014b-5de8-431d-ae4d-d10b8ceeed03.png) + +4. Now press enter and verify the `Kind` of the `G-Mem` file is not `Unix Executable File` + +![Screenshot 2023-03-30 at 14 54 15](https://user-images.githubusercontent.com/102377087/228842389-78ea857e-3414-43d0-8270-91f8185ab57f.png) + +## Disabling SIP + +Modern machines running MacOS have a security feature that shields of the memory of processes from other processes. +Depending on your machine you may have to disable SIP. + +**For M1 macs it is required to disable SIP.** + +### :warning: CAUTION :warning: +Turning off SIP allows any program with sudo privileges to modify memory contents of other processes. If you use pirated software, or other unverified apps, DO NOT DO THIS for your own safety! See the following stackoverflow post for some more info: https://apple.stackexchange.com/a/412281. + + +## Launching G-Earth +1. Open `Terminal` (press `⌘ + Enter`, type `Terminal` to open it from spotlight) +2. Type `sudo java -jar ` +3. Drag the `G-Earth.jar` file into your terminal window (this will append the path to the file) + +Your terminal window should now resemble the following: + +![Screenshot 2023-03-30 at 15 00 59](https://user-images.githubusercontent.com/102377087/228843994-f7713373-9f19-49b0-b7e7-0645a16c4fce.png) + +5. Press enter and fill in your password if prompted + +## Troubleshooting + +If you experience any other issues and the [Troubleshooting Page](https://github.com/sirjonasxx/G-Earth/wiki/Troubleshooting) doesn't help, + +it might be useful to have a look at the following issues: [#67](../issues/67) [#10](../issues/10) -If you experience any other issues and the troubleshooting page doesn't help, it might be useful to have a look at the following issues: [#67](../issues/67) [#10](../issues/10) \ No newline at end of file From c06c4d41bb728e5ab6eb14ac3ea867539706fbb1 Mon Sep 17 00:00:00 2001 From: dorving <102377087+dorving@users.noreply.github.com> Date: Thu, 30 Mar 2023 15:08:26 +0200 Subject: [PATCH 3/7] Added link to guide for disabling SIP --- docs/wiki/macOs-Installation-guide.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/wiki/macOs-Installation-guide.md b/docs/wiki/macOs-Installation-guide.md index 37240d5..f293f6a 100644 --- a/docs/wiki/macOs-Installation-guide.md +++ b/docs/wiki/macOs-Installation-guide.md @@ -62,6 +62,7 @@ Depending on your machine you may have to disable SIP. ### :warning: CAUTION :warning: Turning off SIP allows any program with sudo privileges to modify memory contents of other processes. If you use pirated software, or other unverified apps, DO NOT DO THIS for your own safety! See the following stackoverflow post for some more info: https://apple.stackexchange.com/a/412281. +A guide for disabling SIP can be found here: https://developer.apple.com/documentation/security/disabling_and_enabling_system_integrity_protection ## Launching G-Earth 1. Open `Terminal` (press `⌘ + Enter`, type `Terminal` to open it from spotlight) From 1b72d600a39d683b8eecacb60e042d0d2e442434 Mon Sep 17 00:00:00 2001 From: dorving <102377087+dorving@users.noreply.github.com> Date: Thu, 30 Mar 2023 15:09:08 +0200 Subject: [PATCH 4/7] Fixed typo --- docs/wiki/macOs-Installation-guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/wiki/macOs-Installation-guide.md b/docs/wiki/macOs-Installation-guide.md index f293f6a..4a6a12d 100644 --- a/docs/wiki/macOs-Installation-guide.md +++ b/docs/wiki/macOs-Installation-guide.md @@ -21,7 +21,7 @@ There is a few steps u have to complete in order to get it to work on MacOS. ![Screenshot 2023-03-30 at 14 40 28](https://user-images.githubusercontent.com/102377087/228838867-57e465bc-5b83-4b1a-a8cc-3dd6d1e95353.png) -5. Press `Continue` until you treach the `Specify a Location For The Certificate`, now do the following: +5. Press `Continue` until you reach the `Specify a Location For The Certificate`, now do the following: * Set `Keychain:` to `System` ![Screenshot 2023-03-30 at 14 42 50](https://user-images.githubusercontent.com/102377087/228839468-982365d9-925c-44cf-a87d-fc6c268d05c8.png) From ee73ae1d410b26dce3d652b76eec30f0bfe7841f Mon Sep 17 00:00:00 2001 From: WiredSpast <74211155+WiredSpast@users.noreply.github.com> Date: Tue, 4 Apr 2023 03:37:54 +0200 Subject: [PATCH 5/7] Attempt onClick fix --- G-Earth/src/main/java/gearth/extensions/ExtensionBase.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/G-Earth/src/main/java/gearth/extensions/ExtensionBase.java b/G-Earth/src/main/java/gearth/extensions/ExtensionBase.java index d801aeb..2e65e07 100644 --- a/G-Earth/src/main/java/gearth/extensions/ExtensionBase.java +++ b/G-Earth/src/main/java/gearth/extensions/ExtensionBase.java @@ -169,9 +169,7 @@ public abstract class ExtensionBase extends IExtension { * The application got doubleclicked from the G-Earth interface. Doing something here is optional */ @Override - void onClick() { - - } + public void onClick() {} @Override protected ExtensionInfo getInfoAnnotations() { From 22f648ec6d36e21fc27bee73bfce9b57da1fbd42 Mon Sep 17 00:00:00 2001 From: WiredSpast <74211155+WiredSpast@users.noreply.github.com> Date: Tue, 4 Apr 2023 03:40:02 +0200 Subject: [PATCH 6/7] Attempt onClick fix --- G-Earth/src/main/java/gearth/extensions/ExtensionForm.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/G-Earth/src/main/java/gearth/extensions/ExtensionForm.java b/G-Earth/src/main/java/gearth/extensions/ExtensionForm.java index 6922c93..af2e9e8 100644 --- a/G-Earth/src/main/java/gearth/extensions/ExtensionForm.java +++ b/G-Earth/src/main/java/gearth/extensions/ExtensionForm.java @@ -67,7 +67,7 @@ public abstract class ExtensionForm extends ExtensionBase { /** * The application got doubleclicked from the G-Earth interface. Doing something here is optional */ - public void onClick(){ + public final void onClick(){ Platform.runLater(() -> { primaryStage.show(); primaryStage.requestFocus(); From 3ee8f5576674c639f26cdd6e64f589ba222b0d14 Mon Sep 17 00:00:00 2001 From: WiredSpast <74211155+WiredSpast@users.noreply.github.com> Date: Tue, 4 Apr 2023 03:42:06 +0200 Subject: [PATCH 7/7] Attempt onClick fix --- G-Earth/src/main/java/gearth/extensions/ExtensionBase.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/G-Earth/src/main/java/gearth/extensions/ExtensionBase.java b/G-Earth/src/main/java/gearth/extensions/ExtensionBase.java index 2e65e07..878cf9b 100644 --- a/G-Earth/src/main/java/gearth/extensions/ExtensionBase.java +++ b/G-Earth/src/main/java/gearth/extensions/ExtensionBase.java @@ -169,7 +169,7 @@ public abstract class ExtensionBase extends IExtension { * The application got doubleclicked from the G-Earth interface. Doing something here is optional */ @Override - public void onClick() {} + protected void onClick() {} @Override protected ExtensionInfo getInfoAnnotations() {