原标题:iOS打包签名,你真的懂吗?

本文经授权转自公众号开源中国(ID:oschina2013)

如若转载请联系原公众号

iOS签名类型有Development、AD-Hoc、In-House与App Store,而打包过程中又涉及到各种证书、Provision Profile、entitlements、CertificateSigningRequest、p12、AppID......各种概念一大堆,本文将从打包签名的原理说起,并梳理完全签名的整体流程,最后讲解重签名的实现以及签名机制中有哪些需要注意防护的要点。

为了保证App的分发平台是可控的,以及保证所有安装到iOS设备上的App都是经过苹果官方允许的,苹果建立了iOS签名打包机制。要了解iOS签名机制的实现,我们首先从签名机制的原理说起。

1. 签名原理1.1 不对称加密

网络数据的传输可以使用对称加密以及不对称加密的方式进行安全防护,对称加密是指数据发送者(A)和接收者(B)双方进行加解密的密钥是一致的,但这样会增加密钥自身分发的不安全性:比如要如何保证密钥在传递过程中不被泄露。

而不对称加密则由A、B持有一对公私钥进行加解密,公私钥钥匙是成对出现的。对于一个私钥,有且只有一个与其对应的公钥,私钥保密、公钥公开,但是不能通过公钥推导出私钥,使用私钥加密的文件可用公钥解密,反过来公钥加密的文件也只能用私钥进行解密。加密过程如下:

  1. 发送方(A)首先生成一对公私钥钥匙对,私钥自己保管,公钥则任意分发出去(每台iOS设备终端其实已经包含Apple的公钥)。
  2. 发送数据时,发送方使用私钥对原数据加密成密文传输(加密打包ipa);
  3. 接收方(B)收到密文后,使用之前已经获取到的公钥进行解密得到数据内容(iOS设备验证安装ipa)。

1.2 数据签名

这里主要解决了两个问题,一个是加密数据大小的问题,另一个是如何验证公钥的有效性。

1.2.1 信息摘要

前面已经讲到,iOS打包安装的过程中会对ipa包进行加解密验证。然而ipa安装包大小动辄就有十几M,大的有好几G,那如果对这么大的数据量进行加解密,肯定效率是非常低的。而信息摘要则是解决了加密数据过大的问题,其原理是对信息内容通过一个很难被逆向推导的公式计算得到一段哈希数值,它具有以下特点:

  • 计算得到的哈希值大小固定,不受原本信息内容大小的影响;
  • 不可逆,根据哈希值无法推断得到原本信息(实际上MD5以及SHA-1算法已经被证明可以被破解);
  • 唯一性,原本信息内容一致,那么哈希值也一致;原数据不同,也不会存在重复的哈希结果。

使用信息摘要技术在数据加密传输时,发送方先对文件内容使用哈希算法进行信息摘要计算,再对摘要内容进行加密,之后将文件内容以及摘要内容(已加密)发送出去。

接收方收到数据后,先解密得到摘要内容,再依据相同的哈希算法对文件内容进行信息摘要计算,最后匹配接收到的哈希值与计算得到的哈希值是否一致,如果一致那就说明传输过程是安全的。

这样也就避免了对整体原数据加解密的计算过程,从而提高了验证效率。

1.2.2 签名证书

不对称加密中的公钥是公开的,谁都可以得到,这样也就存在了不安全性。比如主动攻击者C冒充数据发送者A,将自己伪装后的公钥分发给数据接收者B,从而达到监听A、B之间通信的目的,又或者是对A、B之间的通信数据进行注入攻击。

那为了保证获取公钥的安全性,这里引入CA认证(Certificate Authority)。CA是证明公钥合法性的权威机构(Apple就属于CA认证机构),它为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。用户使用CA的公钥对数字证书上的签名进行验证,如果验证通过,也就认为证书内包含的公钥是有效的。

CA认证确保了用户公钥使用过程中的安全性,iOS打包需要向苹果开发者中心上传.certSigningRequest文件,然后配置得到各种.cer证书,这些流程中便包括了开发者向Apple CA认证中心注册公钥的过程。

2. iOS签名2.1 概念要点

.certSigningRequest文件。从Mac的钥匙串访问中生成 .certSigningRequest文件,这个过程会从Mac终端生成一对钥匙对,私钥存储在Mac中,公钥则包含在.certSigningRequest中。再将.certSigningRequest文件上传到Apple后台即苹果开发者中心,则可以对应生成开发证书或者发布证书(.cer文件)。

