導航:首頁 > 程序命令 > 重簽名命令

重簽名命令

發布時間:2025-04-29 14:07:13

⑴ iOS逆向 -- 應用重簽名學習 (實戰總結)

在iOS開發中,我們通常會面對應用簽名與逆向開發的問題。一旦希望學習其他應用並進行調試,就需要對這些應用進行重簽名。

深入理解iOS的簽名機制,包括RSA加密、對稱加密以及Hash演算法,是進行逆向開發的基礎。其中,RSA是一種非對稱加密方式,適用於私鑰與公鑰的匹配解密過程。對稱加密則採用同一密鑰進行數據加密與解密,其優點是加密速度快,但密鑰管理不當會導致安全隱患。Hash演算法則用於生成固定長度的指紋,用於數據驗證。

蘋果在App Store中對應用進行了嚴格的簽名驗證。一個應用從App Store下載到安裝到手機上,會經歷多個步驟。在App上架完成前,驗證過程就已經完成。下載到手機後的驗證則更加嚴格,以確保應用的安全性。

在實際開發中,我們可能需要對已安裝的應用進行調試,這時就需要使用到應用的重簽名技術。通過替換應用的描述文件,並使用自己的證書進行二次簽名,可以讓iOS系統認為這是自己的工程安裝的應用,從而實現對其他應用的分析與調試。

在進行應用重簽時,首先需要確保使用的應用已脫殼,否則可能無法成功簽名。使用otool命令可以查看應用是否已脫殼。接著,對應用的框架和庫文件進行重簽名,並查看描述文件信息。在工程中添加描述文件,替換BundleID,並通過授權文件重簽.app包。通過這些步驟,可以成功實現應用的重簽名。

總結應用重簽名的實踐知識,主要包括以下幾個步驟:刪除插件和帶有插件的.app包、對Frameworks裡面的庫進行重簽名、給可執行文件添加可執行許可權(一般情況下不需要)、添加描述文件、替換BundleID、通過授權文件重簽.app包。通過遵循這些步驟,可以實現對其他應用的逆向開發和調試。

⑵ APK重新簽名或者更換APK簽名版本

在某些特殊情況下,需要對已經生成的apk進行重新簽名,或者對已經生成的apk更換簽名版本(v1/v2/v3/v4)。如何實現呢? 可以通過命令行對已生成的apk進行處理。

apksigner.jar通常包含在android SDK中可。路徑一般是在Android SDK/build-tools/ {SDK版本} /lib/apksigner.jar
不同的SDK版本中均有一個,取最新版本的就好了。

使用壓縮軟體打開apk,刪除包內 /META-INF/ 文件夾及文件夾內所有文件,並重新壓縮文件。

准備好簽名證書及相關密碼和需要剛處理過得apk文件
示例:

執行命令

接著輸入證書保護密碼及別名密碼。

可以從此命令的輸出中看出當前生成的apk簽名情況。

可以通過如下命令行參數進行控制
--v1-signing-enabled true
--v2-signing-enabled true
--v3-signing-enabled false

使用的簽名版本還跟apk編譯時使用的最低SDK版本有關, 即min-sdk-version的值。如果設置的值大於等於26,即使添加--v1-signing-enabled true 也無法通過上述步驟簽V1版本的簽名--僅有V2簽名(Android Studio也是)。
可以對最後生成的apk通過執行如下命令嘗試:

⑶ 如何重簽名APK文件

方法一:需要刪除apk包中的簽名文件,META-INF(更改apk格式為壓縮包形式,刪除META-INF文件夾,改回.apk格式);

將證書(debug.keystore)復制到與需要重新簽名的apk文件相同的目錄下(如:復制到D:Sign);

進入cmd模式,進入D:Sign目錄;

