Unable to use objection with corellium device - ios

I am trying to use objection with my Corellium iOS device but I am getting the following error.
Using USB device `iPhone`
Unable to connect to the frida server: unable to communicate with remote frida-server; please ensure that major versions match and that the remote Frida has the feature you are trying to use
Corellium iOS Device Details: (iPhone 7 Plus | 14.3 | Jailbroken)
iOS Device Frida Version: 16.0.1
MacOS Frida Version: 16.0.1
For connecting to my virtual device I am using Tunnelblick and USBFlux. The connection is successful because I can SSH to my device and use frida-ps and frida-ls-devices without any issues.
However, when I issue the objection command, I encounter an error.
ubaidahmed#Ubaids-MacBook-Pro ~ % frida-ps -Ua
PID Name Identifier
3 ------- ---------------------------------
593 Cydia com.saurik.Cydia
546 DVIA-v2 com.highaltitudehacks.DVIAswiftv2
ubaidahmed#Ubaids-MacBook-Pro ~ % objection -g 546 explore
Using USB device `iPhone`
Unable to connect to the frida server: unable to communicate with remote frida-server; please ensure that major versions match and that the remote Frida has the feature you are trying to use
I even tried to upgrade the frida version to the latest 16.0.8 on my virtual iOS device but again faced the following error in cydia.
Steps followed for updating frida version:
Go to Sources
Edit > Add > https://build.frida.re - Add Source
Select the added entry - build.frida.re > All Packages
Select Frida (it shows latest Frida version) and click on Install
Installation fails
Edited: Also, I have tried to use objection with network option but still no success.
I have tried to provide as much information as possible related to the issue. Please help me out in resolving this strange issue.

If the connection via virtual USB doesn't work you can switch to a direct TCP connection. Execute frida -H IP:port and e.g. use port forwarding to get the frida server port to your local system.
The default frida-server port is 27042.
frida_16.0.8 in Cydia
The recent versions of the Debian package of frida-server don't work (see this issue). Keep your existing version or if you need to install it manually download the deb package of frida_16.0.7_iphoneos-arm.deb (do not use the 16.0.8 version, it is defect use at least 16.0.7 or older) from frida release page.
Download the deb package and install it manually by executing dpkg -i <frida...iphoneos-arm.deb>.

Related

How to fix Failure “INSTALL PARSE FAILED NO CERTIFICATES” for Appium & Python?

I am making an automation script to automate a Real SMartphone Android 8.1:
Environment
Python 3.7
Windows 10 64Bits
Build-tools 29.0.3
java version "1.8.0_241"
Appium 1.17.1
Node v12.15.0
sdkmanager 4.0.1
ADB (Android Debug Bridge) version 1.0.41
Version 30.0.3-6597393
When I run my script, I get these error message:
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
--> We can't open Instagram. Please check if device is connected. Let's try again!
Message: An unknown server-side error occurred while processing the command. Original error: Performing Push Install
C:\Users\Nino\AppData\Roaming\npm\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-debug-androidTest.apk: 1 file pushed, 0 skipped. 87.8 MB/s (470052 bytes in 0.005s)
Appium log file:
https://github.com/gauthierbuttez/public/blob/master/appium_issue04082020.log
What I've tried:
I added this desired capability:
desired_caps['remoteAppsCacheLimit'] = 0
It didn't help.
I reset factory my Android device but it didn't help.
Does anyone already faced this issue?
Try to add noSign: true to capabilities. It might help.
I also suggest manually removing Appium Settings and Instagram apps before starting a new session.

How to check the Bundle Version of a iOS App on the phone connected via USB using the command line?

