{"id":7890,"date":"2024-08-25T15:09:35","date_gmt":"2024-08-25T13:09:35","guid":{"rendered":"https:\/\/www.iprog.it\/blog\/?p=7890"},"modified":"2024-08-25T15:09:42","modified_gmt":"2024-08-25T13:09:42","slug":"capturing-and-decrypting-https-traffic-from-ios-apps-using-frida","status":"publish","type":"post","link":"https:\/\/www.iprog.it\/blog\/varie\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\/","title":{"rendered":"Capturing and Decrypting HTTPS Traffic From iOS Apps Using Frida"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2019\/07\/frida-twitter-profile.png\" rel=\"lightbox[7890]\"><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"400\" src=\"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2019\/07\/frida-twitter-profile.png\" alt=\"\" class=\"wp-image-7378\" style=\"width:265px;height:auto\" srcset=\"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2019\/07\/frida-twitter-profile.png 400w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2019\/07\/frida-twitter-profile-300x300.png 300w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2019\/07\/frida-twitter-profile-176x176.png 176w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2019\/07\/frida-twitter-profile-60x60.png 60w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2019\/07\/frida-twitter-profile-150x150.png 150w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Recently, I came across a <a href=\"https:\/\/andydavies.me\/blog\/2019\/12\/12\/capturing-and-decrypting-https-traffic-from-ios-apps\/\">blog<\/a> by Andy Davies that detailed how to capture and decrypt HTTPS traffic from iOS apps using Frida. Unfortunately, the script he shared didn\u2019t work for me, likely because my device was unable to load the libboringssl.dylib library into memory in time. As a result, I decided to rewrite and adapt the script to better suit my needs, incorporating several improvements along the way.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you\u2019re interested in the theoretical aspects, I highly recommend checking out Andy Davies\u2019 blog; it\u2019s truly fascinating. In this post, I\u2019ll focus more on showcasing the script I modified. Additionally, I encountered some issues with rvictl during testing, but fortunately, I found a Python script that works perfectly. You can check it out here: <a href=\"https:\/\/thrysoee.dk\/iospcap\/rvictl.py\">rvictl.py<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Below, you\u2019ll find the updated Frida code.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\nfunction offset() {\n    var processInfo = ObjC.classes.NSProcessInfo.processInfo();\n    var versionString = processInfo.operatingSystemVersionString().toString();\n    \/\/ E.g. \"Version 13.5 (Build 17F75)\"\n    var ver = versionString.split(' ');\n    var version = ver&#91;1];\n    \/\/tested\n    if (version.startsWith(\"14\")) {\n       return 0x2B8;\n    }\n    \/\/Not tested\n    else if (version.startsWith(\"15\")){\n        return 0x2f8;\n    }\n    \/\/Not tested\n    else if (version.startsWith(\"16\")){\n        return 0x300;\n    }\n    \/\/Not tested\n    else if (version.startsWith(\"17\")){\n        return 0x308;\n    }\n    else {\n        console.log(\"Unknown iOS version: \" + version);\n    }\n}\n\nvar key_log_callback = new NativeCallback(key_logger, 'void', &#91;'pointer', 'pointer']);\nfunction key_logger(ssl, line) {\n     console.log(new NativePointer(line).readCString());\n }\n\n\n\nInterceptor.attach(Module.findExportByName(null, 'dlopen'), {\n    \n    onEnter: function (args) {\n        var libNamePointer = args&#91;0];\n        if (libNamePointer.isNull()) {\n            console.log('Library name pointer is null.');\n            return;\n        }\n\n        var libName = Memory.readUtf8String(libNamePointer);\n        if (libName === null) {\n            console.log('Failed to read library name.');\n            return;\n        }\n\n        if (libName.indexOf('libboringssl.dylib') !== -1) {\n            console.log('libboringssl.dylib loaded');\n            var CALLBACK_OFFSET = offset();\n            \/\/ Imposta un timer per ritardare l'esecuzione del codice\n            setTimeout(function() {\n                var SSL_CTX_set_info_callback = Module.findExportByName('libboringssl.dylib', 'SSL_CTX_set_info_callback');\n                if (SSL_CTX_set_info_callback === null) {\n                    console.log('Function SSL_CTX_set_info_callback not found.');\n                } else {\n                    console.log('Function found at: ' + SSL_CTX_set_info_callback);\n                    Interceptor.attach(SSL_CTX_set_info_callback, {\n                        onEnter: function(args) {\n                            var ssl = new NativePointer(args&#91;0]);\n                            var callback = new NativePointer(ssl).add(CALLBACK_OFFSET);\n                            callback.writePointer(key_log_callback);\n                        }\n                    });\n                }\n            }, 1000); \/\/ Attendi 1 secondo prima di controllare di nuovo\n        }\n    }\n});\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If your device\u2019s iOS version isn\u2019t included in the script, you can easily find it yourself.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Steps:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/ipsw.me\/\">Download an IPSW<\/a>, unzip it <\/li>\n\n\n\n<li>Mount the largest DMG image (approximately 5.5GB) and then extract the following folder: \/System\/Library\/Caches\/com.apple.dyld.<\/li>\n\n\n\n<li>Extract the dyld shared cache: dsc_extractor com.apple.dyld\/dyld_shared_cache_arm64 extracted.<\/li>\n\n\n\n<li>Disassemble \/usr\/lib\/libboringssl.dylib in Binary Ninja or similar.<\/li>\n\n\n\n<li>Locate the ssl_log_secret function. The second instance of ldr instruction holds our offset.<\/li>\n\n\n\n<li><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"background-color: initial; font-family: var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace); font-size: 13.6px; text-wrap: nowrap; color: rgb(230, 237, 243);\">0000000199381680  int64_t bssl::ssl_log_secret(void* arg1, int64_t arg2, char* arg3, int64_t arg4)<\/span><pre class=\"notranslate\" style=\"box-sizing: border-box; font-family: var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace); font-size: 13.6px; margin-top: 0px; margin-bottom: 0px; overflow-wrap: normal; padding: var(--base-size-16); overflow: auto; line-height: 1.45; color: rgb(230, 237, 243); background-color: rgb(22, 27, 34); border-radius: 6px;\"><code style=\"box-sizing: border-box; font-family: var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace); font-size: 13.6px; text-wrap: nowrap; background-image: initial; border-radius: 6px; word-break: normal; border: 0px; display: inline; overflow: visible; line-height: inherit; overflow-wrap: normal;\">0000000199381680         sub         sp, sp, #0x60\n0000000199381684         stp         x22, x21, &#91;sp, #0x30]\n0000000199381688         stp         x20, x19, &#91;sp, #0x40]\n000000019938168c         stp         x29, x30, &#91;sp, #0x50]\n0000000199381690         add         x29, sp, #0x50\n0000000199381694         ldr         x8, &#91;x0, #0x78]\n0000000199381698         ldr         x8, &#91;x8, #0x2f8]\t\t; &lt;--- This is our offset\n000000019938169c         cbz         x8, 0x1993817a4<\/code><\/pre><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The dsc_extractor tool is available <a href=\"https:\/\/github.com\/madordie\/dsc_extractor\">here<\/a><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Demo  Temu<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">In this demo, we will intercept the traffic generated by the Temu application. To follow along, you\u2019ll need to open three terminal windows. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the first terminal window, we\u2019ll start the Remote Virtual Interface using the Python script I shared earlier.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>python3 rvictl.py\u00a0 start<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In the second terminal window, we\u2019ll use tcpdump to capture the traffic.\u200b\u2b24<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>tcpdump -i rvi0 -w temu.pcap -P \u00a0 \u00a0<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In the third terminal window, we\u2019ll execute the frida script<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>frida -U -l ios-tls-keylogger.js \u00a0 -o keylogfile.txt -f com.einnovation.temu.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2024\/08\/image.png\" rel=\"lightbox[7890]\"><img loading=\"lazy\" decoding=\"async\" width=\"940\" height=\"133\" src=\"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2024\/08\/image-940x133.png\" alt=\"\" class=\"wp-image-7893\" srcset=\"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2024\/08\/image-940x133.png 940w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2024\/08\/image-620x88.png 620w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2024\/08\/image-300x42.png 300w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2024\/08\/image-768x109.png 768w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2024\/08\/image-1536x217.png 1536w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2024\/08\/image-2048x290.png 2048w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2024\/08\/image-624x88.png 624w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The next step is to import the temu.pcap file into Wireshark. While the data will initially appear encrypted, we can decrypt it using the key we captured with Frida.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In Wireshark, navigate to Preferences -> Protocols -> TLS. and import the keylogfile<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2024\/08\/Wireshark_\u00b7_Preferences.png\" rel=\"lightbox[7890]\"><img loading=\"lazy\" decoding=\"async\" width=\"940\" height=\"354\" src=\"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2024\/08\/Wireshark_\u00b7_Preferences-940x354.png\" alt=\"\" class=\"wp-image-7894\" srcset=\"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2024\/08\/Wireshark_\u00b7_Preferences-940x354.png 940w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2024\/08\/Wireshark_\u00b7_Preferences-620x234.png 620w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2024\/08\/Wireshark_\u00b7_Preferences-300x113.png 300w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2024\/08\/Wireshark_\u00b7_Preferences-768x290.png 768w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2024\/08\/Wireshark_\u00b7_Preferences-624x235.png 624w, https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2024\/08\/Wireshark_\u00b7_Preferences.png 1220w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If everything goes smoothly, you\u2019ll see the decrypted traffic.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you enjoyed the blog, please consider sharing it.\u200b\u2b24<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recently, I came across a blog by Andy Davies that detailed how to capture and decrypt HTTPS traffic from iOS apps using Frida. Unfortunately, the script he shared didn\u2019t work for me, likely because my device was unable to load the libboringssl.dylib library into memory in time. As a result,&#8230; <a href=\"https:\/\/www.iprog.it\/blog\/varie\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\/\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":7378,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2259,1],"tags":[],"class_list":["post-7890","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sicurezza-informatica","category-varie"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Capturing and Decrypting HTTPS Traffic From iOS Apps Using Frida - iProg<\/title>\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.iprog.it\/blog\/varie\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Capturing and Decrypting HTTPS Traffic From iOS Apps Using Frida - iProg\" \/>\n<meta name=\"twitter:description\" content=\"Recently, I came across a blog by Andy Davies that detailed how to capture and decrypt HTTPS traffic from iOS apps using Frida. Unfortunately, the script he shared didn\u2019t work for me, likely because my device was unable to load the libboringssl.dylib library into memory in time. As a result,... Read more &raquo;\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2019\/07\/frida-twitter-profile.png\" \/>\n<meta name=\"twitter:creator\" content=\"@flexkid1\" \/>\n<meta name=\"twitter:site\" content=\"@iprogblog\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Diego\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/varie\\\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/varie\\\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\\\/\"},\"author\":{\"name\":\"Diego\",\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/#\\\/schema\\\/person\\\/048c8acb70f8a33f1498675ab9db41a3\"},\"headline\":\"Capturing and Decrypting HTTPS Traffic From iOS Apps Using Frida\",\"datePublished\":\"2024-08-25T13:09:35+00:00\",\"dateModified\":\"2024-08-25T13:09:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/varie\\\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\\\/\"},\"wordCount\":393,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/varie\\\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/frida-twitter-profile.png\",\"articleSection\":[\"Sicurezza Informatica\",\"Un p\u00f2 di tutto\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.iprog.it\\\/blog\\\/varie\\\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/varie\\\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\\\/\",\"url\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/varie\\\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\\\/\",\"name\":\"Capturing and Decrypting HTTPS Traffic From iOS Apps Using Frida - iProg\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/varie\\\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/varie\\\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/frida-twitter-profile.png\",\"datePublished\":\"2024-08-25T13:09:35+00:00\",\"dateModified\":\"2024-08-25T13:09:42+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/#\\\/schema\\\/person\\\/048c8acb70f8a33f1498675ab9db41a3\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.iprog.it\\\/blog\\\/varie\\\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/varie\\\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/frida-twitter-profile.png\",\"contentUrl\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/frida-twitter-profile.png\",\"width\":400,\"height\":400},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/\",\"name\":\"iProg\",\"description\":\"perch\u00e9 reinventare la ruota?\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/#\\\/schema\\\/person\\\/048c8acb70f8a33f1498675ab9db41a3\",\"name\":\"Diego\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bf8084effa4627f8e50af0d50d06b0677e4a9de5e895e347c0590ad5696fdfc9?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bf8084effa4627f8e50af0d50d06b0677e4a9de5e895e347c0590ad5696fdfc9?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bf8084effa4627f8e50af0d50d06b0677e4a9de5e895e347c0590ad5696fdfc9?s=96&r=g\",\"caption\":\"Diego\"},\"description\":\"Google+\",\"sameAs\":[\"http:\\\/\\\/it.linkedin.com\\\/in\\\/diegocaridei\\\/\",\"https:\\\/\\\/x.com\\\/flexkid1\",\"http:\\\/\\\/www.youtube.com\\\/channel\\\/UCjQ2z1ygV9tv55QAc2q3JHA\"],\"url\":\"https:\\\/\\\/www.iprog.it\\\/blog\\\/author\\\/flexkid\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Capturing and Decrypting HTTPS Traffic From iOS Apps Using Frida - iProg","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.iprog.it\/blog\/varie\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\/","twitter_card":"summary_large_image","twitter_title":"Capturing and Decrypting HTTPS Traffic From iOS Apps Using Frida - iProg","twitter_description":"Recently, I came across a blog by Andy Davies that detailed how to capture and decrypt HTTPS traffic from iOS apps using Frida. Unfortunately, the script he shared didn\u2019t work for me, likely because my device was unable to load the libboringssl.dylib library into memory in time. As a result,... Read more &raquo;","twitter_image":"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2019\/07\/frida-twitter-profile.png","twitter_creator":"@flexkid1","twitter_site":"@iprogblog","twitter_misc":{"Scritto da":"Diego","Tempo di lettura stimato":"4 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.iprog.it\/blog\/varie\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\/#article","isPartOf":{"@id":"https:\/\/www.iprog.it\/blog\/varie\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\/"},"author":{"name":"Diego","@id":"https:\/\/www.iprog.it\/blog\/#\/schema\/person\/048c8acb70f8a33f1498675ab9db41a3"},"headline":"Capturing and Decrypting HTTPS Traffic From iOS Apps Using Frida","datePublished":"2024-08-25T13:09:35+00:00","dateModified":"2024-08-25T13:09:42+00:00","mainEntityOfPage":{"@id":"https:\/\/www.iprog.it\/blog\/varie\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\/"},"wordCount":393,"commentCount":0,"image":{"@id":"https:\/\/www.iprog.it\/blog\/varie\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2019\/07\/frida-twitter-profile.png","articleSection":["Sicurezza Informatica","Un p\u00f2 di tutto"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.iprog.it\/blog\/varie\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.iprog.it\/blog\/varie\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\/","url":"https:\/\/www.iprog.it\/blog\/varie\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\/","name":"Capturing and Decrypting HTTPS Traffic From iOS Apps Using Frida - iProg","isPartOf":{"@id":"https:\/\/www.iprog.it\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.iprog.it\/blog\/varie\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\/#primaryimage"},"image":{"@id":"https:\/\/www.iprog.it\/blog\/varie\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2019\/07\/frida-twitter-profile.png","datePublished":"2024-08-25T13:09:35+00:00","dateModified":"2024-08-25T13:09:42+00:00","author":{"@id":"https:\/\/www.iprog.it\/blog\/#\/schema\/person\/048c8acb70f8a33f1498675ab9db41a3"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.iprog.it\/blog\/varie\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.iprog.it\/blog\/varie\/capturing-and-decrypting-https-traffic-from-ios-apps-using-frida\/#primaryimage","url":"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2019\/07\/frida-twitter-profile.png","contentUrl":"https:\/\/www.iprog.it\/blog\/wp-content\/uploads\/2019\/07\/frida-twitter-profile.png","width":400,"height":400},{"@type":"WebSite","@id":"https:\/\/www.iprog.it\/blog\/#website","url":"https:\/\/www.iprog.it\/blog\/","name":"iProg","description":"perch\u00e9 reinventare la ruota?","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.iprog.it\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/www.iprog.it\/blog\/#\/schema\/person\/048c8acb70f8a33f1498675ab9db41a3","name":"Diego","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/bf8084effa4627f8e50af0d50d06b0677e4a9de5e895e347c0590ad5696fdfc9?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bf8084effa4627f8e50af0d50d06b0677e4a9de5e895e347c0590ad5696fdfc9?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bf8084effa4627f8e50af0d50d06b0677e4a9de5e895e347c0590ad5696fdfc9?s=96&r=g","caption":"Diego"},"description":"Google+","sameAs":["http:\/\/it.linkedin.com\/in\/diegocaridei\/","https:\/\/x.com\/flexkid1","http:\/\/www.youtube.com\/channel\/UCjQ2z1ygV9tv55QAc2q3JHA"],"url":"https:\/\/www.iprog.it\/blog\/author\/flexkid\/"}]}},"views":712,"_links":{"self":[{"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/posts\/7890","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/comments?post=7890"}],"version-history":[{"count":3,"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/posts\/7890\/revisions"}],"predecessor-version":[{"id":7895,"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/posts\/7890\/revisions\/7895"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/media\/7378"}],"wp:attachment":[{"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/media?parent=7890"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/categories?post=7890"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iprog.it\/blog\/wp-json\/wp\/v2\/tags?post=7890"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}