命令行重签名ipa教程

au-signer支持命令行重签,Windows、Linux、Mac版本都可以进行命令行重签。

命令行签名包括些功能?

  • 用户登录管理
  • 应用签名
  • 应用管理
  • 时间锁管理
  • 证书管理

1、用户登录管理

登录命名行,先创建账号或者登录才能进行重签名!

注册账号
从20191111开始,为保证大家账号的安全,将不再支持随意邮箱注册,邮箱必须真实有效可用。执行命令行后会把注册信息发送到邮箱,在邮箱中点击激活连接才会注册成功,所以请注意邮箱必须可以收到邮件。如果收件箱未收到邮件可以留意垃圾箱,广告邮件箱等

./ausign_linux --email 85209630@qq.com -p 123456 -c

./ausign_linux 运行重签程序

--email 输入用户邮箱

-p 输入用户密码

-c 表示创建账号

登录账号

./ausign_linux --email 85209630@qq.com -p 123456

./ausign_linux 运行重签程序

--email 输入用户邮箱

-p 输入用户密码

注意:注册账号命令与登录账号命令 ,只相差一个 -c 参数

命令行登录成功返回结果

ScreenShot

退出登录

./ausign_linux --user logout

修改用户密码

./ausign_linux --user password -v "123456789" -o "123456"

-v 新密码

-o 旧密码

把老的用户密码123456改成123456789

找回用户密码

./ausign_linux --user fpass -v 243769225@qq.com

-v 输入用户账号

ScreenShot

查看用户信息

./ausign_linux --user info

在账号登录状态下,可以查看通过命令查看当前用户的信息

修改统一的签名到期提醒

ausign --user alert_msg -v "签名到期了,请联系xxx"

设置到期后弹窗提示后再闪退

ausign --user expired_alert -v 1

设置到期后直接闪退奔溃

ausign --user expired_alert -v 0

更新应用安装量和运行量报告

ausign --user report -v 1

激活软件

ausign --user code -v "1B8B32FE-1CFC-2DCD-53E7-A2A6504B3AB7"

输入激活码激活软件,-v后面跟你得到的激活码。

2、应用签名

普通签名例子

./ausign_linux --sign 2.ipa -c my.p12 -m my.mobileprovision -p 123 -o resign-abc.ipa

说明:签名都是以 --sign 参数开始 ,后面是被签名的ipa文件,-c 指定证书,-m 指定描述文件 ,-p 指定证书密码 -o 指定签名完后文件的存放地址

.app文件签名例子

除了对直接.ipa文件进行签名外,还支持对.ipa文件解压后得到的.app文件夹进行签名

./ausign_linux --sign xxx.app -c my.p12 -m my.mobileprovision -p 123 -o resign-abc.ipa

说明:将xxx.ipa文件修改其文件扩展名为xxx.zip,可以得到压缩包文件,解压压缩包后得到Payload\xxx.app,然后可以xxx.app文件夹进行重签名

自动删除锁签名例子

./ausign_linux --sign wechat.ipa -c my.p12 -m my.mobileprovision -p 123456 -o resign-wechat.ipa -dt

和普通签名相比多了一个参数 -dt 表示 delete time lock,删除时间锁的意思

自动插入时间锁例子

./ausign_linux --sign wechat.ipa -c my.p12 -m my.mobileprovision -p 123456 -o resign-wechat.ipa -at 20190701

和普通相比 多了 -at 20190701参数,表示 add time lock,就是添加时间锁的意思,-at 后面是签名到期的时间

修改应用id后签名

./ausign_linux --sign wechat.ipa -c my.p12 -m my.mobileprovision -p 123456 -o resign-wechat.ipa -id com.tencent.wechat22222222

把应用id 改成com.tencent.wechat22222222 后重新签名

可以修改的信息还有 -n 指定修改名称 ,-v 指定修改版本号

更新签名

更新现有应用编号为100876的应用签名

./ausign_linux --sign wechat.ipa -c my.p12 -m my.mobileprovision -p 123456 -o resign-wechat.ipa  -r 100876

-r 100876 参数,100876是应用的编号,可以通过 ausign --apps 查看所有app id值(编号,一个数字),20191111开始支持-r uuid进行覆盖更新

组合签名例子

./ausign_linux --sign 2.ipa -c my.p12 -m my.mobileprovision -p "123" -o resign-555.ipa -id "com.tencent.wechat3" -n "微信马甲3" -v "1.0.0" -dt -at 20190902

上面各种参数可以组合使用,下面是一个例子,自动删除时间锁,自动插入时间锁设置到期日期20190902,然后把id修改为自己的com.tencent.wechat3,把名字修改为微信马甲3,把版本号改成1.0.0

超级签名秒签