.cer文件:Apple后台使用Apple私钥对Mac公钥进行签名后生成的证书。

.p12文件:Mac本地生成的钥匙对私钥。由于私钥是本地私有的,但你可以使用 .p12将私钥导出给其他团队成员使用。

entitlements。App使用到的各种权限(APNs、HealthKit、iCloud等),也是需要Apple验证通过后才能生效的,Apple将这些权限开关统一称为Entitlements。当第一次在Xcode中勾选权限时,项目中会自动生成一个.entitlements后缀的文件,里面记录了App所拥有的权限。

Profiles.cer文件只是声明了证书的类型,比如Apple Development、Apple Distribution、APNs推送等等,而至于使用什么证书打包、AppID是什么、打包的App包含了哪些功能、可以在哪些设备上安装,则是通过Provisioning Profile描述文件( .mobileprovision后缀)来说明的,苹果后台将所有这些信息组合后再使用Apple私钥进行签名,最后生成Provisioning Profile描述文件:

2.2 AppStore签名

发布App至AppStore之前需要经过苹果后台审核,审核通过苹果后台会用Apple私钥对App数据进行加密签名生成ipa包;用户从AppStore下载App后,使用设备内置的Apple公钥解密验证,验证通过安装成功。由于AppStore分发的过程中上传审核、下载安装的整个过程都处在苹果的生态链内,所以只需要一次验证就能保证安全性。

2.3 其他签名

从AppStore下载安装App只需要一次数字签名就足以保证安全性,但除了这种途径苹果还有其他的安装方式:

  • 开发中连接设备到Xcode进行调试安装
  • AD-Hoc内部测试安装,需要先获取设备UDID并注册,并且有最多100台设备的限制
  • In-House企业内部分发,安装设备数量无限制,但安装后需主动在设置中选择信任证书

那这些安装App的过程中苹果又是怎样保证流程安全性的呢?答案就是 双重签名机制,苹果使用前面讲到的Mac本地钥匙对以及Apple后台钥匙对进行多次数字签名,从而保证整体流程的可控。

  1. Mac 钥匙串访问 在本地生成一对公私钥钥匙对,下面默认为 公钥L 、 私钥L (L:Local)。
  2. Apple已有一对公私钥钥匙对, 私钥A 在Apple后台, 公钥A 内置到每一台iOS设备终端(A:Apple)。
  3. 上传 公钥L 至Apple后台,使用 私钥L 对 公钥L 进行数字签名生成签名证书 .cer ,同时使用 私钥L 对额外信息(使用什么证书打包、AppID、打包的App包含了哪些功能、可以在哪些设备上安装)进行签名生成描述文件 Provisioning Profile ,之后将 .cer 和 Provisioning Profile 下载安装到Mac机器上。
  4. 编译打包app,选择签名证书 .cer ,打包指令会自动找到该证书对应的 私钥L (能匹配是因为钥匙对是成对出现的,前提是本地必须已经存在L私钥,也就是p12的安装),然后使用 私钥L 对app进行签名。 这些签名数据包含两部分: Mach-O 可执行文件会把签名直接写入这个文件中,其他资源文件则会保存在 _CodeSignature 目录下。你可以将打包生成的 .ipa 文件另存为 .zip ,解压后对 Payload 文件夹中的 .app 文件右键、显示包内容,就可以看到签名数据。
  5. 另外签名过程中对于App内包含的动态库以及插件(Plugins、Watch、Frameworks文件夹),每一个都会单独进行一次签名,并生成各自的Mach-O可执行文件和_CodeSignature

    签名数据指代码内容、App包含的所有资源文件,只要其中有任何改动,都必须重新签名才有效。

  6. 打包的过程中会将描述文件 Provisioning Profile 命名为 embedded.mobileprovision 放入到打包app中。
  7. 安装/启动,iOS设备使用内置的 公钥A 验证 embedded.mobileprovision 是否有效(设备是否在允许安装列表内),同时再次验证里面包含的 .cer 证书签名是否有效(证书过期与否)并取出 公钥L 。
  8. embedded.mobileprovision 验证通过,就使用 公钥L 解密验证app签名信息:AppID是否对应、权限开关是否跟app里的 entitlements 一致等等。
  9. 所有验证通过,安装/启动完成。

