iOS Reverse engineering Overview (GO)

Source: Internet
Author: User

The term reverse engineering may be very unfamiliar to many people, in the Android field, we often hear "anti-compilation of an APK", then reverse engineering from a certain point of view also includes the anti-compilation technology, such a contrast, it may be easier for us to understand the definition of reverse engineering.

We cite Baidu Encyclopedia to explain this word more accurately:

Reverse engineering (also known as reverse technology), is a product design technology reproduction process, that is, a target product reverse analysis and research, so as to deduce and obtain the product's processing flow, organizational structure, functional characteristics and technical specifications and other design elements to make similar functions, but not exactly the same product. Reverse engineering is a result of hardware analysis in the commercial and military fields. The main purpose of this paper is to deduce the design principle of the product directly from the finished products without easily obtaining the necessary production information.

What is the role of reverse engineering?

Reverse engineering is not for the purpose of cracking down on other people's software, in the Business field, has a more important role, specifically including the following aspects.

  • Security Review: For iOS developers, it's not just about fulfilling the business functions of the product, but also the importance of security issues, especially for large companies. Through reverse engineering, early detection of problems, modify problems, to avoid post-release to the user's hands caused a variety of public opinion problems, damage the company's reputation.

  • Analysis of competitors: 1. Refer to the architecture design of the competitor app, 2. Refer to the interface design of the competitor app, 3. The implementation details of the key technologies.

  • Academic research: through reverse, to achieve academic research, mainly for learning.

  • Breakthrough app Restrictions: Many apps have access to different users of the restrictions, such as fees, or VIP users can use the function, through the reverse advance access to access, of course, do not recommend this way, it is recommended that we still support the genuine.

  • Identify infringement: Primarily used to investigate competing or commercial products and to identify violations.

Second, the method of reverse analysis

The methods of reverse analysis of iOS mainly include static and dynamic analysis methods.

Static analysis is, as its name implies, an analytical approach to the application itself in the event that the app is not moving. We all know about the sandbox mechanism of iOS, which stores various information about the app, including the file system structure of the application, such as a database, and, in addition, the use of special tools such as disassembly tools to view the app code is a static analysis category.

Dynamic analysis is in the app running process, through on-line debugging, analysis of the application of file structure, memory changes, interface display, etc., but also can observe the network data requests, through the packet capture analysis of the direction of business, the definition of the agreement.

Two methods of analysis in the actual reverse process, should be used, such as static analysis to obtain the basic information of the app and data storage structure, and then through the dynamic analysis of the method further into the inside of the app, study the specific implementation and principles, and greatly provide analysis efficiency.

Third, reverse analysis tools

工欲善其事 its prerequisite, after mastering the method, but also learn to use a variety of tools to analyze the different functions of the app. These tools mainly include the following:

Tools Categories Tool Name
Jailbreak tool Pangu Escape
UI analysis Tools Reveal and Ponydebugger, etc.
File System Viewing Tools Iexplorer, IFunbox, Itool, etc.
Network analysis tools WireShark, Charles, etc.
Disassembly tool Hopper, IDA Pro, etc.
Debugger Cycript, GDB, etc.
Reverse Program Development Tools Theos
Other ...

The above tools are paid tools, can use cracked version, specific features we introduced in subsequent chapters.

Iv. Summary

This article gives an overview of the reverse engineering of iOS, introduces the reverse approach and tools, which are described in detail later in this chapter.

Turn from: 54934683

iOS Reverse engineering Overview (GO)

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.