{"id":23630,"date":"2023-05-05T03:32:41","date_gmt":"2023-05-05T03:32:41","guid":{"rendered":"https:\/\/www.booksofall.com\/cn\/?post_type=product&#038;p=23630"},"modified":"2023-05-05T03:59:32","modified_gmt":"2023-05-05T03:59:32","slug":"ios-app-reverse-engineering","status":"publish","type":"product","link":"https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/","title":{"rendered":"iOS App Reverse Engineering"},"content":{"rendered":"<div id=\"reading-mode-page-div-18\" class=\"reading-mode-page-div\">\n<div>\n<h2>Introduction to iOS reverse engineering<\/h2>\n<p>Although the recipe of <a href=\"https:\/\/www.coca-colacompany.com\/\">Coca-Cola<\/a> is highly confidential, some other companies can still copy its taste. Although we don\u2019t have access to the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Source_code\">source code<\/a> of others\u2019 Apps, we can dig into their details by reverse engineering.<\/p>\n<p>1.1 \u00a0 Prerequisites of iOS reverse engineering<\/p>\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/IOS\">iOS<\/a> reverse engineering refers to the process of reverse analysis at software-level. If you want to have strong skills on iOS reverse engineering, you\u2019d better be familiar with the hardware constitution of iOS and how iOS works. Also, you should have rich experiences in developing iOS Apps. If you can infer the project scale of an App after using it for a while, its related technologies, its MVC pattern, and which open source projects or frameworks it references, you can announce that you have a good ability on reverse engineering.<\/p>\n<p>Sounds demanding? Aha, a bit. However, all above prerequisites are not fully necessary. As long as you can keep a strong curiosity and perseverance in iOS reverse engineering, you can also become a good iOS reverse engineer. The reason is that during the process of reverse engineering, your curiosity will drive you to study those classical Apps. And it is inevitable that you will encounter some problems that you can\u2019t fix immediately. As a result, it takes your perseverance to support you to overcome the difficulties one by one. Trust me, you will surely get your ability improved and feel the beauty of reverse engineering after putting lots of efforts on programming, debugging and analyzing the logic of software.<\/p>\n<p>1.2 \u00a0What does iOS reverse engineering do<\/p>\n<p>Metaphorically speaking, we can regard iOS reverse engineering as a spear, which can break the seemingly safe protection of Apps. It is interesting and ridiculous to note that many companies that develop Apps are not aware of the existence of this spear and think their Apps are unbreakable.<\/p>\n<\/div>\n<\/div>\n<div id=\"reading-mode-page-div-19\" class=\"reading-mode-page-div\">\n<p>For <a href=\"https:\/\/en.wikipedia.org\/wiki\/Instant_messaging\">IM<\/a> Apps like <a href=\"https:\/\/www.wechat.com\/en\/\">WeChat<\/a> or <a href=\"https:\/\/www.whatsapp.com\/\">WhatsApp<\/a>, the core of this kind of Apps is the information they exchange. For software of banks, payment or e-commerce, the core is the monetary transaction data and customer information. All these core data have to be securely protected. So developers have to protect their Apps by combining anti-debugging, data encryption and code obfuscation together. The aim is to increase the difficulty of reverse engineering and prevent similar security issues from affecting user experience.<\/p>\n<p>However, the technologies currently being used to protect Apps are not in the same dimension with those being used in iOS reverse engineering. For general App protections, they look like fortified castles. By applying the <a href=\"https:\/\/www.tutorialspoint.com\/mvc_framework\/mvc_framework_introduction.htm\">MVC architecture<\/a> of Apps inside the castle with thick walls outside, we may feel that they are insurmountable, as shown in figure 1-1.<\/p>\n<p>But if we step onto another higher dimension and overlook into the castle where the App resides, you find that structure inside the castle is no longer a secret, as shown in figure 1-2.<\/p>\n<p>All Objective-C interfaces, all properties, all exported functions, all global variables, even all logics are exposed in front of us, which means all protections have became useless. So if we are in this dimension, walls are no longer hindrances. What we should focus on is how can we find our targets inside the huge castle.<\/p>\n<p>At this point, by using reverse engineering techniques, you can enter the low dimension castle from any high dimension places without damaging walls of the castle, which is definitely tricky while not laborious. By monitoring and even changing the logics of Apps, you can learn the core information and design details easily.<\/p>\n<p>Sounds very incredible? But this is true. According to the experiences and achievements I\u2019ve got from the study of iOS reverse engineering, I can say that reverse engineering can break the protection of most Apps, all their implementation and design details can be completely exposed.<\/p>\n<p>The metaphor above is only my personal viewpoint. However, it vividly illustrates how powerful iOS reverse engineering is. In a nutshell, there are two major functions in iOS reverse engineering as below:<\/p>\n<ul>\n<li>Analyze the target App and get the core information. This can be concluded as security related reverse engineering.<\/li>\n<li>Learn from other Apps\u2019 features and then make use of them in our own Apps. This can be concluded as development related reverse engineering.<\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p><iframe style=\"width: 100%; height: 750px; border: none;\" src=\"https:\/\/online.visual-paradigm.com\/share\/book\/ios-app-reverse-engineering-1cfxc3xah1?p=1\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n","protected":false},"featured_media":23636,"template":"","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"iOS reverse engineering is the process of analyzing and understanding the structure and behavior of an iOS app. Learn more here!"},"product_brand":[],"product_cat":[381],"product_tag":[],"class_list":{"0":"post-23630","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-reverse-engineering","8":"first","9":"instock","10":"shipping-taxable","11":"product-type-simple"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>iOS App Reverse Engineering - BooksOfAll Simplified Chinese<\/title>\n<meta name=\"description\" content=\"iOS reverse engineering is the process of analyzing and understanding the structure and behavior of an iOS app. Learn more here!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"iOS App Reverse Engineering - BooksOfAll Simplified Chinese\" \/>\n<meta property=\"og:description\" content=\"iOS reverse engineering is the process of analyzing and understanding the structure and behavior of an iOS app. Learn more here!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/\" \/>\n<meta property=\"og:site_name\" content=\"BooksOfAll Simplified Chinese\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-05T03:59:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.booksofall.com\/cn\/wp-content\/uploads\/sites\/2\/2023\/05\/IOS-App-Reverse-Engineering.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.booksofall.com\/cn\/wp-content\/uploads\/sites\/2\/2023\/05\/IOS-App-Reverse-Engineering.jpg\" \/>\n<meta name=\"twitter:label1\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/\",\"url\":\"https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/\",\"name\":\"iOS App Reverse Engineering - BooksOfAll Simplified Chinese\",\"isPartOf\":{\"@id\":\"https:\/\/www.booksofall.com\/cn\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.booksofall.com\/cn\/wp-content\/uploads\/sites\/2\/2023\/05\/IOS-App-Reverse-Engineering.jpg\",\"datePublished\":\"2023-05-05T03:32:41+00:00\",\"dateModified\":\"2023-05-05T03:59:32+00:00\",\"description\":\"iOS reverse engineering is the process of analyzing and understanding the structure and behavior of an iOS app. Learn more here!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/#primaryimage\",\"url\":\"https:\/\/www.booksofall.com\/cn\/wp-content\/uploads\/sites\/2\/2023\/05\/IOS-App-Reverse-Engineering.jpg\",\"contentUrl\":\"https:\/\/www.booksofall.com\/cn\/wp-content\/uploads\/sites\/2\/2023\/05\/IOS-App-Reverse-Engineering.jpg\",\"width\":\"827\",\"height\":\"1169\",\"caption\":\"IOS App Reverse Engineering\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.booksofall.com\/cn\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Categories\",\"item\":\"https:\/\/www.booksofall.com\/cn\/categories\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"iOS App Reverse Engineering\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.booksofall.com\/cn\/#website\",\"url\":\"https:\/\/www.booksofall.com\/cn\/\",\"name\":\"BooksOfAll Simplified Chinese\",\"description\":\"Biggest IT eBooks library and learning resources - Free eBooks for programming, computing, artificial intelligence and more.\",\"publisher\":{\"@id\":\"https:\/\/www.booksofall.com\/cn\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.booksofall.com\/cn\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.booksofall.com\/cn\/#organization\",\"name\":\"BooksOfAll Simplified Chinese\",\"url\":\"https:\/\/www.booksofall.com\/cn\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.booksofall.com\/cn\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.booksofall.com\/cn\/wp-content\/uploads\/sites\/2\/2022\/06\/booksofall-logo-2.png\",\"contentUrl\":\"https:\/\/www.booksofall.com\/cn\/wp-content\/uploads\/sites\/2\/2022\/06\/booksofall-logo-2.png\",\"width\":166,\"height\":30,\"caption\":\"BooksOfAll Simplified Chinese\"},\"image\":{\"@id\":\"https:\/\/www.booksofall.com\/cn\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"iOS App Reverse Engineering - BooksOfAll Simplified Chinese","description":"iOS reverse engineering is the process of analyzing and understanding the structure and behavior of an iOS app. Learn more here!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/","og_locale":"zh_CN","og_type":"article","og_title":"iOS App Reverse Engineering - BooksOfAll Simplified Chinese","og_description":"iOS reverse engineering is the process of analyzing and understanding the structure and behavior of an iOS app. Learn more here!","og_url":"https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/","og_site_name":"BooksOfAll Simplified Chinese","article_modified_time":"2023-05-05T03:59:32+00:00","og_image":[{"url":"https:\/\/www.booksofall.com\/cn\/wp-content\/uploads\/sites\/2\/2023\/05\/IOS-App-Reverse-Engineering.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_image":"https:\/\/www.booksofall.com\/cn\/wp-content\/uploads\/sites\/2\/2023\/05\/IOS-App-Reverse-Engineering.jpg","twitter_misc":{"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"4 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/","url":"https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/","name":"iOS App Reverse Engineering - BooksOfAll Simplified Chinese","isPartOf":{"@id":"https:\/\/www.booksofall.com\/cn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/#primaryimage"},"image":{"@id":"https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/#primaryimage"},"thumbnailUrl":"https:\/\/www.booksofall.com\/cn\/wp-content\/uploads\/sites\/2\/2023\/05\/IOS-App-Reverse-Engineering.jpg","datePublished":"2023-05-05T03:32:41+00:00","dateModified":"2023-05-05T03:59:32+00:00","description":"iOS reverse engineering is the process of analyzing and understanding the structure and behavior of an iOS app. Learn more here!","breadcrumb":{"@id":"https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/"]}]},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/#primaryimage","url":"https:\/\/www.booksofall.com\/cn\/wp-content\/uploads\/sites\/2\/2023\/05\/IOS-App-Reverse-Engineering.jpg","contentUrl":"https:\/\/www.booksofall.com\/cn\/wp-content\/uploads\/sites\/2\/2023\/05\/IOS-App-Reverse-Engineering.jpg","width":"827","height":"1169","caption":"IOS App Reverse Engineering"},{"@type":"BreadcrumbList","@id":"https:\/\/www.booksofall.com\/cn\/ios-app-reverse-engineering\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.booksofall.com\/cn\/"},{"@type":"ListItem","position":2,"name":"Categories","item":"https:\/\/www.booksofall.com\/cn\/categories\/"},{"@type":"ListItem","position":3,"name":"iOS App Reverse Engineering"}]},{"@type":"WebSite","@id":"https:\/\/www.booksofall.com\/cn\/#website","url":"https:\/\/www.booksofall.com\/cn\/","name":"BooksOfAll Simplified Chinese","description":"Biggest IT eBooks library and learning resources - Free eBooks for programming, computing, artificial intelligence and more.","publisher":{"@id":"https:\/\/www.booksofall.com\/cn\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.booksofall.com\/cn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-Hans"},{"@type":"Organization","@id":"https:\/\/www.booksofall.com\/cn\/#organization","name":"BooksOfAll Simplified Chinese","url":"https:\/\/www.booksofall.com\/cn\/","logo":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.booksofall.com\/cn\/#\/schema\/logo\/image\/","url":"https:\/\/www.booksofall.com\/cn\/wp-content\/uploads\/sites\/2\/2022\/06\/booksofall-logo-2.png","contentUrl":"https:\/\/www.booksofall.com\/cn\/wp-content\/uploads\/sites\/2\/2022\/06\/booksofall-logo-2.png","width":166,"height":30,"caption":"BooksOfAll Simplified Chinese"},"image":{"@id":"https:\/\/www.booksofall.com\/cn\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.booksofall.com\/cn\/wp-json\/wp\/v2\/product\/23630","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.booksofall.com\/cn\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/www.booksofall.com\/cn\/wp-json\/wp\/v2\/types\/product"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.booksofall.com\/cn\/wp-json\/wp\/v2\/media\/23636"}],"wp:attachment":[{"href":"https:\/\/www.booksofall.com\/cn\/wp-json\/wp\/v2\/media?parent=23630"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/www.booksofall.com\/cn\/wp-json\/wp\/v2\/product_brand?post=23630"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/www.booksofall.com\/cn\/wp-json\/wp\/v2\/product_cat?post=23630"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/www.booksofall.com\/cn\/wp-json\/wp\/v2\/product_tag?post=23630"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}