以上流程便是开发调试、AD-Hoc、In-House等方式打包安装App的过程,区别只在于第⑤步中设备IDs的匹配规则不一致。开发调试只安装当前联调的设备;AD-Hoc允许安装到已在开发者账号下注册过的设备,且每年最多允许100台;In-House无设备数量限制,常用于企业内部App的分发。

3. ipa包重签名

ipa包重签名主要针对的是非App Store的安装包,App Store分发最终是上传ipa文件到苹果后台审核,通过后使用Apple私钥加密,然后才能发布安装,不存在重签入侵的可能。而开发调试、AD-Hoc、In-House等分发途径生成的ipa包不存在苹果后台验证的步骤,这也就意味着你可以对任意的.app、.ipa文件进行重签名。

回顾前面讲到的签名流程,真正对ipa包进行签名的关键步骤(④⑤)是在Mac本地进行的,签名过程中需要满足三个条件:App即软件代码编译生成的产物、p12证书以及Provisioning Profile配置文件。

其中App的内容是动态变动的,Apple不会去验证它,实际上也无需验证,因为在开发调试过程中,所开发的App肯定是不停的迭代变化的,如果需要上线App Store那Apple只需在审核阶段对App内容进行把关验证即可,而其他分发渠道它则管不了。p12以及Provisioning Profile则是下载后主动安装的,大部分情况下都是由管理员创建下载好之后,导出分发给团队成员。

3.1 签名指令

iOS签名调用的是 codesign 指令,你也可以直接使用相关指令进行签名,下面是codesign的常用指令:

# MAC终端输入: codesign--help

codesign--help

Usage: codesign-sidentity[-fv*][-o flags][-r reqs][-i ident]path... # sign

codesign-v[-v*][-R=<req string>|-R <req file path>]path| [+]pid... # verify

codesign-d[options]path... # displaycontents

codesign-hpid... # displayhostingpaths

查看Xcode的编译日志,也可以看到签名的详细信息

# 签名指令

codesign-f -s "iPhone Distribution: XXX(证书名称)"--entitlements entitlements.plist(Profile配置文件) XXX.app(签名app) 3.2 重签名

首先获取需要重签名的ipa包,注意该ipa包必须是未加密的。如果是从App Store下载的ipa,需要砸壳解密后才能进行重签名,你也可以从越狱平台下载。将获取的.ipa重命名为.zip,然后右键解压,将会生成一个 Payload文件夹,里面包含 .app文件。

将签名证书对应的Provisioning Profile文件重命名为 embedded.mobileprovision,并拷贝放到 Payload文件夹中。同时右键 .app文件,显示包内容,将前面的 embedded.mobileprovision文件再拷贝一份放到 .app文件夹中,替换掉原有的embedded.mobileprovision

entitlements.plist是由签名证书对应的 Profile配置导出的签名文件,它与前面截图Xcode签名日志中的 XXX.xcent文件的作用相同。终端cd到 Payload文件夹路径,执行指令

# cd xxx/Payload,然后执行下面指令

securitycms -D -i embedded.mobileprovision

将会打印出Profile配置的内容,找到<key>Entitlements</key>,然后把<key>Entitlements</key>下面<dict>...</dict>的内容拷贝到新建的entitlements.plist文件中(可以通过Xcode生成plist文件,选Property List类型),最后将entitlements.plist文件放到 Payload文件夹中。

# 拷贝内容为: < dict> ... </ dict>

< key> Entitlements </ key>

< dict>

< key> application-identifier </ key>

< string> xxx </ string>

< key> keychain-access-groups </ key>

< array>

< string> xxx </ string>

</ array>

< key> get-task-allow </ key>

< false/>

< key> com.apple.developer.team-identifier </ key>

< string> xxx </ string>

</ dict>

签名证书名称可以在安装证书后从钥匙串中心查看

或者在终端使用以下指令查看:

securityfind-identity -v -p codesigning

准备工作完成,开始重签名。先右键.app显示包内容,查看动态库和插件(Plugins、Watch、Frameworks文件夹),如果是个人证书需要移除Plugins、Watch文件夹,因为个人证书没法签名Extention。如果存在Frameworks,则执行签名指令,有多个的话则每一个Frameworks都要重签一次。

codesign-fs "签名证书名称""Frameworks/xxx.framework(动态库路径)"

最后对app进行重签名

