Skip to content

Conversation

IsaacMarovitz
Copy link
Member

@IsaacMarovitz IsaacMarovitz commented Mar 1, 2023

This should fix XCLT-less installer for realsies this time. Sometimes stuff will fail to install the first time, just try it again and it should work (not sure why lol).

What this PR does:

  • Reimplements install_name_tool replacement this time it can handle weak and strong LCs
  • Introduces several major optimisations to clean up code and significantly reduces the number of writes to disk

Thinks to do:

  • Cleanup PlayTools.swift code
  • Deal with the "Not enough space in binary" issue
  • Maybe work to replace the LC at its original index rather than appending
  • Fix missing padding at end of header

Apps I've tested:

  • Genshin Impact (Works)
  • Payback2 (Works)
  • Eversoul (Works)
  • Geometry Dash (Works)
  • Duolingo (Opens, then crashes)
  • Netflix (Works)

@Depal1 Depal1 changed the base branch from develop to xcode-less-installer March 1, 2023 16:29
@IsaacMarovitz IsaacMarovitz changed the title Fix installer Fix XCLT-less Installer Mar 1, 2023
@IsaacMarovitz IsaacMarovitz marked this pull request as ready for review March 1, 2023 22:26
@IsaacMarovitz IsaacMarovitz marked this pull request as draft March 1, 2023 22:51
@IsaacMarovitz IsaacMarovitz marked this pull request as ready for review March 2, 2023 16:01
@IsaacMarovitz IsaacMarovitz merged commit 1955f32 into xcode-less-installer Mar 2, 2023
@IsaacMarovitz IsaacMarovitz deleted the installer-fix branch March 2, 2023 16:35
IsaacMarovitz added a commit to IsaacMarovitz/PlayCover that referenced this pull request Mar 11, 2023
* Revert "Add `install_name_tool` replacement (PlayCover#794)"

This reverts commit 9590e8d.

* Comment the theory

* Yipee

* SwiftLint

* Step 4

* SwiftLint

* Fix cast whoopsie

* Fixes

* Some fixes and cleanup

* Spacing

* It works

* SwiftLint

* Change path

* Cleanup version command replacement

* More optimisations

* Fix strip

* Add more prints

* More cleanup

* Cleanup and simplify

* SwiftLint

* Adjust prints

* SwiftLint :/

* More info

* Start XCLT-like insert replace (almost working)

* Revert "Start XCLT-like insert replace (almost working)"

This reverts commit d35772b.

* XCLT-like path replacement

* Fix padding
IsaacMarovitz added a commit to IsaacMarovitz/PlayCover that referenced this pull request Mar 11, 2023
* Revert "Add `install_name_tool` replacement (PlayCover#794)"

This reverts commit 9590e8d.

* Comment the theory

* Yipee

* SwiftLint

* Step 4

* SwiftLint

* Fix cast whoopsie

* Fixes

* Some fixes and cleanup

* Spacing

* It works

* SwiftLint

* Change path

* Cleanup version command replacement

* More optimisations

* Fix strip

* Add more prints

* More cleanup

* Cleanup and simplify

* SwiftLint

* Adjust prints

* SwiftLint :/

* More info

* Start XCLT-like insert replace (almost working)

* Revert "Start XCLT-like insert replace (almost working)"

This reverts commit d35772b.

* XCLT-like path replacement

* Fix padding
JoseMoreville pushed a commit that referenced this pull request Mar 16, 2023
* Fix XCLT-less Installer (#830)

* Revert "Add `install_name_tool` replacement (#794)"

This reverts commit 9590e8d.

* Comment the theory

* Yipee

* SwiftLint

* Step 4

* SwiftLint

* Fix cast whoopsie

* Fixes

* Some fixes and cleanup

* Spacing

* It works

* SwiftLint

* Change path

* Cleanup version command replacement

* More optimisations

* Fix strip

* Add more prints

* More cleanup

* Cleanup and simplify

* SwiftLint

* Adjust prints

* SwiftLint :/

* More info

* Start XCLT-like insert replace (almost working)

* Revert "Start XCLT-like insert replace (almost working)"

This reverts commit d35772b.

* XCLT-like path replacement

* Fix padding

* Fix space check

* Xyct suggestion not sure if this is necessary

* Who needs error checking anyways

* Fix PT failing to install first time in FAT binaries

* xclt less installer macho converter code cleanup (#851)

* macho converter code cleanup

* lint lc iterate in playtools

* add back enough space check

* Update Macho.swift

* Add Macho.swift to project

* Indentation adjustments

---------

Co-authored-by: Isaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com>
Co-authored-by: Isaac Marovitz <isaacryu@icloud.com>

---------

Co-authored-by: Xyct <87l46110@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant