khanhduytran0 / LiveContainer

Run iOS app without actually installing it!
Apache License 2.0
1.24k stars 170 forks source link

latest uYouEnhanced/YTLitePlus not working #130

Open ghost opened 3 months ago

ghost commented 3 months ago

Describe the issue

The app crashes when the version is different. It's the new version that crashes. Strangely, no logs are displayed even though it crashed.

New version of uYouEnhanced https://ipa.cypwn.xyz/ipas/uYouEnhanced_19.32.8-3.0.4.ipa

Older versions of uYouEnhanced https://therealfoxster.github.io/altsource-viewer/view/app/?source=https://raw.githubusercontent.com/arichornloveralt/arichornloveralt.github.io/main/apps.json&id=com.google.ios.youtube

Instructions to reproduce

① Install LiveContainer with SideStore. ② Open the “LiveContainer” app. ③ Tap “Settings”. ④ Tap “Setup JLT-less certificate”. ④ The SideStore app will open and load automatically. ⑤ Once SideStore has finished loading, open the “LiveContainer” app. ⑥ “Instruction Done. Press OK finish setting up.” will be displayed, so tap “OK”. ⑦ The SideStore app will open and load automatically again. ⑧ Open the “LiveContainer” app. ⑨ Install the app.

What version of LiveContainer are you using?

Version 2.1.2-release (main/fd71dd7)

Other

There are two ways to install the app. The first way is to downgrade the app version. The second way is to install it via SideStore without using LiveContainer.

hugeBlack commented 3 months ago

It seems that new version of YouPiP and YouTubeDislikeReturn is not compatible with LiveContainer and will cause it to crash upon launch. You can decompress the ipa, remove these 2 modules from Framework folder, repack the ipa and install again. YouTube will launch then.

Update: For newer version of TYLite, you need to replace these 2 dylibs with fake ones in order to make it launch, like the JITLessTest.dylib in Livecontainer itself.

ghost commented 3 months ago

Can this be addressed in a future update? Is it difficult or impossible to achieve?

khanhduytran0 commented 3 months ago

Oh yeah, something tripped in CydiaSubstrate again.

zekiz774 commented 2 months ago

For newer version of TYLite, you need to replace these 2 dylibs with fake ones in order to make it launch, like the JITLessTest.dylib in Livecontainer itself.

what do you mean with that? Should I replace them with empty files with the same name? I'm sorry, I'm very new to IOS sideloading/modding.

Edit: yep that worked. Thanks

ghost commented 2 months ago

Update: For newer version of TYLite, you need to replace these 2 dylibs with fake ones in order to make it launch, like the JITLessTest.dylib in Livecontainer itself.

I want to use the new version of YTLitePlus.

https://github.com/YTLitePlus/YTLitePlus/actions/runs/10750372394/artifacts/1904279482

Can you give me detailed instructions?

Impure2411 commented 2 months ago

I'm wondering if YouPiP had worked properly in LiveContainer for uYouEnhanced or other ones. My YTLitePlus opens without crash (since it's an older version), but PiP crashes anyway.

Impure2411 commented 2 months ago

Update: For newer version of TYLite, you need to replace these 2 dylibs with fake ones in order to make it launch, like the JITLessTest.dylib in Livecontainer itself.

I want to use the new version of YTLitePlus.

https://github.com/YTLitePlus/YTLitePlus/actions/runs/10750372394/artifacts/1904279482

Can you give me detailed instructions?

  1. Decompress the ipa
  2. Remove these 2 modules (YouPiP and YouTubeDislikeReturn) from Framework folder
  3. Make empty files
  4. Rename them as 2 modules which you removed in step 2
  5. Repack the ipa and install again
adm1ncooler commented 2 months ago

Update: For newer version of TYLite, you need to replace these 2 dylibs with fake ones in order to make it launch, like the JITLessTest.dylib in Livecontainer itself.

I want to use the new version of YTLitePlus. https://github.com/YTLitePlus/YTLitePlus/actions/runs/10750372394/artifacts/1904279482 Can you give me detailed instructions?

  1. Decompress the ipa
  2. Remove these 2 modules (YouPiP and YouTubeDislikeReturn) from Framework folder
  3. Make empty files
  4. Rename them as 2 modules which you removed in step 2
  5. Repack the ipa and install again

``

Update: For newer version of TYLite, you need to replace these 2 dylibs with fake ones in order to make it launch, like the JITLessTest.dylib in Livecontainer itself.

I want to use the new version of YTLitePlus. https://github.com/YTLitePlus/YTLitePlus/actions/runs/10750372394/artifacts/1904279482 Can you give me detailed instructions?

  1. Decompress the ipa
  2. Remove these 2 modules (YouPiP and YouTubeDislikeReturn) from Framework folder
  3. Make empty files
  4. Rename them as 2 modules which you removed in step 2
  5. Repack the ipa and install again

