leptos-null / CycriptServer

iOS app to host a cycript server
MIT No Attribution
1 stars 0 forks source link

Can't deploy app #1

Closed Einstein2150 closed 9 months ago

Einstein2150 commented 10 months ago

Any suggestion?

`Failed to install the app on the device. Domain: com.apple.dt.CoreDeviceError Code: 3002 User Info: { DVTErrorCreationDateKey = "2023-11-09 15:29:40 +0000"; IDERunOperationFailingWorker = IDEInstallCoreDeviceWorker; NSURL = "file:///Users/a1121460/Library/Developer/Xcode/DerivedData/CycriptServer-bnmnxthuetkabvbyycwbrhaearce/Build/Products/Debug-iphoneos/CycriptServer.app/"; }

„Cycript“ kann nicht installiert werden Domain: IXUserPresentableErrorDomain Code: 1 Failure Reason: Versuche es später noch einmal. Recovery Suggestion: Failed to load Info.plist from bundle at path /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.YPJk62/extracted/CycriptServer.app/Frameworks/Cycript.framework; Extra info about "/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.YPJk62/extracted/CycriptServer.app/Frameworks/Cycript.framework/Info.plist": Couldn't stat /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.YPJk62/extracted/CycriptServer.app/Frameworks/Cycript.framework/Info.plist: No such file or directory

Failed to load Info.plist from bundle at path /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.YPJk62/extracted/CycriptServer.app/Frameworks/Cycript.framework; Extra info about "/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.YPJk62/extracted/CycriptServer.app/Frameworks/Cycript.framework/Info.plist": Couldn't stat /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.YPJk62/extracted/CycriptServer.app/Frameworks/Cycript.framework/Info.plist: No such file or directory Domain: MIInstallerErrorDomain Code: 35 User Info: { FunctionName = "-[MIBundle _validateWithError:]"; LegacyErrorString = PackageInspectionFailed; SourceFileLine = 64; }

Event Metadata: com.apple.dt.IDERunOperationWorkerFinished : { "device_isCoreDevice" = 1; "device_model" = "iPad7,3"; "device_osBuild" = "17.1 (21B74)"; "device_platform" = "com.apple.platform.iphoneos"; "dvt_coredevice_version" = "348.1"; "dvt_mobiledevice_version" = "1643.2.4"; "launchSession_schemeCommand" = Run; "launchSession_state" = 1; "launchSession_targetArch" = arm64; "operation_duration_ms" = 1474; "operation_errorCode" = 35; "operation_errorDomain" = "com.apple.dt.CoreDeviceError.3002.IXUserPresentableErrorDomain.1.MIInstallerErrorDomain"; "operation_errorWorker" = IDEInstallCoreDeviceWorker; "operation_name" = IDERunOperationWorkerGroup; "param_debugger_attachToExtensions" = 0; "param_debugger_attachToXPC" = 1; "param_debugger_type" = 3; "param_destination_isProxy" = 0; "param_destination_platform" = "com.apple.platform.iphoneos"; "param_diag_MainThreadChecker_stopOnIssue" = 0; "param_diag_MallocStackLogging_enableDuringAttach" = 0; "param_diag_MallocStackLogging_enableForXPC" = 1; "param_diag_allowLocationSimulation" = 1; "param_diag_checker_tpc_enable" = 1; "param_diag_gpu_frameCapture_enable" = 0; "param_diag_gpu_shaderValidation_enable" = 0; "param_diag_gpu_validation_enable" = 0; "param_diag_memoryGraphOnResourceException" = 0; "param_diag_queueDebugging_enable" = 1; "param_diag_runtimeProfile_generate" = 0; "param_diag_sanitizer_asan_enable" = 0; "param_diag_sanitizer_tsan_enable" = 0; "param_diag_sanitizer_tsan_stopOnIssue" = 0; "param_diag_sanitizer_ubsan_stopOnIssue" = 0; "param_diag_showNonLocalizedStrings" = 0; "param_diag_viewDebugging_enabled" = 1; "param_diag_viewDebugging_insertDylibOnLaunch" = 1; "param_install_style" = 0; "param_launcher_UID" = 2; "param_launcher_allowDeviceSensorReplayData" = 0; "param_launcher_kind" = 0; "param_launcher_style" = 99; "param_launcher_substyle" = 8192; "param_runnable_appExtensionHostRunMode" = 0; "param_runnable_productType" = "com.apple.product-type.application"; "param_structuredConsoleMode" = 1; "param_testing_launchedForTesting" = 0; "param_testing_suppressSimulatorApp" = 0; "param_testing_usingCLI" = 0; "sdk_canonicalName" = "iphoneos17.0"; "sdk_osVersion" = "17.0"; "sdk_variant" = iphoneos; }

System Information

macOS Version 14.0 (Build 23A344) Xcode 15.0.1 (22266) (Build 15A507) Timestamp: 2023-11-09T16:29:40+01:00`

