导航:首页 > 程序命令 > 重签名命令

重签名命令

发布时间: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签名机制详解

阅读全文

与重签名命令相关的资料

热点内容
iphone如何快速分组app 浏览:785
程序员喝的纯牛奶 浏览:251
nginxphpupload 浏览:111
汽车单片机技术教学大纲 浏览:848
解压视频白头小哥 浏览:748
cadq命令 浏览:956
python连接本地数据库报错 浏览:194
手机模拟加密禁卡操作 浏览:105
电荷数怎么算法 浏览:589
cad如何打开命令行 浏览:151
php图片限制大小 浏览:164
程序员一夜未归 浏览:593
苹果xsmaxapp怎么不显示更新 浏览:600
苹果app怎么清除角标 浏览:483
解压屁屁玩具脏了怎么办 浏览:670
算法识别自动折叠 浏览:10
dos命令遍历文件 浏览:456
翻译整个pdf 浏览:198
怎么给解压软件授权 浏览:622
怎么换手机桌面壁纸安卓 浏览:957