1. 程式人生 > >iOS HOOK 注入與重簽名

iOS HOOK 注入與重簽名

起因是在蝦神的公眾號上看到一篇文章 《Pokemon Go 鎖區破解》,正好周圍幾個小夥伴正在玩這遊戲,便仔細研究了下所謂的破解鎖區。這次鎖區其實是 GPS 鎖區,遊戲開發商為了縮小初始運營範圍,在中國範圍內都無法正常遊戲,也就是服務端通過客戶端傳送的定位位置資料來判斷是否讓該玩家繼續遊戲。文章中介紹的原理就是利用 OC Runtime Method Swizzling 對原應用進行重寫 CLLocation 的 coordinate 方法返回自己想要的經緯度資訊,以達到欺騙服務端進行遊戲,然後進行重簽名打包。最讓人激動的是最終的應用可以在非越獄的裝置上執行,於是已阻止不了向前探索的腳步。

遊戲作弊是不支援的,但是技術研究可以有!

流程

大致流程如下,後面會詳細講解每一步:

  1. 脫殼:拿到解密後的 .ipa
  2. 注入:對原應用修改和注入
  3. 重簽名:用自己的證書籤名
  4. 打包:壓縮成 .ipa 進行安裝

脫殼

由於手裡沒有越獄機子,也沒有進行脫殼試驗,按 [Urinx/iOSAppHook] 中提到的方法直接從 xx助手 市場裡下載越獄應用可用。如果自己有越獄裝置的話可以用 dumpdecrypted 進行砸殼。

MachOView

注入

如果是拿到 .ipa,進行解壓即可找到 Payload 資料夾,可安裝 iOSOpenDev 來建立工程,使用 CaptainHook 輕鬆方便寫 Hook 程式碼,iOSOpenDev 中已經集成了 CaptainHook ,具體相關程式碼可以參考 [

PokemonHook] 。

生成動態庫(.dylib)後使用 yololib 工具進行注入,不知為何使用 [KJCracks/yololib] Release 中的 yololib-Mac 最終會在裝置上閃退,使用 Urinx/iOSAppHook 則沒有問題,一條命令對 .app 中的二進位制進行 .dylib 注入,再把注入的 .dylib 拖到目錄裡即可。注入成功後可以用 MachOView 程式檢視整個 MachO 檔案的結構,便可看到注入的 dylib 會在 Load Commands 區段中。

yololib xxx.app/xxx LocationFaker.dylib

重簽名

ios-app-signer

重簽名也是很重要的一個步驟,簽名錯誤或者失敗都會導致應用無法安裝使用。我比較喜歡用圖形化介面的 iOS App Signer 來重簽名,自動加載出本機的證書和 PP 檔案,相當方便;當然也有命令列工具,比如 Urinx/iOSAppHook 中的 AppResign 或者 Fastlane sign ,前提還是一樣需要把裝置的 UDID 加進 Provisioning Profile 中,一般來說 Bundle identifier 不需要改變即可,也有應用內做了相關檢測手段導致重簽名或者更改 Bundle identifier 後無法使用的情況,那就需要更多其他的手段進行反攻了。

打包

對 Payload 資料夾右鍵壓縮,改名 xx.ipa 即可,推薦用 Xcode (Window->Device) 安裝,失敗還有錯誤資訊可看。

另外在這裡推薦一個 Quick Look 外掛用來快速預覽 .mobileprovis 和 .ipa 的證書、簽名、裝置等資訊,對著檔案按下空格就能看到非常方便。 chockenberry/Provisioning

provisioning-quick-look

參考

推薦

  • iOSRE - iOS逆向論壇,學習逆向有很多幹貨

相關推薦

iOS HOOK 注入簽名

起因是在蝦神的公眾號上看到一篇文章 《Pokemon Go 鎖區破解》,正好周圍幾個小夥伴正在玩這遊戲,便仔細研究了下所謂的破解鎖區。這次鎖區其實是 GPS 鎖區,遊戲開發商為了縮小初始運營範圍,在中國範圍內都無法正常遊戲,也就是服務端通過客戶端傳送的定位位置資

(九)將iOS應用注入dylib和hook後,重新簽名並打包

