美文网首页
超级签名:绕过苹果商店安装APP的方式--linux版本 ,技术

超级签名:绕过苹果商店安装APP的方式--linux版本 ,技术

作者: 十六_ | 来源:发表于2020-05-08 15:51 被阅读0次

一、何为超级签名:

即使用苹果个人开发者账号用Ad_Hoc方式建立分发。

1、优缺点

优点:可以利用web直接进行分发,用户点击即可。无需用户进行企业信任;相对企业签而言稳定,但也并不是百分百稳定。仍然面临封号风险。

缺点:价格昂贵,由于个人开发者账号设备数量有限只有100台。导致分发成本非常高。国内688元/一年/100台设备。

二、整体流程

1、通过web向用户发送描述文件,让用户安装描述文件从而获取用户的UDID,将获取到的UDID 发送给服务器。

2、服务器自动化登陆开发者账号,注册UDID,同时新建带此UDID的mobileprovision。下载mobileprovision和证书对IPA进行签名。

3、使用itms-services方式让用户下载。

三、技术核心

1、获取UDID
在web服务器上创建一个XML 的描述文件。配置好服务器接收用户的URL地址。当用户安装好描述文件后。会回调你设置的url。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>PayloadContent</key>
        <dict>
            <key>URL</key>
            <string>#requestURL#/signature/udid/#appid#/post</string>
            <key>DeviceAttributes</key>
            <array>
                <string>UDID</string>
                <string>IMEI</string>
                <string>ICCID</string>
                <string>VERSION</string>
                <string>PRODUCT</string>
            </array>
        </dict>
        <key>PayloadOrganization</key>
        <string>#requestURL#</string>
        <key>PayloadDisplayName</key>
        <string>查询设备UDID</string>
        <key>PayloadVersion</key>
        <integer>1</integer>
        <key>PayloadUUID</key>
        <string>超级签名</string>
        <key>PayloadIdentifier</key>
        <string>dev.skyfox.profile-service</string>
        <key>PayloadDescription</key>
        <string>本文件仅用来获取设备ID</string>
        <key>PayloadType</key>
        <string>Profile Service</string>
    </dict>
</plist>

2、自动注册UDID 及生成 mobileprovision

此处即是超级签名重点,写到这了不得不感谢一下 Spaceship 了。
Spaceship公开了Apple Developer Center的API,且能在极短时间内进行请求和返回。而且还预留接口。我们可以通过写ruby脚本在实现自动化注册UDID新建描述文件。

  #登陆飞船
spaceship = Spaceship::Launcher.new(account, password)

 #添加新设备号
device = spaceship.device.create!(name:udidname, udid:udid)

#添加描述文件
profile = spaceship.provisioning_profile.development.create!(bundle_id: bundleID,certificate: certs,name: "profilename")

#下载描述文件
aFile = File.write("profile.mobileprovision", profile.download)

以上为 Spaceship 部分ruby调用代码。更具体的方法可以查看Spaceship 的开发文档。

Spaceship DeveloperPortal

3、签名

如果在mac服务器下,将会有很多可以签名的开源工具。然而在linux下,少之又少。
可以自行开发,也可以使用开源工具,isign。
isign工具是为数不多的可以在linux下可以签名的工具。但是此工具对ipa的支持并不完善。有些包会无法签名报错。这个就需要各位自行探索了。

isign

4、分发

重签名后获得的包可以使用itms-services进行分发。

写在最后:

目前很多签名商都会在上传的包内注入动态库,以实现获取安装,安装、点击的数据以及控制app闪退,时间锁等。更有甚者直接窃取用户数据。如果仅仅想要自行分发的话,建议还是自行部署一套吧。

IOS技术开发交流群:685955170

相关文章

  • 超级签名:绕过苹果商店安装APP的方式--linux版本 ,技术

    一、何为超级签名: 即使用苹果个人开发者账号用Ad_Hoc方式建立分发。 1、优缺点 优点:可以利用web直接进行...

  • App签名原理

    App的安装方式 苹果为了保证每一个安装到iOS上的APP都是经过苹果官方允许的,采用了代码签名的方式,而安...

  • 学习小组day3笔记-luckyyy_

    一.linux如何安装软件 1.conda-“linux的应用商店”与app store-“苹果”的关系一样2.给...

  • iOS 签名机制

    因为苹果的安全策略,通过签名机制保证手机上的每个App都是经过苹果认证的。 App的安装方式有四种: 通过App ...

  • iOS 签名总结

    原文地址 因为苹果的安全策略,通过签名机制保证手机上的每个app都是经过苹果认证的。安装方式: 通过App Sto...

  • iOS应用签名

    App Store上的应用签名 苹果后台使用私钥A对App进行签名,苹果手机在安装从App Store上下载的应用...

  • 检测苹果商店App版本

    方案一:自己维护版本升级 和后台的同事定义好维护一个版本升级接口,每次发布新版本后在管理平台更新一下版本信息,移动...

  • 蒲公英超级签名原理(手动做超级签名)

    由于苹果的日益欺压,苹果的企业证书掉签是越来越密集,所以由此诞生了黑科技,即所谓的超级签名 超级签名安装流程演示 ...

  • 蒲公英超级签名原理(手动做超级签名)

    由于苹果的日益欺压,苹果的企业证书掉签是越来越密集,所以由此诞生了黑科技,即所谓的超级签名 超级签名安装流程演示 ...

  • 为什么ios企业签名后的App不可以上架苹果应用商店?

    接触过苹果签名的小伙伴们都知道,很多开发者都会借助苹果企业签名的方式来实现app上架的目的,使用苹果企业签名的方式...

网友评论

      本文标题:超级签名:绕过苹果商店安装APP的方式--linux版本 ,技术

      本文链接:https://www.haomeiwen.com/subject/uxwfnhtx.html