##################################

I did the whole process using a-Shell app and everything worked flawless, thank you!

These the steps:

  1. Download the IPA: https://ytliteplus.github.io/#
  2. Open a-Shell app
  3. pickFolder
  4. Choose Downloads dir
  5. ls you should find the downloaded IPA
  6. mv ipafilename.ipa ipafilename.zip
  7. tar -xf ipafilename.zip
  8. cd Payload\YouTube.app\Frameworks\
  9. rm YouTubeDislikesReturn.dylib
  10. rm YouPiP.dylib
  11. touch YouTubeDislikesReturn.dylib
  12. touch YouPiP.dylib
  13. pickFolder
  14. Choose Downloads dir
  15. tar -cvf ipafilename-mod.zip Payload/
  16. mv ipafilename-mod.zip ipafilename-mod.ipa
  17. Install the modded IPA in LiveContainer app
  18. Enjoy :)
haxibami commented 2 months ago

I am facing a similar problem with YTLite + YouPiP + YouTubeDislikesReturn + YTUHD (built by this action). As said above, the app successfully starts up if I removed (or not injected) YouPiP and YouTubeDislikesReturn.

Also, I noticed that if I build using YouTube IPA of version 19.23.3 or lower, it works even with the latest tweaks.

crash log (.ips) ```txt {"app_name":"LiveContainer_PleaseDoNotShortenTheExecutableNameBecauseItIsUsed","timestamp":"2024-09-19 23:08:05.00 +0900","app_version":"2.1.2","slice_uuid":"d974c2c1-f77f-3701-9fe1-21e79c0e8e66","build_version":"2.1.2","platform":2,"bundleID":"com.kdt.livecontainer.U3BUAMY436","share_with_app_devs":1,"is_first_party":0,"bug_type":"309","os_version":"iPhone OS 18.0 (22A3354)","roots_installed":0,"name":"LiveContainer_PleaseDoNotShortenTheExecutableNameBecauseItIsUsed","incident_id":"57E0C66D-4DEC-4EFF-8696-8E1EC71337B9"} { "uptime" : 120000, "procRole" : "Foreground", "version" : 2, "userID" : 501, "deployVersion" : 210, "modelCode" : "iPhone11,8", "coalitionID" : 4564, "osVersion" : { "isEmbedded" : true, "train" : "iPhone OS 18.0", "releaseType" : "User", "build" : "22A3354" }, "captureTime" : "2024-09-19 23:08:03.9559 +0900", "codeSigningMonitor" : 1, "incident" : "57E0C66D-4DEC-4EFF-8696-8E1EC71337B9", "pid" : 9607, "translated" : false, "cpuType" : "ARM-64", "roots_installed" : 0, "bug_type" : "309", "procLaunch" : "2024-09-19 23:08:02.6368 +0900", "procStartAbsTime" : 2944871485652, "procExitAbsTime" : 2944902990950, "procName" : "LiveContainer_PleaseDoNotShortenTheExecutableNameBecauseItIsUsed", "procPath" : "\/private\/var\/containers\/Bundle\/Application\/FD9450DD-90FC-4CB9-82E2-9128A63AB1E3\/App.app\/LiveContainer_PleaseDoNotShortenTheExecutableNameBecauseItIsUsedToReserveSpaceForOverwritingThankYou", "bundleInfo" : {"CFBundleShortVersionString":"2.1.2","CFBundleVersion":"2.1.2","CFBundleIdentifier":"com.kdt.livecontainer.U3BUAMY436"}, "storeInfo" : {"deviceIdentifierForVendor":"6F2EB2FF-75F0-4BFA-8F37-1BF9A7DD0F2A","thirdParty":true}, "parentProc" : "launchd", "parentPid" : 1, "coalitionName" : "com.kdt.livecontainer.U3BUAMY436", "crashReporterKey" : "94d616a1fb7d72a79557aa1d90256d79ae7d8a3b", "wasUnlockedSinceBoot" : 1, "isLocked" : 0, "codeSigningID" : "com.kdt.livecontainer.U3BUAMY436", "codeSigningTeamID" : "U3BUAMY436", "codeSigningFlags" : 570434309, "codeSigningValidationCategory" : 3, "codeSigningTrustLevel" : 6, "instructionByteStream" : {"beforePC":"5AAAACABAAAoAQAAMAEAADgBAABAAQAASAEAAGQBAAAwQYDSARAA1A==","atPC":"AwEAVH8jA9X9e7+p\/QMAkctx\/pe\/AwCR\/XvBqP8PX9bAA1\/WEC2A0g=="}, "bootSessionUUID" : "6EF32CC5-C174-4A59-A5AF-F31429CBD96B", "basebandVersion" : "7.00.00", "vmRegionInfo" : "0 is not in any region. Bytes before following region: 4304863232\n REGION TYPE START - END [ VSIZE] PRT\/MAX SHRMOD REGION DETAIL\n UNUSED SPACE AT START\n---> \n __TEXT 100970000-10097c000 [ 48K] r-x\/r-x SM=COW \/var\/mobile\/Containers\/Data\/Application\/B8BABF64-93F7-4460-8FCA-D217F6DB1042\/Documents\/Applications\/YouTube748446825.app\/LiveContainer", "exception" : {"codes":"0x0000000000000001, 0x0000000000000000","rawCodes":[1,0],"type":"EXC_BAD_ACCESS","signal":"SIGABRT","subtype":"KERN_INVALID_ADDRESS at 0x0000000000000000"}, "termination" : {"code":9,"flags":518,"namespace":"DYLD","reasons":["missing symbol called"]}, "vmregioninfo" : "0 is not in any region. Bytes before following region: 4304863232\n REGION TYPE START - END [ VSIZE] PRT\/MAX SHRMOD REGION DETAIL\n UNUSED SPACE AT START\n---> \n __TEXT 100970000-10097c000 [ 48K] r-x\/r-x SM=COW \/var\/mobile\/Containers\/Data\/Application\/B8BABF64-93F7-4460-8FCA-D217F6DB1042\/Documents\/Applications\/YouTube748446825.app\/LiveContainer", "faultingThread" : 0, "threads" : [{"triggered":true,"id":1241944,"threadState":{"x":[{"value":6},{"value":9},{"value":6162002656},{"value":20},{"value":6162001632},{"value":0},{"value":0},{"value":2048},{"value":32},{"value":6162001502},{"value":10},{"value":0},{"value":57},{"value":4304865472},{"value":20},{"value":72},{"value":521},{"value":7204179796,"symbolLocation":420,"symbol":"__simple_bprintf"},{"value":0},{"value":0},{"value":6162001632},{"value":20},{"value":6162002656},{"value":9},{"value":6},{"value":4306635632},{"value":4307666384},{"value":4306634800},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":7204614664},"cpsr":{"value":1073741824},"fp":{"value":6162001584},"sp":{"value":6162001520},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":7204586920,"matchesCrashFrame":1},"far":{"value":0}},"queue":"com.apple.main-thread","frames":[{"imageOffset":443816,"symbol":"__abort_with_payload","symbolLocation":8,"imageIndex":11},{"imageOffset":471560,"symbol":"abort_with_payload_wrapper_internal","symbolLocation":104,"imageIndex":11},{"imageOffset":471612,"symbol":"abort_with_payload","symbolLocation":16,"imageIndex":11},{"imageOffset":42184,"symbol":"dyld4::halt(char const*, dyld4::StructuredError const*)","symbolLocation":300,"imageIndex":11},{"imageOffset":343960,"symbol":"dyld4::APIs::_dyld_missing_symbol_abort()","symbolLocation":28,"imageIndex":11},{"imageOffset":20932,"imageIndex":9},{"imageOffset":18904,"imageIndex":9},{"imageOffset":16928,"imageIndex":9},{"imageOffset":16656,"symbol":"MSFindSymbol","symbolLocation":56,"imageIndex":9},{"imageOffset":55396,"symbol":"_logosLocalCtor_438d2243","symbolLocation":628,"imageIndex":4},{"imageOffset":279132,"symbol":"invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const","symbolLocation":592,"imageIndex":11},{"imageOffset":69276,"symbol":"invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const","symbolLocation":172,"imageIndex":11},{"imageOffset":11308,"symbol":"invocation function for block in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const","symbolLocation":496,"imageIndex":11},{"imageOffset":7628,"symbol":"dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const","symbolLocation":300,"imageIndex":11},{"imageOffset":96848,"symbol":"dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const","symbolLocation":192,"imageIndex":11},{"imageOffset":50644,"symbol":"dyld3::MachOFile::forEachInitializerPointerSection(Diagnostics&, void (unsigned int, unsigned int, bool&) block_pointer) const","symbolLocation":160,"imageIndex":11},{"imageOffset":50188,"symbol":"dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const","symbolLocation":432,"imageIndex":11},{"imageOffset":49172,"symbol":"dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const","symbolLocation":176,"imageIndex":11},{"imageOffset":56236,"symbol":"dyld4::JustInTimeLoader::runInitializers(dyld4::RuntimeState&) const","symbolLocation":36,"imageIndex":11},{"imageOffset":280124,"symbol":"dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&, dyld3::Array&, dyld3::Array&) const","symbolLocation":312,"imageIndex":11},{"imageOffset":280028,"symbol":"dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&, dyld3::Array&, dyld3::Array&) const","symbolLocation":216,"imageIndex":11},{"imageOffset":286704,"symbol":"dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const::$_0::operator()() const","symbolLocation":180,"imageIndex":11},{"imageOffset":72576,"symbol":"dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const","symbolLocation":412,"imageIndex":11},{"imageOffset":133332,"symbol":"dyld4::APIs::dlopen_from(char const*, int, void*)","symbolLocation":2432,"imageIndex":11},{"imageOffset":21364,"symbol":"invokeAppMain","symbolLocation":2352,"imageIndex":0},{"imageOffset":18416,"symbol":"LiveContainerMain","symbolLocation":272,"imageIndex":0},{"imageOffset":212276,"symbol":"start","symbolLocation":2724,"imageIndex":11}]},{"id":1241961,"frames":[{"imageOffset":5248,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":13}],"threadState":{"x":[{"value":6162575360},{"value":6151},{"value":6162038784},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":0},"fp":{"value":0},"sp":{"value":6162575360},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":8843904128},"far":{"value":0}}},{"id":1241962,"frames":[{"imageOffset":5248,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":13}],"threadState":{"x":[{"value":6163148800},{"value":5123},{"value":6162612224},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":0},"fp":{"value":0},"sp":{"value":6163148800},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":8843904128},"far":{"value":0}}},{"id":1241963,"frames":[{"imageOffset":5248,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":13}],"threadState":{"x":[{"value":6163722240},{"value":4355},{"value":6163185664},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":0},"fp":{"value":0},"sp":{"value":6163722240},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":8843904128},"far":{"value":0}}},{"id":1241964,"frames":[{"imageOffset":5248,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":13}],"threadState":{"x":[{"value":6164295680},{"value":10499},{"value":6163759104},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":0},"fp":{"value":0},"sp":{"value":6164295680},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":8843904128},"far":{"value":0}}},{"id":1241965,"frames":[{"imageOffset":5248,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":13}],"threadState":{"x":[{"value":6164869120},{"value":9223},{"value":6164332544},{"value":0},{"value":409604},{"value":18446744073709551615},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":0},"cpsr":{"value":0},"fp":{"value":0},"sp":{"value":6164869120},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":8843904128},"far":{"value":0}}}], "usedImages" : [ { "source" : "P", "arch" : "arm64", "base" : 4304863232, "size" : 49152, "uuid" : "d974c2c1-f77f-3701-9fe1-21e79c0e8e66", "path" : "\/var\/mobile\/Containers\/Data\/Application\/B8BABF64-93F7-4460-8FCA-D217F6DB1042\/Documents\/Applications\/YouTube748446825.app\/LiveContainer", "name" : "LiveContainer" }, { "source" : "P", "arch" : "arm64e", "base" : 4306305024, "size" : 49152, "uuid" : "ece8465d-62ec-35e7-810f-cdedfc9817bf", "path" : "\/private\/preboot\/Cryptexes\/OS\/usr\/lib\/libobjc-trampolines.dylib", "name" : "libobjc-trampolines.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4492050432, "size" : 136167424, "uuid" : "7fe2fb9a-9c5c-3438-9c30-72d9581619ea", "path" : "\/private\/var\/mobile\/Containers\/Data\/Application\/B8BABF64-93F7-4460-8FCA-D217F6DB1042\/Documents\/Applications\/YouTube748446825.app\/YouTube", "name" : "YouTube" }, { "source" : "P", "arch" : "arm64", "base" : 4332077056, "size" : 1245184, "uuid" : "509fdab7-cedf-3fc3-81e1-ccfd6ce62f36", "path" : "\/private\/var\/mobile\/Containers\/Data\/Application\/B8BABF64-93F7-4460-8FCA-D217F6DB1042\/Documents\/Applications\/YouTube748446825.app\/Frameworks\/widevine_cdm_secured_ios.framework\/widevine_cdm_secured_ios", "name" : "widevine_cdm_secured_ios" }, { "source" : "P", "arch" : "arm64", "base" : 4306632704, "size" : 114688, "uuid" : "20169d3f-bae9-3c81-a484-0a5f18b5be46", "path" : "\/private\/var\/mobile\/Containers\/Data\/Application\/B8BABF64-93F7-4460-8FCA-D217F6DB1042\/Documents\/Applications\/YouTube748446825.app\/Frameworks\/YouTubeDislikesReturn.dylib", "name" : "YouTubeDislikesReturn.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4351410176, "size" : 13631488, "uuid" : "01a6bb65-03e5-3967-a24f-f2536cf8a94f", "path" : "\/private\/var\/mobile\/Containers\/Data\/Application\/B8BABF64-93F7-4460-8FCA-D217F6DB1042\/Documents\/Applications\/YouTube748446825.app\/Frameworks\/YTLite.dylib", "name" : "YTLite.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4306829312, "size" : 81920, "uuid" : "a7d167a3-668b-3ccc-b166-008f0bb23f3e", "path" : "\/private\/var\/mobile\/Containers\/Data\/Application\/B8BABF64-93F7-4460-8FCA-D217F6DB1042\/Documents\/Applications\/YouTube748446825.app\/Frameworks\/YouPiP.dylib", "name" : "YouPiP.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4306518016, "size" : 32768, "uuid" : "914d8b0a-1f41-3123-aaf2-6b48f2871b17", "path" : "\/private\/var\/mobile\/Containers\/Data\/Application\/B8BABF64-93F7-4460-8FCA-D217F6DB1042\/Documents\/Applications\/YouTube748446825.app\/Frameworks\/YTUHD.dylib", "name" : "YTUHD.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4307009536, "size" : 32768, "uuid" : "5efd3bd8-2f83-3bc1-b908-fd5e2afbf828", "path" : "\/private\/var\/containers\/Bundle\/Application\/FD9450DD-90FC-4CB9-82E2-9128A63AB1E3\/App.app\/Frameworks\/TweakLoader.dylib", "name" : "TweakLoader.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4307566592, "size" : 98304, "uuid" : "ffa3562c-e21d-3fa1-a2df-98d17214503e", "path" : "\/private\/var\/mobile\/Containers\/Data\/Application\/B8BABF64-93F7-4460-8FCA-D217F6DB1042\/Documents\/Applications\/YouTube748446825.app\/Frameworks\/CydiaSubstrate.framework\/CydiaSubstrate", "name" : "CydiaSubstrate" }, { "source" : "P", "arch" : "arm64e", "base" : 4317626368, "size" : 376832, "uuid" : "7525315b-d92c-37fa-9ee5-9c1d56fdf5d9", "path" : "\/private\/preboot\/Cryptexes\/OS\/usr\/lib\/libstdc++.6.0.9.dylib", "name" : "libstdc++.6.0.9.dylib" }, { "source" : "P", "arch" : "arm64e", "base" : 7204143104, "size" : 538260, "uuid" : "77c1eed2-2ed7-396a-ba34-e770120d81d4", "path" : "\/usr\/lib\/dyld", "name" : "dyld" }, { "size" : 0, "source" : "A", "base" : 0, "uuid" : "00000000-0000-0000-0000-000000000000" }, { "source" : "P", "arch" : "arm64e", "base" : 8843898880, "size" : 53236, "uuid" : "fcc77eb0-558f-3703-9267-5419c4d33ae7", "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib", "name" : "libsystem_pthread.dylib" } ], "sharedCache" : { "base" : 6527270912, "size" : 4250353664, "uuid" : "ad8966de-be94-300c-b3f5-383268d42e0d" }, "vmSummary" : "ReadOnly portion of Libraries: Total=1.5G resident=0K(0%) swapped_out_or_unallocated=1.5G(100%)\nWritable regions: Total=552.9M written=337K(0%) resident=337K(0%) swapped_out=0K(0%) unallocated=552.6M(100%)\n\n VIRTUAL REGION \nREGION TYPE SIZE COUNT (non-coalesced) \n=========== ======= ======= \nActivity Tracing 256K 1 \nColorSync 16K 1 \nCoreAnimation 32K 2 \nFoundation 16K 1 \nKernel Alloc Once 32K 1 \nMALLOC 536.7M 13 \nMALLOC guard page 32K 2 \nSTACK GUARD 96K 6 \nStack 3728K 6 \n__AUTH 4033K 407 \n__AUTH_CONST 78.3M 941 \n__CTF 824 1 \n__DATA 55.9M 908 \n__DATA_CONST 29.4M 951 \n__DATA_DIRTY 8058K 863 \n__ETC 112K 1 \n__FONT_DATA 2352 1 \n__INFO_FILTER 8 1 \n__LINKEDIT 193.4M 12 \n__OBJC_RW 2942K 1 \n__TEXT 1.3G 970 \n__TPRO_CONST 276K 3 \ndyld private memory 256K 1 \nmapped file 144K 3 \nowned unmapped memory 16K 1 \npage table in kernel 337K 1 \nshared memory 80K 4 \n=========== ======= ======= \nTOTAL 2.2G 5103 \n", "legacyInfo" : { "threadTriggered" : { "queue" : "com.apple.main-thread" } }, "logWritingSignature" : "0445efab909982cf061200e240d1963845037d9d", "trialInfo" : { "rollouts" : [ { "rolloutId" : "60356660bbe37970735c5624", "factorPackIds" : { }, "deploymentId" : 240000027 }, { "rolloutId" : "642da32dea3b2418c750f848", "factorPackIds" : { "VISUAL_INTELLIGENCE_VICTORIA" : "66d8b2f77cd4b62688efd2cf" }, "deploymentId" : 240000004 } ], "experiments" : [ { "treatmentId" : "c47ab4cc-c9c3-4b5d-a87c-e2433ce02597", "experimentId" : "6639bc6ba73d460582162323", "deploymentId" : 400000006 }, { "treatmentId" : "45f4e2a5-551b-4bc2-a2dc-19c244dda8f8", "experimentId" : "6643969b3099cf28e049862f", "deploymentId" : 400000007 } ] } } ```
crash log analyzed by pycrashreport ```txt 57E0C66D-4DEC-4EFF-8696-8E1EC71337B9 2024-09-19 23:08:05 LiveContainer_PleaseDoNotShortenTheExecutableNameBecauseItIsUsed-2024-09-19-230805.ips Exception: EXC_BAD_ACCESS Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000000 Registers: x0 = 0x0000000000000006 x1 = 0x0000000000000009 x2 = 0x000000016f48b2e0 x3 = 0x0000000000000014 x4 = 0x000000016f48aee0 x5 = 0x0000000000000000 x6 = 0x0000000000000000 x7 = 0x0000000000000800 x8 = 0x0000000000000020 x9 = 0x000000016f48ae5e x10 = 0x000000000000000a x11 = 0x0000000000000000 x12 = 0x0000000000000039 x13 = 0x00000001009708c0 x14 = 0x0000000000000014 x15 = 0x0000000000000048 x16 = 0x0000000000000209 x17 = 0x00000001ad670f54 x18 = 0x0000000000000000 x19 = 0x0000000000000000 x20 = 0x000000016f48aee0 x21 = 0x0000000000000014 x22 = 0x000000016f48b2e0 x23 = 0x0000000000000009 x24 = 0x0000000000000006 x25 = 0x0000000100b20b70 x26 = 0x0000000100c1c5d0 x27 = 0x0000000100b20830 x28 = 0x0000000000000000 x0 = 0x0000000000000006 x1 = 0x0000000000000009 x2 = 0x000000016f48b2e0 x3 = 0x0000000000000014 x4 = 0x000000016f48aee0 x5 = 0x0000000000000000 x6 = 0x0000000000000000 x7 = 0x0000000000000800 x8 = 0x0000000000000020 x9 = 0x000000016f48ae5e x10 = 0x000000000000000a x11 = 0x0000000000000000 x12 = 0x0000000000000039 x13 = 0x00000001009708c0 x14 = 0x0000000000000014 x15 = 0x0000000000000048 x16 = 0x0000000000000209 x17 = 0x00000001ad670f54 x18 = 0x0000000000000000 x19 = 0x0000000000000000 x20 = 0x000000016f48aee0 x21 = 0x0000000000000014 x22 = 0x000000016f48b2e0 x23 = 0x0000000000000009 x24 = 0x0000000000000006 x25 = 0x0000000100b20b70 x26 = 0x0000000100c1c5d0 x27 = 0x0000000100b20830 x28 = 0x0000000000000000 lr = 0x00000001ad6db208 cpsr = 0x0000000040000000 fp = 0x000000016f48aeb0 sp = 0x000000016f48ae70 esr = 0x0000000056000080 pc = 0x00000001ad6d45a8 far = 0x0000000000000000 Frames: [/usr/lib/dyld] 0x1ad668000 + 0x6c5a8 (__abort_with_payload + 0x8) [/usr/lib/dyld] 0x1ad668000 + 0x73208 (abort_with_payload_wrapper_internal + 0x68) [/usr/lib/dyld] 0x1ad668000 + 0x7323c (abort_with_payload + 0x10) [/usr/lib/dyld] 0x1ad668000 + 0xa4c8 (dyld4::halt(char const*, dyld4::StructuredError const*) + 0x12c) [/usr/lib/dyld] 0x1ad668000 + 0x53f98 (dyld4::APIs::_dyld_missing_symbol_abort() + 0x1c) [/private/var/mobile/Containers/Data/Application/B8BABF64-93F7-4460-8FCA-D217F6DB1042/Documents/Applications/YouTube748446825.app/Frameworks/CydiaSubstrate.framework/CydiaSubstrate] 0x100c04000 + 0x51c4 [/private/var/mobile/Containers/Data/Application/B8BABF64-93F7-4460-8FCA-D217F6DB1042/Documents/Applications/YouTube748446825.app/Frameworks/CydiaSubstrate.framework/CydiaSubstrate] 0x100c04000 + 0x49d8 [/private/var/mobile/Containers/Data/Application/B8BABF64-93F7-4460-8FCA-D217F6DB1042/Documents/Applications/YouTube748446825.app/Frameworks/CydiaSubstrate.framework/CydiaSubstrate] 0x100c04000 + 0x4220 [/private/var/mobile/Containers/Data/Application/B8BABF64-93F7-4460-8FCA-D217F6DB1042/Documents/Applications/YouTube748446825.app/Frameworks/CydiaSubstrate.framework/CydiaSubstrate] 0x100c04000 + 0x4110 (MSFindSymbol + 0x38) [/private/var/mobile/Containers/Data/Application/B8BABF64-93F7-4460-8FCA-D217F6DB1042/Documents/Applications/YouTube748446825.app/Frameworks/YouTubeDislikesReturn.dylib] 0x100b20000 + 0xd864 (_logosLocalCtor_438d2243 + 0x274) [/usr/lib/dyld] 0x1ad668000 + 0x4425c (invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const + 0x250) [/usr/lib/dyld] 0x1ad668000 + 0x10e9c (invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const + 0xac) [/usr/lib/dyld] 0x1ad668000 + 0x2c2c (invocation function for block in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const + 0x1f0) [/usr/lib/dyld] 0x1ad668000 + 0x1dcc (dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const + 0x12c) [/usr/lib/dyld] 0x1ad668000 + 0x17a50 (dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const + 0xc0) [/usr/lib/dyld] 0x1ad668000 + 0xc5d4 (dyld3::MachOFile::forEachInitializerPointerSection(Diagnostics&, void (unsigned int, unsigned int, bool&) block_pointer) const + 0xa0) [/usr/lib/dyld] 0x1ad668000 + 0xc40c (dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const + 0x1b0) [/usr/lib/dyld] 0x1ad668000 + 0xc014 (dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const + 0xb0) [/usr/lib/dyld] 0x1ad668000 + 0xdbac (dyld4::JustInTimeLoader::runInitializers(dyld4::RuntimeState&) const + 0x24) [/usr/lib/dyld] 0x1ad668000 + 0x4463c (dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&, dyld3::Array&, dyld3::Array&) const + 0x138) [/usr/lib/dyld] 0x1ad668000 + 0x445dc (dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&, dyld3::Array&, dyld3::Array&) const + 0xd8) [/usr/lib/dyld] 0x1ad668000 + 0x45ff0 (dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const::$_0::operator()() const + 0xb4) [/usr/lib/dyld] 0x1ad668000 + 0x11b80 (dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const + 0x19c) [/usr/lib/dyld] 0x1ad668000 + 0x208d4 (dyld4::APIs::dlopen_from(char const*, int, void*) + 0x980) [/var/mobile/Containers/Data/Application/B8BABF64-93F7-4460-8FCA-D217F6DB1042/Documents/Applications/YouTube748446825.app/LiveContainer] 0x100970000 + 0x5374 (invokeAppMain + 0x930) [/var/mobile/Containers/Data/Application/B8BABF64-93F7-4460-8FCA-D217F6DB1042/Documents/Applications/YouTube748446825.app/LiveContainer] 0x100970000 + 0x47f0 (LiveContainerMain + 0x110) [/usr/lib/dyld] 0x1ad668000 + 0x33d34 (start + 0xaa4) ```
h2omax commented 1 month ago