20191112板子增加了超级秒签,1个G的ipa文件能在10秒内签完 ,比普通签速度提高1-20倍。超级签名系统使用超级签秒签模式,先在上传ipa的时候进行第一次签名

./ausign_linux --sign 2.ipa -c my.p12 -m my.mobileprovision  -p "123" -o presigned.ipa -t 1

然后在用户下载的时候使用超级签模式,进行加速签

./ausign_linux --sign presigned.ipa -c newcert.p12 -m deviceudid.mobileprovision  -p "123" -t 2

第一次签的时候选择模式 -t 1,后面超级签正式签的时候选择模式-t 2

重签成功及输出ipa包

mahua

3、应用管理

查看先有的应用列表

ausign --apps 

说明:被删除了的应用将无法再查看,应用信息已json显示

修改应用信息签名到期时间

ausign --app 3aa99adf-72e7-441a-be5b-518c050a79b2 -k expire_time -v 20190801

修改app信息的命令"app"比查看app命令"apps"少了个"s",命令后面紧跟着应用的id标记,指定是对哪个app进行修改, -k指定是对应用的哪个信息进行修改,-k 后面可以跟的修改内容包括:

expire_time(到期时间,格式20190102),is_bid(是否被禁用,1表示禁用,0不禁用),is_deleted(是否删除),alert_msg(app过期提醒信息),description(应用的备注),contact(应用的联系人信息)

-v 是设置的新的值,这个值根据-k不同不一样,例如 is_bid,则传入0或者1有效,expire_time 则只有 格式类似20191201这种日期格式有效,而对于description,则可以设置任何信息都有效

下面举例

修改应用描述信息

ausign --app 3aa99adf-72e7-441a-be5b-518c050a79b2 -k description -v "微信马甲最新版收150元"

修改应用到期提醒信息

ausign --app 3aa99adf-72e7-441a-be5b-518c050a79b2 -k alert_msg -v "签名已经到期,请联系qq2462611616"

删除app

ausign --app 3aa99adf-72e7-441a-be5b-518c050a79b2 -k is_deleted -v 1

禁用app

ausign --app 3aa99adf-72e7-441a-be5b-518c050a79b2 -k is_bid -v 1

给app设置个联系人信息

ausign --app 3aa99adf-72e7-441a-be5b-518c050a79b2 -k contact -v "张三qq2462611616"

4、时间锁管理

查看应用里面的标记

ausign --llib game.ipa

-llib将显示所有可能为锁的标记,但不是所有的都是锁,需要根据名称和描述进行判断

ScreenShot

格式化一下返回的数据: ScreenShot

表明该应用引用了3个库,所以总共有3个标记

删除指定标记

ausign --dlib game.ipa -o changed_game.ipa -i "@rpath/libswiftCoreExtention.framework/libswiftCoreExtention##ExecuteFile" "@rpath/mars.framework/mars##ExecuteFile" 

--dlib 表示delete lib标记,-i 表示input,哪些标记要删除,这些标记可以通过签名介绍的一条命令进行查看到

-i 后面输入的标记格式:"name##file"; 标记中name的值 ## 标记中file的值

插入dylib

ausign --alib game.ipa -i d:/myfile.dylib -o changed_game.ipa

--alib 表示add lib标记 ,-i 表示input 输入.dylib或.framework的路径

5、证书管理

证书校验

校验证书密码是否正确、是否有效

ausign --cert my.p12 -p 123456

修改证书密码

ausign  --cert my.p12 -p 123456 -np 123 -m my.mobileprovision

--cert 证书文件路径 -p 原密码 -np 新密码 -m 描述文件路径

把老的证书密码123456改成123

保存证书至证书管理

ausign  --cert my.p12 -p 123456  -m my.mobileprovision -s

--cert 证书文件路径 -p 原密码 -m 描述文件路径 -s 表示保存证书

查看证书管理中 自己保存的证书列表 下面开始的是对保存的证书进行操作,使用的命令是--certs,比证书检验命令--cert多了个s,表示是对清单进行操作

ausign  --certs list

删除证书管理指定证书

删除证书编号为1的证书

ausign  --certs delete -v 1

-v 传证书编号 id

获取授权文件的证书

ausign  --certs list -v au.license

-v 授权文件路径

使用证书管理中的证书 进行签名

代理证书简单签名例子

ausign --asign hello.ipa -c 1 -o resign-hello.ipa 

--asign 被签名的ipa文件

-c 证书管理中证书信息的证书编号,可以先查询证书列表 获取对应的证书编号

-o 重签后的ipa文件

该代理签名方式也支持添加参数 修改包名、版本号、应用名、删除时间锁、添加时间锁、覆盖签名、更新签名等签名功能