codesign-f-s" iPhoneDistribution: XXX(证书名称)" --entitlementsentitlements.plistProfile配置文件) XXX.app(签名 app

最后将 Payload文件夹下的资源移除,只保留 .app文件,右键压缩,然后更改后缀为 .ipa,这样重签后的ipa便已生成了,你可以通过iTunes、iTools或其他途径安装到iOS设备上。

3.3 注入代码重签

ipa代码注入一般通过动态库来实现。新建动态库在Xcode中选择新建 TARTETS — Framework & Library — Framework,然后在framework中添加自定义代码,一般都是使用Runtime来注入附加功能。最后选择framework要支持的架构,编译后便得到了最终动态库。

对需要重签名的 .app右键显示包内容,然后将动态库拷贝到 Framework文件夹(没有则新建)中。然而此时动态库与app还没建立关联关系,动态库需要注入MachO中才能生效。注入使用 yololib工具,下载yololib并编译,将生产的命令复制到 /usr/local/bin$PATH中的其他路径,便可以在终端使用yololib指令

## 通过yololib工具实现注入动态库

yololib"MachO文件路径""需要注入的动态库路径"

注入成功后再对所有Framework签名,最后对app重签名,然后生成ipa文件。

3.4 关于重签名的思考

iOS重签名实现,可以发现用于签名的私钥资源(包括.cer证书和Provisioning Profile配置)和实际签名的app包是没有强关联关系的,这也就带来了两方面的问题。

  1. .cer 证书和 Provisioning Profile 配置被用于其他App的分发签名,特别如果是In-House企业类型的证书,那是可以进行无限制分发的,而一旦苹果检测到这种违规签名的行为,轻则撤销证书,重则注销企业开发者账号!这也就是为什么一定要严格把控 p12 、 Provisioning Profile 文件外发的原因。
  2. 自有App被注入代码后重签名,比如应用多开、添加插件、恶意抓包等等,对于这一类的防护除了对Bundle ID进行检查,以及对App动态库增加白名单检索外好像也没有更好的办法。当然这已经涉及到逆向防护的方向了,本人对此还未深入了解,有兴趣的同学可以一起参与探讨。
作者简介

lele8446,iOS开发深耕者,爱好分享、深⼊探讨有温度的内容,GitHub:https://github.com/lele8446。

iOS中编写高效能结构体的7个要点

责任编辑:

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 关注青春求解答的小伙伴们,大家再见。

    原标题:关注青春求解答的小伙伴们,大家再见。关注青春求解答的的小伙伴们,有一件青春君不想宣布但又不得不和大家说的事情要通知大家,由于某些原因,9月30日将会是青春求解答运营的最后一天,听到这消息,大家可能和青春君一样震惊,此刻我们的晚安栏目刚刚起步,平台正在一…...

    2024/4/25 14:39:30
  2. 原来这叫:费斯汀格法则

    原标题:原来这叫:费斯汀格法则美国社会心理学家费斯汀格(Festinger)有一个很出名的判断,被人们称为“费斯汀格法则”: 生活中的10%是由发生在你身上的事情组成,而另外的90%则是由你对所发生的事情如何反应所决定。 换言之,生活中有10%的事情是我们无法掌控的,而另外…...

    2024/5/2 23:20:40
  3. 《封神榜》翻写 第35回

    原标题:《封神榜》翻写 第35回《封神演义》一直还在翻写,慢,希望12月前翻完。 鲁雄说:太师如果还是犹豫不决,不如派几个人去西岐打探一下消息。 太师说:将军说得是。 就问左右:谁愿为我跑一趟西岐? 上将军晁田应声:末将愿去。又说:末将这次去,一来探探虚实,二…...

    2024/4/25 14:39:28
  4. 有方科技再次出征德国嵌入式展 新产品赋能万物互联

    原标题:有方科技再次出征德国嵌入式展 新产品赋能万物互联一年一度的德国嵌入式展(Embedded World 2020)于当地时间2月25日在德国纽伦堡开幕。作为全球规模最大的嵌入式展会,这里汇聚了全球千余家展商展示硬件、工具、应用软件及服务主题的相关产品及技术。 继去年惊艳亮相…...

    2024/4/25 14:39:26
  5. 师说|牛保庄:供应链金融—供应链金融的风控手段

    原标题:师说|牛保庄:供应链金融—供应链金融的风控手段师者,传道授业解惑者也。 师说,凝练师者智慧的10分钟课程精华。 华工3M教育中心连续推出两季“师说”系列微课程,从企业战略到财务管理、从市场营销到供应链金融,10分钟的音频课程中凝练着师者深入浅出、精炼简洁的…...

    2024/4/25 14:39:27
  6. 辣眼睛!《老九门》剧情拖沓不说还“假脸”横行!?

    原标题:辣眼睛!《老九门》剧情拖沓不说还“假脸”横行!?小编今天想来和大家说的其实是比较辣眼睛的一个事情,这不小编最近在追《老九门》嘛,剧情嘛,拖沓的一塌糊涂,真的是比橡皮糖还难拉,已经更新到32集了,该有的感情线不推,该盗的墓不盗,配角戏份比主角还多得多小编…...

    2024/4/25 14:39:24
  7. 成电战“疫”·同舟共济|电子科大学MBA学子助力校医院战“疫”

    原标题:成电战“疫”同舟共济|电子科大学MBA学子助力校医院战“疫”春节伊始,一场“疫”外,举国抗疫。战“疫”英雄,身赴一线;爱心人士,无私捐助;亲朋好友,默默支持......疫情无情人有情!这场“疫”外不会压倒顽强、坚韧和敢于拼搏的中国人民,反而会让大家更加团结友爱…...

    2024/4/25 14:39:24
  8. 备战马拉松5个小常识

    原标题:备战马拉松5个小常识有可能你强悍的初马开始很随性,没准完成的还不错。不过大多数人都是从第一次艰难的马拉松行程中获取经验,它教会您如何长跑,同时获得宝贵的经验和那值得尊重的42.193公里。 关于跑马规划、日常训练、营养及身体恢复、保养、挑选装备都是学问。在…...

    2024/4/25 14:39:24
  9. DNF背景故事丨坏入骨髓的卡勒特成员“范·弗拉丁”

    原标题:DNF背景故事丨坏入骨髓的卡勒特成员“范弗拉丁”我们前几天说到海克加入“海岸守备队”主要是为了报仇,今天我们就来讲一讲他的仇人“范弗拉丁”的故事。 如果用一个字来形容“范弗拉丁”,那就是“坏”,坏到骨子里的那种。他出生于无法地带,天生就是那种无法无天的…...

    2024/4/25 14:39:21
  10. 你知道盆栽植物为什么要换盆吗?

    原标题:你知道盆栽植物为什么要换盆吗?就像孩子长大了需要换大床穿大号衣服一样,植物如果一直不换盆,任其生长,它的根系生长就会受到局限,影响植物发展。另外,盆里的土壤在植物的成长过程中,养分日益不足、品质日益降低,因此,在适当的时机给植物换盆,可以让其焕发生…...

    2024/4/25 14:39:21
  11. 会员日双倍积分,早餐还不吃好点!

    原标题:会员日双倍积分,早餐还不吃好点!每天早晨在上班的路上, 都会看到街边很多卖早餐的小摊儿, 每一个都排着长长的队伍, 热腾腾的米粉佐上各种美味的调料咸菜辣椒酱, 铁板上滋滋作响的夹馅煎饼, 在油锅里刚刚炸好的黄金油条, …… 看似很美味, 但究竟有多少…...

    2024/4/25 14:39:19
  12. 重磅:慢牛来了,80%散户跑路了,可惜!

    原标题:重磅:慢牛来了,80%散户跑路了,可惜!1.上图是创业板日线图,一个45度角的上升通道。而沪市却是一个更为平缓的30度角的上升通道。充分体现了管理层的意愿:慢牛。 2.再请看今年6月份之前的日线图,都是以60度角或75度角上行的,快牛,疯牛,最终导致股灾。 3.在操…...

    2024/4/25 14:39:18
  13. 让撒贝宁、董卿、张国立称赞的超级读心术:10秒看透人心,掌握人际交往主动权

    原标题:让撒贝宁、董卿、张国立称赞的超级读心术:10秒看透人心,掌握人际交往主动权-1- 电视剧里的“读心神探”, 竟然真实存在 很多人知道“读心术”都是因为《读心神探》这部TVB剧,里面的主角姚学琛擅长知晓人心,可以通过简单甚至细微的肢体动作,看穿对方的心事以及…...

    2024/4/25 14:39:18
  14. 南昌铁路局3月6日停限装通知

    原标题:南昌铁路局3月6日停限装通知1. 自3月6日18点至4月30日18点,全路各站发往乌鲁木齐局阿图什站各户的各类货物,因站内施工无法取送车辆,停装。 2. 自3月6日18点至6月30日18点,全路各站发往北京局 张家口站各户(中国人民解放军93685部队专用线除外)的各类货物(含批…...

    2024/4/25 14:39:16
  15. 征集好随笔:漓江出版社《2019中国年度随笔》【粤海述评 总第344期】

    原标题:征集好随笔:漓江出版社《2019中国年度随笔》【粤海述评 总第344期】这是自2016年以来我主编的第四本年度随笔选。几年来,这种选本一直得到读者的欢迎,鼓励着我继续前行。我坚持认为,一本书或一篇文章,都应该来源于作者和编者在思想、观念、审美上的相互认同,所以…...

    2024/4/14 3:48:06
  16. 报名开启!第6期【实习店主-新生蜕变特训营】即将开始

    原标题:报名开启!第6期【实习店主-新生蜕变特训营】即将开始第6期实习店主-新生蜕变特训营 即将于12月16日正式开启。 请入选实习店主的各位推荐人 及时添加渠道经理确认参加人员名单 及时通知联系自己的实习店主来报名参加 在这里,可以让新人快速成长蜕变 最专业的产…...

    2024/4/14 3:48:03
  17. 周末约不约?线上成班!《华卿战神预备计划》来咯!!!

    原标题:周末约不约?线上成班!《华卿战神预备计划》来咯!!!线上成班 正式启动 华卿寒假班线上课已经告一段落,在这期间,我们看到了寒假班学员们的勤奋上进,出于对美术的追求和热爱,通过这段时间的学习,他们取得了很大进步,课程结束后,很多学员都对华卿线上课表现了…...

    2024/4/29 1:19:01
  18. A股诞生“强迫症”主力!股价先跌20%,再涨30%,多一点都不行

    原标题:A股诞生“强迫症”主力!股价先跌20%,再涨30%,多一点都不行文章来源笔者公众平台:顺势头狼 有一句话很经典。“在底部割肉的人,跟在顶部追高的人往往是同一批”。所以这波人又要追高了。连续几天的暴涨,接下来到底怎么操作,这就显得尤为重要。 1.主线,超跌小盘…...

    2024/4/25 14:39:15
  19. P榮譽| 本则设计荣获美国IDA国际设计大奖—金奖

    原标题:P榮譽| 本则设计荣获美国IDA国际设计大奖—金奖IDA(International Design Awards)是美國最具權威的國際設計大獎之一,2007年創辦於美國加州,宣導設計的可持續性、科學性、智慧性,評選條件十分嚴格,該獎項設置覆蓋建築設計、室內設計、產品設計、時尚設計、平面設…...

    2024/4/25 14:39:14
  20. 投资新机遇! 寻宝大舞台 2/2日—2/4日 上海朵云轩艺术中心 欢迎来捡漏!

    原标题:投资新机遇! 寻宝大舞台 2/2日—2/4日 上海朵云轩艺术中心 欢迎来捡漏!“艺术品投资交易创新展”(寻宝大舞台)的模式是结合了艺术品三种交易形式的优点,让展品完成互联网交易之前,给线上购买者有了现场接触鉴赏的机会,借由展品实物展出,购买者可以准确评估价值…...

    2024/4/25 14:39:12

最新文章

  1. 2024.5.3

    C风格字符串的越界异常处理 #include <iostream> #include <cstring> using namespace std; class MyStr{char str[200]; public:void set(string str);char at(unsigned int a); }; void MyStr::set(string str){strcpy(this->str,str.c_str()); } char MyStr…...

    2024/5/3 9:53:32
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 数据结构--KMP算法

    数据结构–KMP算法 首先我在这里提出以下问题&#xff0c;一会一起进行探讨 1.什么是最长公共前后缀 2. KMP算法怎么实现对匹配原理 3. 最长公共前后缀怎么求解 KMP算法可以用来解决什么问题&#xff1f; 答&#xff1a;在字符串中匹配子串&#xff0c;也称为模式匹配 分析…...

    2024/5/1 13:00:11
  4. 方案分享 | 嵌入式指纹方案

    随着智能设备的持续发展&#xff0c;指纹识别技术成为了现在智能终端市场和移动支付市场中占有率最高的生物识别技术。凭借高识别率、短耗时等优势&#xff0c;被广泛地运用在智能门锁、智能手机、智能家居等设备上。 我们推荐的品牌早已在2015年进入指纹识别应用领域&#xff…...

    2024/5/1 13:00:02
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/1 17:30:59
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/2 16:16:39
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/2 9:28:15
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/2 15:04:34
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/2 9:07:46
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57