Update: For newer version of TYLite, you need to replace these 2 dylibs with fake ones in order to make it launch, like the JITLessTest.dylib in Livecontainer itself.

I want to use the new version of YTLitePlus. https://github.com/YTLitePlus/YTLitePlus/actions/runs/10750372394/artifacts/1904279482 Can you give me detailed instructions?

  1. Decompress the ipa
  2. Remove these 2 modules (YouPiP and YouTubeDislikeReturn) from Framework folder
  3. Make empty files
  4. Rename them as 2 modules which you removed in step 2
  5. Repack the ipa and install again

``

Update: For newer version of TYLite, you need to replace these 2 dylibs with fake ones in order to make it launch, like the JITLessTest.dylib in Livecontainer itself.

I want to use the new version of YTLitePlus. https://github.com/YTLitePlus/YTLitePlus/actions/runs/10750372394/artifacts/1904279482 Can you give me detailed instructions?

  1. Decompress the ipa
  2. Remove these 2 modules (YouPiP and YouTubeDislikeReturn) from Framework folder
  3. Make empty files
  4. Rename them as 2 modules which you removed in step 2
  5. Repack the ipa and install again

##################################

I did the whole process using a-Shell app and everything worked flawless, thank you!

These the steps:

1. Download the IPA: https://ytliteplus.github.io/#