leptos-null commented 10 months ago

Interesting- I'm also on macOS 14.0 (23A344), Xcode 15.0.1 (15A507), and I just deployed to iOS 17.1.1.

Did you change the Xcode project at all? There's not supposed to be a framework in the resulting app (it's supposed to be statically linked in).

Einstein2150 commented 10 months ago

Ok. I just tried it with a fresh and clean project and now it works.

Should'n the app greets you with a cycript interpreter when connecting? I tried to connect with cycript from my Mac but it does nothing. The iPad where the app is running is jailbroken. I tried different commands

./cycript -r 192.168.2.30:31075 - nothing

./cycript -r 192.168.2.30:31075 -p 1121 - nothing

./cycript -r 192.168.2.30:31075 -p 1121 UIApp - nothing

I hoped that this app will run a valid cycript on my jailbroken iPad. On older devices I ran cycript from saurik cycript_0.9.594_iphoneos-arm.deb but since the codebase is now arm64 it not longer works.

Copying an arm64 version compiled on my Mac to the device runs into an issue that a dylib is missing:

./cycript dyld[4334]: Library not loaded: /usr/lib/libncurses.5.4.dylib Referenced from: <203C16F8-B7A5-31BA-96B5-9583CA5FBFF5> /private/preboot/15C4E8BD455092F48176EAFD3FF8496C402D0840/jb-JHP37VM6/procursus/var/root/src/cycript Reason: tried: '/usr/lib/libncurses.5.4.dylib' (no such file), '/usr/lib/libncurses.5.4.dylib' (wrong platform to load into process) zsh: abort ./cycript

Compiling cycript from source on the device stucks because there is currently no executable version from node.js that will run on it.

nvm install --lts
Installing latest LTS version.
Downloading and installing node v20.9.0...
Downloading https://nodejs.org/dist/v20.9.0/node-v20.9.0-darwin-iPad6,7.tar.xz...
--2023-11-10 07:10:51--  https://nodejs.org/dist/v20.9.0/node-v20.9.0-darwin-iPad6,7.tar.xz
Resolving nodejs.org (nodejs.org)... 2606:4700:10::6814:172e, 2606:4700:10::6814:162e, 104.20.22.46, ...
Connecting to nodejs.org (nodejs.org)|2606:4700:10::6814:172e|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2023-11-10 07:10:52 ERROR 404: Not Found.

Binary download from https://nodejs.org/dist/v20.9.0/node-v20.9.0-darwin-iPad6,7.tar.xz failed, trying source.
grep: /var/jb/var/root/.nvm/.cache/bin/node-v20.9.0-darwin-iPad6,7/node-v20.9.0-darwin-iPad6,7.tar.xz: No such file or directory
Provided file to checksum does not exist.
Binary download failed, trying source.
Detected that you have 2 CPU core(s)
Number of CPU core(s) less than or equal to 2, running in single-threaded mode
Clang v3.5+ detected! CC or CXX not specified, will use Clang as C/C++ compiler!
Local cache found: ${NVM_DIR}/.cache/src/node-v20.9.0/node-v20.9.0.tar.xz
Checksums match! Using existing downloaded archive ${NVM_DIR}/.cache/src/node-v20.9.0/node-v20.9.0.tar.xz
tar (child): xz: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
nvm: install v20.9.0 `failed!

Have you any idea how to run cycript on the jailbroken device? I have to less experience in Xcode. Is it possible to compile the cycript framework to a valid cycript arm64 binary by Xcode - so not a full app but only the binary...

leptos-null commented 10 months ago

Shouldn't the interpreter connect?

Yes. I'm not sure why it's not.

cycript on my jailbroken iPad

if you're jailbroken, installing cycript normally on-device is preferable. cycript is compiled for arm64 - I think the problem you're having is that the package has not been repackaged for rootless. I'd try asking about this on the Jailbreak subreddit.

leptos-null commented 9 months ago

Closing as further issues are unrelated to this project.