❶ ios 如何檢查ipa是被重簽名過的
方法一、終端命令:sigh resign
1. 明白兩個東西:想要重簽名的證書和描述文件
開發證書或者企業證書,即你想要重簽名的證書、provision描述文件。我是個人賬戶。沒交錢的那種。(Xcode中自動管理會生成證書和描述文件)。
注意⚠️:每一個重簽版本都需重新申請一個 appid 和 provisoning profile,不然同appid的會覆蓋。
mac電腦的開發環境配置
安裝 homebrew,命令:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安裝 ruby,命令:brew install ruby更新 ruby 版本
安裝 sigh,命令:sudo gem install sigh
如果出錯那就換成gem install sigh安裝過程是漫長的。(在安裝 sigh 之前,你得檢查 gem的鏡像源,現在一般為https://gems.ruby-china.org)
准備好需要重簽名的 ipa 包
自己的ipa 不用多說。編譯一下在工程的Proct 文件件下就有。也可以通過愛思助手下載具體教程:Mac 如何下載ipa
開始重簽名
第一步,把我們要重簽名的 ipa 包和我們下載下來安裝的embedded.mobileprovison放在同一文件夾目錄下,同級
第二步,終端 cd 到這個 ipa 的文件夾目錄下,執行sigh resign或者fastlane sigh resign命令
第三步:這時候,sigh 會直接彈出下面這個指令要你輸入:Signing Identity這個就是你的證書的十六進制串,輸入之後回車,然後等待見證奇跡的時刻吧。
此方式會自動分析 provisoning profile描述文件中的東西,所以不用我們自己填寫變更的bundle id
驗證得到ipa 直接在愛思助手中的:我的應用->中一拖就可以了。
這個方式親自試了,比較簡單方便。
結論:
但是最後重簽名之前的能正常打開,重簽名之後的都是一而退。暫時不知道什麼原因。
❷ iOS 逆向----otool命令入門
首先可以拿自己的ipa包進行嘗試。
選擇你的ipa包,然後把後綴名改為zip,解壓縮得到Payload文件夾,裡面就是你的APP。
打開終端,直接cd到你的xxxx.app目錄下。具體做法,輸入cd,然後把xxxx.app直接拖到終端里打個回車。
然後輸入otool,會顯示如下內容:
有興趣的同學可以仔細研究一下每個命令是干嗎用的,這里介紹幾個常用命令:
可執行文件的名稱可以右鍵xxxx.app文件,選擇顯示包內容,然後找到裡面的exec文件,把名字打進去。一般來說這個文件的名字跟xxxx是一樣的
然後奇跡就出現了。。。
是不是很熟悉?這個命令列出了你使用的所有庫的名字。
查看ipa包是否加殼:
其中cryptid代表是否加殼,1代表加殼,0代表已脫殼。我們發現列印了兩遍,其實代表著該可執行文件支持兩種架構armv7和arm64.
這里給大家推薦一個自動化檢測的神器:
MobSF
根據Document的提示自行研究一下吧。
❸ 蘋果系統運行命令
蘋果系統同樣擁有命令執行程序,就是打開蘋果系統的終端命令窗口,現在我就教大家蘋果系統怎麼運行命令,希望可以幫助到各位喜歡蘋果系統的朋友。
蘋果系統運行命令 方法 一:
1、我們這里先介紹通過圖形方式打開
那麼,我們先打開點擊“finder”程序。
2、點擊“應用程序”
在finder中的窗口右側找到“應用程序”並點開它。
3、點擊“實用工具”
在 應用程序列表中找到“實用工具”並雙擊打開它。
4、實用工具列表的最下面,找到“終端”並打開它
使用滑鼠左鍵雙擊“終端”即可打開!
蘋果系統運行命令方法二:
1、同樣打開finder
然後點開“應用程序”,在搜索欄中輸入“終端”,如果你的是英文版的mac那麼輸入“Terminal”搜索
2、如果你是經常要使用終端程序,那麼建議你打開終端後
在終端的Dock上面的圖標上點擊滑鼠右鍵。
3、把滑鼠移動到“選項”--->在Dock中保留
這樣,當你下次需要使用的是候就能直接使用終端了!
❹ 記錄ios項目運行、編譯的錯誤
1.Pods-xxxxxxx-resources.sh: Permission denied
解決辦法:打開項目中xx/Pods/Target Support Files/Pods-xx文件夾,cd到該目錄下
輸入終端命令:chmod a+x Pods-xx-resources.sh
chmod 用戶 操作 許可權 文件名用戶:
"a" 表示全部用戶操作
"+"表示增加許可權許可權
"x"表示可執行許可權文件名
2.Reason: image not found
首先翻譯一下字面意思:找不到圖片(鏡像)了,這里指的是名為Qucore-ThirdParty.framework尋找不到鏡像了。
查閱資料,發現framework的Status非為兩種:
Required:強引用(一定會被載入到內存)
Optional:弱引用(在被需要的時候才會被載入到內存)
在遇到錯誤,例如:ld:Library not found......的時候,說明你的某些/個Framework不應該被強引用(例如:你的某個Framework是在iOS8.0+之後可用,那如果你運行到iOS7.0的手機上,你就需要把這個Framework的Status設置為Optional)。
如果使用了Cocoapods後,且Library Binary With Libraries中沒有該FrameWork只需要將pod.FrameWork設置為Optional
註:如pod.FrameWork在Library Binary With Libraries中不存在,只需要在終端cd到項目文件夾後pod install下,就會在Library Binary With Libraries中出現。