2. Open a-Shell app

3. `pickFolder`

4. Choose Downloads dir

5. `ls` you should find the downloaded IPA

6. `mv ipafilename.ipa ipafilename.zip`

7. `tar -xf ipafilename.zip`

8. `cd Payload\YouTube.app\Frameworks\`

9. `rm YouTubeDislikesReturn.dylib`

10. `rm YouPiP.dylib`

11. `touch YouTubeDislikesReturn.dylib`

12. `touch YouPiP.dylib`

13. `pickFolder`

14. Choose Downloads dir

15. `tar -cvf ipafilename-mod.zip Payload/`

16. `mv ipafilename-mod.zip ipafilename-mod.ipa`

17. Install the modded IPA in LiveContainer app

18. Enjoy :)

I am trying to replicate this process but get stuck at step 8, where a-Shell says "no such file or directory". Any tips on how to fix?

adm1ncooler commented 1 month ago

@h2omax are you sure the tar command extracted the files from .zip inside the current dir?

h2omax commented 1 month ago

Yes, after running the tar command a Payload folder appears in the current directory, containing YouTube.app

adm1ncooler commented 1 month ago

@h2omax so cd /Payload command should work.

tagjg commented 1 week ago

An error log is now displayed. It is as follows.

dlopen(/var/mobile/Containers/Data/Application/8160A4BE-FB05-479B-9076-5F705EDDCFD6/Documents/Applications/com.google.ios.youtube.app/YouTube, 0x0109): tried: '/var/mobile/Containers/Data/Application/8160A4BE-FB05-479B-9076-5F705EDDCFD6/Documents/Applications/com.google.ios.youtube.app/YouTube' (code signature invalid in <5BE10252-2DEF-34FF-9702-D2C0E5D58816> '/private/var/mobile/Containers/Data/Application/8160A4BE-FB05-479B-9076-5F705EDDCFD6/Documents/Applications/com.google.ios.youtube.app/YouTube' (errno=85) sliceOffset=0x00000000, codeBlobOffset=0x098E97A0, codeBlobSize=0x003E7140), '/private/preboot/Cryptexes/OS/var/mobile/Containers/Data/Application/8160A4BE-FB05-479B-9076-5F705EDDCFD6/Documents/Applications/com.google.ios.youtube.app/YouTube' (no such file), '/var/mobile/Containers/Data/Application/8160A4BE-FB05-479B-9076-5F705EDDCFD6/Documents/Applications/com.google.ios.youtube.app/YouTube' (code signature invalid in <5BE10252-2DEF-34FF-9702-D2C0E5D58816> '/private/var/mobile/Containers/Data/Application/8160A4BE-FB05-479B-9076-5F705EDDCFD6/Documents/Applications/com.google.ios.youtube.app/YouTube' (errno=85) sliceOffset=0x00000000, codeBlobOffset=0x098E97A0, codeBlobSize=0x003E7140), '/private/var/mobile/Containers/Data/Application/8160A4BE-FB05-479B-9076-5F705EDDCFD6/Documents/Applications/com.google.ios.youtube.app/YouTube' (code signature invalid in <5BE10252-2DEF-34FF-9702-D2C0E5D58816> '/private/var/mobile/Containers/Data/Application/8160A4BE-FB05-479B-9076-5F705EDDCFD6/Documents/Applications/com.google.ios.youtube.app/YouTube' (errno=85) sliceOffset=0x00000000, codeBlobOffset=0x098E97A0, codeBlobSize=0x003E7140), '/private/preboot/Cryptexes/OS/private/var/mobile/Containers/Data/Application/8160A4BE-FB05-479B-9076-5F705EDDCFD6/Documents/Applications/com.google.ios.youtube.app/YouTube' (no such file), '/private/var/mobile/Containers/Data/Application/8160A4BE-FB05-479B-9076-5F705EDDCFD6/Documents/Applications/com.google.ios.youtube.app/YouTube' (code signature invalid in <5BE10252-2DEF-34FF-9702-D2C0E5D58816> '/private/var/mobile/Containers/Data/Application/8160A4BE-FB05-479B-9076-5F705EDDCFD6/Documents/Applications/com.google.ios.youtube.app/YouTube' (errno=85) sliceOffset=0x00000000, codeBlobOffset=0x098E97A0, codeBlobSize=0x003E7140)

tagjg commented 1 week ago

I learned that YouTube Plus (ex. YTLite) can be launched in LiveContainer. https://github.com/user-attachments/assets/8807e75d-272d-4f91-8ff8-f51417e78ff5