iOS攻防 - (九)將iOS應用hook和注入dylib後,重新簽名並打包 1.下載微信,並解密WeChat.ipa 2.檢視解密後的微信的基本資訊 通過cd命令到解密後微信的目錄,名稱com.tencent.xin-iOS7.0-(Clut

iOS 企業級 IPA 簽名

-s 企業證書 工具 sig 圖片 inf image git 重新安裝 最近公司客戶要求, 他們希望自己打包 IPA, 他們不提供p12和描述文件給我們, 於是我們只能用自己的證書打包好後, 做相應的處理, 然後在將 IPA 包給客戶, 讓他們用自己的證書重簽名,下面是企

逆向-002-iOS簽名

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC" } 在Windows環境下會有,靜默安裝。通過iOS應用重簽名(安裝app到手機上),蘋果簽名機制,防止未授權的應用進行安裝 ①獲取應用ipa ②Codesign重簽名 ③

iOS 簽名工具+時間控制器

2018年11月11日 10:44:49 qq_39860936 閱讀數:10 標籤: iOS ios

iOS逆向----手動簽名(簽名工具的原理)

首先搞一個脫殼的IPA包,可以從PP助手等應用中下載現成的,也可以自己砸一個。。關於砸殼可以看這篇文章,我們把這個IPA命名為test.ipa,把APP命名為test.app(命名只是為了以下方便閱

IOS 打包、安裝、簽名 .app & .ipa

打包與簽名方法 Xcode 工具可以直接打包,不累贅; xcrun 命令打包: 1,清理: /usr/bin/xcodebuild -target targetName clean 2,編譯: /usr/bin/xcodebuild -target

iOS非越獄逆向——ipa簽名

在iOS逆向開發時需要把下載的ipa檔案安裝到iOS裝置上,才能進行動態分析,才能更好的玩別人的App。但是有經驗的同學是知道的,下載的ipa(AppStore 和自己釋出的除外) 檔案是不能直接安裝到自己的iPhone (未越獄)上的。為什麼?因為蘋果爸爸作了

iOS證書及ipa包簽名探究

        iOS證書學習推薦部落格程式碼簽名探析,本文重點在於介紹ios8.1.3系統ipa包重簽名(如企業證書)無法安裝的問題。蘋果在iOS8.1.3系統以後加強了對ipa安裝包簽名的驗證,主要區別在於ipa唯一標識在原有Bundle Identifier的基

ios 逆向簽名

現在我們開始來進行重簽名。 第一步:先將ipa包進行解壓。 選中ipa包,右鍵 -> 開啟方式 -> 解壓,如下圖所示: 第二步:替換 embedded.mobileprovision檔案。 我們需要將自己打包中的embedded.mobileprov

iOS: HTTPS 簽名證書

不是每個公司都會以數百美金一年的代價向CA購買SSL證書。在企業應用中,付費的SSL證書經常被自簽名證書所替代。當然,對於自簽名證書iOS是沒有能力驗證的。Safari遇到這種無法驗證的自簽名證書的唯一處理方法,就是將問題扔給使用者,讓使用者決定是否應該相信此類證書。它提供了

iOS逆向必備絕技之ipa簽名

2018開篇,這回要講的是iOS重簽名,網上重簽名的工具太多了,我試用了一下,都還挺好使。但是,你不知道,我是個喜歡裝逼的人嗎?用工具怎麼夠酷呢?對,裝逼得用終端。接下來的操作都是在終端中進行,開始你的裝逼之旅吧! 一、重簽名準備工作: 找到開發者

iOS ipa簽名 、resign

iOS ipa重簽名 (個人版、企業版APP均可) 下面是個人之前使用過的方式,介紹比較詳細 注意: 在開始重籤之前你先要有一個企業證書或者個人開發者證書(個人或者公司均可)(蘋果開發證書) 重簽名:可以讓用個人開發者賬號打出來的包,不用上架A

iOS 應用簽名原理&簽名

在蘋果的日常開發中,真機測試與打包等很多流程都會牽扯到各種證書,CertificateSigningRequest,p12等。但是很多相應的開發者並不理解iOS App應用簽名的原理和流程。今天著重講解一下此內容。 思考 在蘋果的iOS系統出來之前,以前的主流程Mac OS/Window軟體存在著安全隱患,盜

《TCP/IP具體解釋》讀書筆記(21章)-TCP的超時

打開 定時器 是否 檢查 例如 技術 blog 信息 全部 TCP提供可靠的運輸層。它使用的方法之中的一個就是確認從還有一端收到的數據。但數據和確認都有可能會丟失。TCP通過在發送時設置一個定時器來解決這樣的問題。假設當定時器溢出時還沒有收到確認,它就重傳該數據。對於實現

iOS項目的完整命名方法圖文教程

ace edit 輸入 兩個 一個 還得 雙擊 而且 新名字 前言:在iOS開發中,有時候想改一下項目的名字,都會遇到很多麻煩。直接改項目名吧,XCODE又不會幫你改所有的名字。總是有很多文件、文件夾或者是項目設置的項。而且都是不能隨便改的,有時候改著改著,編譯不了。所以各

IOS - 設置幫助界面

action attach hide csdn enum rfi bject orb word 設置與幫助 改動頭像, 改動password, 移動客服, 幫助, 聲明, 關於我們. 代碼 // // IndexSetting600Vie

MVC單元測試實踐之健身網站(六)-計劃的添加

兼容 跳轉 需要 以及 str 額外 休息 保存 bsp 健身計劃需要使用者自己定制,沒有現成的內容可供選擇。本篇就是關於健身計劃的添加與重置功能的一部分。 一 功能描述 a) 關於計劃的定制,決定以周期的方式,比如有人會以一周為周期,然後安排每周的1、3、5進行鍛煉。系統

iOS中xibstoryboard原理,Android界面布局的異同

ast int mvc color ron rect sdn -m control 用文本標記語言來進行布局,用的最多的應該是HTML語言。HTML能夠理解為有一組特殊標記的XML語言。 一、iOS中xib與storyboard顯示原理 在iOS中基

iOS程序啟動運轉】- RunLoop個人小結

source ons splay pmo 過渡 它的 端口 launch code 學習iOS開發一般都是從UI開始的,從只知道從IB拖控件,到知道怎麽在方法裏寫代碼,然後會顯示什麽樣的視圖,產生什麽樣的事件,等等。其實程序從啟動開始,一直都是按照蘋果封裝好的代碼運行著,暴