運行下面的命令jarsigner -verbose -keystore debug.keystore -storepass android -signedjar PhoneBook_signed.apk -digestalg SHA1 -sigalg MD5withRSA PhoneBook.apk androiddebugkey/*解釋:-jarsigner是Java的簽名工具-verbose參數表示:顯示出簽名詳細信息-keystore表示使用當前目錄中的debug.keystore簽名證書文件-storepass android表示Keystore密碼:「android」-signedjar PhoneBook_signed.apk表示簽名後生成的APK名稱PhoneBook.apk表示未簽名的APK Android軟體-digestalg SHA1 -sigalg MD5withRSA:這就是必須加上的參數,如果你是jdk 1.6也不受影響-androiddebugkey表示Key別名

大功告成,看看文件夾吧;

方法二:使用工具re-sign.jar。打開re-sign.jar。刪除簽名文件,META-INF後,拖動apk到re-sign.jar處,並點擊保存;

⑷ iOS 包簽名及重簽名

簽名相關的命令:
•$security find-identity -v -p codesigning -- 列出鑰匙串里可簽名的證書

•$security cms -D -i embedded.mobileprovision -- 查看描述文件

•$codesign–fs 「證書串」 文件名 -- 強制替換簽名

重簽步驟:
1.刪除插件和帶有插件的.app包(比如Watch)
2.對Frameworks裡面的庫進行重簽名
3.給可執行文件 +x(可執行)許可權
4.替換描述文件
5.替換BundleID
6.通過授權文件(Entilements)重簽.app包

實際操作:
獲取破殼的ipa包
獲取第三方ipa包
查看ipa包是否已經破殼 》 非上架的都沒加殼,無需關注
解壓ipa包,進入playload文件夾,找到MachO文件

在終端使用命令otool -l DingTalk | grep crypt,0是已脫殼,大於0是未脫殼(一
般為1)

終端查看本地有效證書
$security find-identity -v -p codesigning

刪除無法簽名的插件文件
刪除Plugins文件夾和Watch文件夾

對.app文件夾內的Frameworks文件夾中的每一個framework強制重簽名
命令:$ codesign -fs "iPhone Developer: xxx " xxx.framework
找到framework文件夾下所有.framework,分別使用上面的命令對其簽名。

建議通過腳本命令執行:

將要簽名的描述文件該成 embedded.mobileprovision 替換 來的 embedded.mobileprovision

創建entitlements.plist文件
查看描述文件內容,使用命令security cms -D -I embedded.mobileprovision,找到Entitlements節點,接著創建entitlements.plist文件,內容拷貝過去,最後把entitlements.plist文件拷貝到playload文件夾內(與xx.app同級)。
!]( https://upload-images.jianshu.io/upload_images/1502585-e1694c8e1e77a197.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 )

修改xx.app包裡面的info.plist中的bundleId為上面項目的bundleId

對xx.app開始簽名
使用的命令: zip –ry 輸出文件 輸入文件 命令。也可以手動壓縮。

將上述操作 通過shell命令 寫個腳本文件。然後一鍵操作。
shell腳本語言命令

地址: https://github.com/InjoyDeng/ResignTool

蒲公英平台重簽名

本文章主要介紹iOS 版本發布的兩個相關功能。

一 : iOS 開發出的版本發布安裝 用兩種方式 :

軟體環境
Mac: v10.12.6 (16G29)
ruby: v2.3.4
rvm: v1.29.3
sigh: v2.71.1
Xcode: v9.2

使用sigh腳本
使用之前先安裝一下腳本環境

應用場景:
主要解決因重復打包導致測試同學回歸測試的包和上傳App Store的包不一致的問題。以及 合作方之間 證書不一致,需要重新簽名問題。

App開發測試流程

對回歸測試通過的ipa包進行重新簽名,然後上傳 App Store

輸入的 Signing Identity 如果和 .mobileprovision文件 不一致,那麼終端上仍會提示resign成功,但是,安裝時會報錯!

codesign -vv -d xxx.app

本文主要講述sigh命令的安裝和使用。

首先確保你安裝了Xcode的命令行工具。

然後通過gem安裝sigh,gem的安裝請自行谷歌。

在終端執行

依次執行下列步驟:

關於更多sigh用法請訪問 sigh使用

簽名成功的應用就可以順利在我們的設備中安裝了並使用了,用這個方法可以進行非越獄平台安裝在正版基礎移植的越獄應用。

工具: https://github.com/InjoyDeng/ResignTool
借鑒: https://www.jianshu.com/p/d68924e1af25

https://www.jianshu.com/p/d68924e1af25
https://www.cnblogs.com/guohai-stronger/p/11781249.html

iOS APP簽名機制詳解

閱讀全文

與重簽名命令相關的資料

熱點內容
解壓視頻白頭小哥 瀏覽:748
cadq命令 瀏覽:954
python連接本地資料庫報錯 瀏覽:194
手機模擬加密禁卡操作 瀏覽:105
電荷數怎麼演算法 瀏覽:589
cad如何打開命令行 瀏覽:150
php圖片限制大小 瀏覽:164
程序員一夜未歸 瀏覽:593
蘋果xsmaxapp怎麼不顯示更新 瀏覽:600
蘋果app怎麼清除角標 瀏覽:483
解壓屁屁玩具臟了怎麼辦 瀏覽:670
演算法識別自動折疊 瀏覽:9
dos命令遍歷文件 瀏覽:456
翻譯整個pdf 瀏覽:198
怎麼給解壓軟體授權 瀏覽:621
怎麼換手機桌面壁紙安卓 瀏覽:957
pdf轉換閱讀器 瀏覽:344
特斯拉怎麼app預約充電 瀏覽:498
安卓怎麼錄像更清晰 瀏覽:919
怎麼伺服器輸入命令沒有顯示出來 瀏覽:799