I wanted to know if there is a way to get the Bundle Version of a iOS App on the phone connected via USB using the command line (from a Mac running on OSX)?
I have seen a solution in which you need to download the IPA application and then unzip it and read the Info.plist file to find the Bundle Version and bundle version string short but I wanted to know if there is a way or tool to directly get the version from the phone without having to download the App/IPA.
Thank you
You can use the ideviceinstaller utility from libimobiledevice.
You can use the -l flag to list all apps installed on the device. Use the -o xml flag to make the utility list the results in an XML format.
On Mac, you can install ideviceinstaller using Homebrew. On Linux, be aware that the copies of libimobiledevice which ship with the various Linux distributions are usually out of date, so you're better off installing from source.

Failed to execute adb.exe when trying to run Xamarin.UITest

I'm trying to setup a Xamarin UITest without any luck.
When I try to run 'all tests', I get the following error:
execute: C:\Users\Brandon\AppData\Local\Android\android-sdk\platform-tools\adb.exe devices - exit code: 1
error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: Only one usage of each socket address (protocol/network address/port) is normally permitted. (10048)
List of devices attached
adb server version (39) doesn't match this client (36); killing...
could not read ok from ADB Server
* failed to start daemon *
error: cannot connect to daemon
ADB seems to be started just fine and the weird thing is that it seems to be using an adb version from another user, even though..
1) Tools > Options > Xamarin > Android is set to different path than the above-mentioned, for the Android SDK.
2) There is no system environment path variable that I can find for the above-referenced adb.exe path!
Am I missing something?
In my case it was Android Emulator version mismatch. Somehow Emulator got updated to the newer version:
After uninstalling Emulator, switching Feed to Microsoft instead of google and re-installing Emulator - error was gone and everything worked just fine.

Uninstalling app from iOS Device thru command line

I'm running test on an app using UIAutomation, but I need a way to uninstall the app in a device (iPhone, iPad, iPod) without using jailbreak.
Currently I´m using fruitstrap to upload the app to a cable connected device using the device UID.
Is there a way thru a command line (yes it MUST be command line) to delete the app from the device?
Use the fantastic mobiledevice tool!
mobiledevice repo on GitHub
It compiles in seconds and it let you interact with the connected iOS devices very easily.
Use ideviceinstaller
To install app: ideviceinstaller -i testApp.ipa
To uninstall app: If you don't know bundle id, first get bundle id
ideviceinstaller -l then
ideviceinstaller -U com.testPackage.testApp
New Kid on the block - ios-deploy MobileDevice was a good tool, however not being actively developed. ios-deploy works great.
Here is the command -
ios-deploy --id <device_id> --uninstall_only --bundle_id com.app.testapp
(ios-deploy is forked from fruitstrap only)
Via command line: uninstall [-i/--id device_id] -b/--bundle bundle.app
Removed the specified bundle identifier (eg com.foo.MyApp) from the specified device, or all attached devices if none are specified.
Used this repository
Note: works with SDK 6.1.3 but not with SDK 6.1.4
For those who still get here by google:
You can installe the ruby gem ios_app_installer (which is a "light" version of ios-deploy) and after installing it use the command
ios_app_installer -b <bundle id> -u
(The device may have to be connected via USB)

ipad ip address using command line tools

I have an iOS device (iPhone or iPad) hooked up to my mac laptop. Obviously, you can get the IP address of the iOS device from settings, but is there a way to do this using command line tools (without rooting the iOS device)? I need to be able to do this for some test automation.
brew install open ssl
brew install --HEAD libimobiledevice
brew install arp-scan
macaddr=$(ideviceinfo -u <UUID OF DEVICE> -k WiFiAddress)
arp-scan --interface=<eth interface connected to same wifi> --localnet | grep $mac_addr"
This is flaky, because you need to force the devices to see each other on the LAN. I work around it turning wifi on and off on the device.
This is the best solution I have found. I generally cache this info since getting it dynamically is unreliable. arp-scan also requires you be root to access the network device.
You can use this web service to know your IP Address , the web service returns you an XML with your ip-address ...
http://www.domaintools.com/research/my-ip/myip.xml

Resources