Use LLDB to debug third-party apps on non-jailbroken devices

Source: Internet
Author: User
Tags decrypt

Description This method was thought of when iOS 8 was released, and was used primarily to debug an App on a non-jailbroken iOS 8 device that already supports iOS 8, such as the UC browser, which uses UCWEB as an example to illustrate some of the commands. Principle     No principle, mainly the use of Xcode tool chain, of course, if the certificate, signature, entitlements more familiar with, it may be natural to think of this method. At that time, after thinking about the method, on the GitHub search on the discovery has been written about the tools, the following people say how to operate. Tools     Ios-deploy:https://github.com/phonegap/ios-deployEnvironment     1. OS X Yosemite-10.10.22, xcode-6.1.1Steps 1. Configure Xcode's command-line environment , such as:

     Description: The IOS system version number supported by Xcode needs to be greater than or equal to the device, otherwise it will not be able to mount the debugging tool.
2. Checkout tool : Git clone https://github.com/phonegap/ios-deploy
3, the compiler tool , the shell into the Ios-deploy directory, direct make can:
 

    after the compilation succeeds, the Ios-deploy can be copied to the/usr/local/bin for global use.
4, in the jailbreak device to decrypt the third-party App, you can manually operate, you can also use clutch and so on. This step is more important, do not decrypt the error, the specific reason is not to be investigated. Applications that are installed on the device when debugging is being developed are also not encrypted.
5, permission entitlements:
<?xml version= "1.0"?>
<! DOCTYPE plist Public "-//apple//dtd plist 1.0//en" "Http://www.apple.com/DTDs/PropertyList-1.0.dtd" >
<plist version= "1.0" >
<dict>
<key>get-task-allow</key>
<true/>
</dict>
</plist>

Save the above content as: Entitlements.plist, required after signing.
6, prepare mobileprovision files , can be downloaded in iOS Dev Center, mobileprovision files need to include target devices, this should be known as iOS development. The check method is: You can use Emacs to open the Mobileprovision file, and then see if the device's Udid is in the file. Rename download to mobileprovision to Embedded.mobileprovision and copy the renamed file to Ucweb.app:

      7, run the following command to re-sign :      
Codesign-f-S "iPhone Developer: Your certificate name"--entitlements entitlements.plist Ucweb.app

8, run the following command to start debugging, please unlock the screen before commissioning:     
Ios-deploy-v-d-n-i "Set UDID"-B Ucweb.app

Description: The process for installing an app is long. If successful, the status is as follows:
      9, set breakpoints, run the program:

10, the other with the normal LLDB remote debugging no difference, enjoy.                

Use LLDB to debug third-party apps on non-jailbroken devices

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.