应用_应用数理统计 - CSDN
精华内容
参与话题
  • 计算机网络的应用

    2020-03-27 16:57:57
    6.1域名系统DNS(Domain Name ...QQ能登录,但是网页打不开,这说明网络层是正常的,但是应用层的域名解析可能出现了问题。(此时QQ能够正常的登录是其可以选择IP直接登录服务器,而不用选择域名打开) 总结:DNS服...

    第一章:计算机网络概述
    https://blog.csdn.net/weixin_44751294/article/details/104851920
    第二章:计算机网络的物理层
    https://blog.csdn.net/weixin_44751294/article/details/104864680
    第三章:计算机网络的数据链路层
    https://blog.csdn.net/weixin_44751294/article/details/104886617
    第四章:计算机网络的网络层(上)
    https://blog.csdn.net/weixin_44751294/article/details/104992367
    第四章:计算机网络的网络层(下)
    https://blog.csdn.net/weixin_44751294/article/details/105002965
    第五章:计算机网络的传输层
    https://blog.csdn.net/weixin_44751294/article/details/105057420
    第六章:计算机网络的应用层
    https://blog.csdn.net/weixin_44751294/article/details/105120824

    文章目录

    6.1域名系统DNS(Domain Name System)

    一、DNS服务作用

    将http://www.91xueit域名变成192.13.14.15IP地址,计算机才可以正常的访问网站。域名解析的访问网站之前进行的。
    QQ能登录,但是网页打不开,这说明网络层是正常的,但是应用层的域名解析可能出现了问题。(此时QQ能够正常的登录是其可以选择IP直接登录服务器,而不用选择域名打开)
    总结:DNS服务的作用就是负责解析域名,将域名解析成IP
    8.8.8.8 是google的DNS服务器,222.222.222.222是电信的DNS服务器,能够用来帮忙解析域名地址。

    二、因特网的域名结构

    因特网采用了层次树状结构的命名方法。
    任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。
    域名的结构由标号序列组成,各标号之间用点隔开:
    在这里插入图片描述
    各标号分别代表不同级别的域名。域名必须全球唯一,需要注册。

    域名层次结构如下:
    • 根 .
    • 顶级域名 com, edu, net,cn,org,gov
      com 代表商业性网站
      edu 代表教育性质网站
      net 代表服务信息类
      .cn 表示中国,.us 表示美国,.uk 表示英国
      org 代表组织
      gov 代表政府部门
    • 二级域名 91xueit, inhe,例如91xueit.com是全球唯一的域名。网站习惯用www来标识
    • 三级域名 dba,例如www.dba.91xueit.com
    操作1:使用Ping解析域名
    • 命令:Ping www.baidu.com
      在这里插入图片描述
    • 分析:可见,域名解析的结果是14.215.177.39。故www.baidu.com的ip地址就是14.215.177.39.
    • 验证:
      在这里插入图片描述
    操作2:使用nslookup解析域名
    • 命令:nslookup www.baidu.com.
      在这里插入图片描述
    • 分析:同样可以解析出百度的ip地址,其中14.215.177.39与14.215.177.38均可以使用。

    三、域名解析过程

    在这里插入图片描述
      计算机一律将需要查询的域名询问com这个顶级域名,如果巧合这个域名刚好在com域名下,会直接返回结果。否则com会询问根DNS,得知在其他的顶级域名例如net,net会返回查询结果给com,在转会计算机。这个过程得益于域名的分布式存储查询。

    四、安装自己的DNS服务器

    1、几个需要安装自己DNS服务器的场景
    1. 解析内网自己的域名
    2. 降低到Ineternet的域名解析流量
    3. 内网有域环境,必须通过DNS来找到内网的控制器
    2、安装配置过程

    以下两步需要windows服务器版本,最好使用虚拟机来测试。

    3、DNS服务器的使用

    6.2动态主机配置协议DHCP

    一、静态IP与动态IP

    1、静态IP地址设置

    在这里插入图片描述

    2、动态IP地址设置

    在这里插入图片描述

    二、DHCP客户端请求IP地址的过程

    在这里插入图片描述这是一个动态IP地址的请求和分配过程。客户机在网中发广播请求地址,目标IP是4个255,目标MAC地址是全FF。DHCP收到后,会从地址池里选一个给客户机。如果网络中有2个DHCP服务端且都给了反馈,此时计算机还需要返回一个数据通知他选择了谁提供的地址。另一个DHCP客户端发现没要他的,于是收回他提供的。从这个角度看,网络中不能有太多的DHCP服务端。

    三、DHCP服务的安装

    DHCP必须是固定的IP地址。

    • 释放租约命令:ipconfig /release
    • 重新获得IP地址命令:ipconfig /renev
    • 查看网络状态信息:ipconfig /all

    四、跨网段地址分配

    在这里插入图片描述

    1、对于同一个网段的IP地址分配

    如果是同一个网段计算机想DHCP服务器申请地址,DHCP服务器就会查看自己的IP地址确定自己所处于的网段,然后在IP池中找一个本网段IP分配给计算机。

    2、对于不同一个网段的IP地址分配

    如果不是同一个网段计算机想DHCP服务器申请地址,这时必须在其所在网段的路由器的网关上配置写上DHCP服务器的IP地址,命令为:Iphelper address 192.168.0.100,这时广播包才可以访问到DHCP服务器。DHCP服务器接受到了广播包,就查看该计算机所处于的网段挑选一个合适的IP地址返回。

    五、DHCP跨网段分配地址的具体介绍

    在这里插入图片描述

    1、DHCP创建作用域

    对两个网段分别设置作用范围和网关等信息

    • 第一个作用范围
      在这里插入图片描述
    • 第二个作用范围
      在这里插入图片描述
      此时是请求不到地址的,因为路由器收到了请求也不知道找谁,没有设置地址。
    2、设置跨网段请求
    • 192.168.2.0/24网段的设置
    • 命令:
      interface fastEthernet 6/0 (该网段对应的路由器接口是6/0)
      ip helper-address 192.168.0.100
      在这里插入图片描述
    • 192.168.1.0/24网段的设置
    • 命令:
      interface fastEthernet 1/0 (该网段对应的路由器接口是1/0)
      ip helper-address 192.168.0.100
      在这里插入图片描述

    6.3文件传输协议FTP(File Transfer Protocol)

    一、FTP协议的概述与特点

    1、FTP协议概述

    文件传送协议 FTP (File Transfer Protocol) 是因特网上使用得最广泛的文件传送协议。
    FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
    FTP 屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。

    2、FTP协议特点

    文件传送协议 FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。
    FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。
    FTP 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务。FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。

    3、网络环境下复制文件的复杂性

    (1) 计算机存储数据的格式不同。
    (2) 文件的目录结构和文件命名的规定不同。
    (3) 对于相同的文件存取功能,操作系统使用的命令不同。
    (4) 访问控制方法不同。

    二、FTP 使用的两个 TCP 连接方式

    在这里插入图片描述
    FTP的连接方式包括控制连接和数据连接。每上传/下载一个文件就会建立一个会话。
    控制连接:标准端口为21,用于发送FTP命令信息。
    数据连接:标准端口为20,用于上传/下载数据。

    三、FTP数据连接的建立类型

    涉及到主动模式和被动模式

    1、主动模式

    FTP客户端告诉FTP服务器(的21端口)它在使用什么端口侦听,然后FTP服务器(的20端口)主动地和FTP客户端的这个端口建立连接。
    在这里插入图片描述

    2、被动模式

    FTP服务器端打开在指定范围内的某个新的端口(例如1089端口)并且进行侦听,被动地等待客户端发起连接。
    在这里插入图片描述
    综上,在有防火墙的情况下,如果使用被动模式,防火墙不得不开很多端口来监听。因此应该使用主动模式来进行数据连接,并在防火墙开21和20端口。

    四、FTP的传输模式

    文本模式:ASCLL模式,以文本序列传输数据
    二进制模式:Binary模式,以二进制序列传输数据

    五、FTP服务的安装与配置

    1、安装流程
    • 选择好安装光驱(点击已连接)
      a
    • Windows组件向导–>应用程序服务器–>Internrt信息服务(IIS)–>文件传输协议(FIP)服务
      在这里插入图片描述
    2、两种方式访问ftp站点
    1. 利用网页访问ftp站点
      在这里插入图片描述
    2. 利用Windows资源管理器访问ftp站点
      在这里插入图片描述
      传输一个文件就要建立一个会话,传输两个文件就要建立两个会话。
      netstat -n查看会话没有看见20端口,所以是被动模式。Ftp协议默认是被动模式。
    3、切换模式(主动模式与被动模式的切换)

    既支持主动模式,也支持被动模式,完全由客户端的选项来选择。
    在这里插入图片描述

    4、只开20,21端口的ftp启动被动模式不能访问
    • 只允许20/21端口的操作
      在这里插入图片描述
      Windows资源管理器访问ftp站点为空白,所以只开20,21端口的ftp启动被动模式不能访问,开主动模式就可以正常查看。

    6.4远程终端协议TELNET

    和距离没有关系,只要存在网络就可以成功通过telnet实现控制另一台计算机。
    默认使用TDP23端口。

    1、远程连接方法
    1. 启用想要连接的计算机telnet服务
      在这里插入图片描述
    2. 在另外一个计算机上输入telnet + 想要控制计算机的IP,然后输入密码。
    • net user administrator a1! 更改用户密码
    • net user han a1! /add 添加用户
      在这里插入图片描述
    1. 可以正常控制,比如在被控制的计算机中创建一个文件夹
      在这里插入图片描述
    2、远程控制操作
    • 远程添加用户和计算机组
      在这里插入图片描述
    • 远程关机(-t 0表示立即执行关机)
      在这里插入图片描述
    • 测试到远程的某个主机的某个端口能否打开,起到端口扫描的功能
      在这里插入图片描述

    (以上实验需要telent服务端才可以使用,windows不提供,但是可以安装)

    6.5远程桌面协议RDP

    远程连接服务器进行管理,和远程终端协议类似,但是这个是图形界面的。
    可用于远程管理服务器,可以使用客户端直接连接,利用mstsc。

    一、被控制端启用远程桌面

    在这里插入图片描述
    远程桌面协议RDP使用的是TCP+3389端口。服务已选中,就会进行监听。

    二、控制端实现控制

    1. windows+r,输入mstrc,输入IP地址
      在这里插入图片描述
    2. 输入管理员账号就可以进行操作
      在这里插入图片描述
    • 后台连过去了,但是不会影响当前登录的人。但是当前登录的人可以查到有人连接过来了。也就是允许多用户共同操作。
      在这里插入图片描述
    几点注意
    • 只能同时连接两个人,不容许第三个人。
    • 将用户添加到远程桌面组Remote Desktop Users组就能远程进行连接了。
    • 这些Server端的服务器都是多用户操作系统,启动远程桌面可以多用户同时使用服务器。
    • XP和Windows7是单用户操作系统,不支持多用户同时登陆,只能一个退出了另外一个用户再连接。

    三、本地硬盘映射到远程

    1. 远程连接时点击选项
      在这里插入图片描述
    2. 点击本地资源,点击详细信息
      在这里插入图片描述
    3. 选择需要映射的驱动器
      在这里插入图片描述
    4. 连接过去之后就可以在远程电脑操作本地的资源。拷贝文件非常方便。
      在这里插入图片描述

    6.6超文本传输协议HTTP

    通过这个http协议访问网站

    一、WWW万维网

    万维网提供分布式服务
    www.baidu.com提供关键字的搜索服务

    1、简单概念介绍

    浏览器:都是网站的客户端
    服务器程序:Windows2003/2008都可以在计算机上配置服务器(IIS)
    万维网服务器:运行网站的硬件服务
    统一资源定向符URL:一个链接定位到一个页面或者是图片,也就是超链接跳转。(使用的是默认端口,所以后面不用写端口)

    2、网站标识方法

    对于一个服务器上创建的多个Web站点,需要加以区分。否者同一个IP地址的服务器再使用相同的端口,会造成网页的访问冲突。因为不知道想要访问这个服务器上面的那一个网页。
    网站标识方法的方法如下:

    1. 可以用端口来区分
      80端口对于一个网站,81端口对于另外的一个网站
    2. 可以用IP地址来区分
      为服务器添加一个IP地址,192.168.80.66地址给一个标识一个网站,192.168.80.77地址给标识另外的一个网站。
    3. 可以用主机头(域名)来访问。
      如果地址和端口都相同会造成冲突,需要用主机头来标识。但是这时需要配置DNS服务器添加域来实现不同域名的标识
    3、主机头区分网站标识的具体实现
    1. 给91xueit这个网站配置了两个域名,使用的是192.168.80.66:80的地址和端口,其中一个主机头域名是www.abc.com
      在这里插入图片描述
    2. 给baidu这个网站配置域名,使用同样是的是192.168.80.66:80的地址和端口。但是配置了不同的主机头。域名为www.sou.com
      在这里插入图片描述
    3. 现在想要正常的访问这两个IP地址和端口都相同的网站,需要配合DNS服务器来使用,分别为主机有配置区域,添加主机记录。
      在这里插入图片描述
    4. 如此配置,使用不同的域名就可以访问不同的网站。所以可以使用一个地址,一个端口,再配合域名来区分既可成功实现。但是此时就不能用地址来打开网页了,因为会引起冲突。
      在这里插入图片描述

    二、Web服务与站点设置

    1、Web服务的安装
    1. Windows组件向导–>应用程序服务器–>Internet信息服务(IIS)–>万维网服务–>消息信息中的万维网服务
      在这里插入图片描述
    2. 安装完成,只有安装了这个服务,此计算机才能作为Web站点
      在这里插入图片描述
    2、Web站点的创建
    1. 网站就是一组网页,将html文件和对应的资源cp放在文件夹中。
      在这里插入图片描述
    2. 在网络信息服务管理器中,创建网站输入描述–>IP地址,端口,主机头设置–>设置网站的路径–>完成
      在这里插入图片描述
    3. 右键点击属性,设置网站的首页为index.html
      在这里插入图片描述
    4. 输入IP地址,可以正常的访问服务器上C盘的网页,并且通过IP地址和网页的名称可以访问其他的网页。 如下访问baoming.html网页在这里插入图片描述
    5. 使用域名www.abc.com来访问访问网站。需要在服务器中新建区域创建域名abc.com,然后再添加主机,写上域名想要访问的地址。这样客户端就可以使用www.abc.com访问91xueqi这个网站。
      在这里插入图片描述
    3、为服务器添加IP地址

    此时网站有两个地址,一个是192.168.86.77和192.168.86.66。百度使用66服务器地址,91xueit使用服务器77端口就可以正常的区分,使用了两个个公网地址(使用的是网络标识的第二种方法)
    在这里插入图片描述

    三、使用Web代理服务器访问网站

    1、使用Web代理服务器的场景
    1. 节省内网访问Internet的带宽
      因为代理Web服务器具有缓存功能,对于内网向外的访问不需要每次路由出去找,可以在代理的缓存中找到,这样就节省了带宽。
      在这里插入图片描述
    2. 代理服务器可以饶过防火墙(fanqiang)
      在这里插入图片描述
    3. 可以避免跟踪
      因为计算机通过一个代理如果要进行追溯的话,是找不到的。
      在这里插入图片描述
    2、代理服务器的使用
    • 查看代理服务器的IP地址个端口(由于代理服务器的IP地址就是服务器的地址,不用多管),代理服务器的端口是808。
      在这里插入图片描述
    • 工具–>Internet选项–>连接–>局域网设置–>代理服务器(打钩)–>写上代理服务器的IP地192.168.80.66址和端口808。
      在这里插入图片描述
    • 可见可以正常的通过代理服务器上网,netstat -n可以查看到与808端口的会话
      在这里插入图片描述
    • 对于客户端来说,如果使用了代理的服务器,可以不需要DNS解析域名,也不需要网关路由地址。
      在这里插入图片描述
    3、代理服务器具有控制上网能力
    • 可以配置密码和账号
      在这里插入图片描述
    • 上网的时候就需要输入用户名和密码(不仅如此,代理服务器还可以控制那些IP地址或Mac地址可以上网)
      在这里插入图片描述

    6.7电子邮件协议(SMTP,POP3,IMAP)

    SMTP发电子邮件,POP3和IMAP是收电子邮件。(IMAP功能更强大)

    一、收发邮箱的过程

    foxmial将写好的邮件发送到邮箱过程叫做中继。中继需要实名身份验证账号和密码,不能匿名。
    在这里插入图片描述

    二、准备邮箱服务器实验环境

    • 配置图如下
      在这里插入图片描述
    • 配置完成
      在这里插入图片描述

    三、安装和配置邮件服务器

    1. 对91xueitMail和51ctoMail安装POP3和STMP服务
    • 在网络信息服务中选择SMIP服务
      在这里插入图片描述
    • 分布式文件系统服务其实就是POP3服务
      在这里插入图片描述
    1. 对DNS服务器安装DNS服务
      在这里插入图片描述

    具体过程:

    1. 安装POP3和SMTP服务以及DNS服务
    2. 在DNS服务器上创建91xueit.com和51cto.com,创建主机记录mail 192.168.80.100
      并创建邮件交换记录 MX记录
      在这里插入图片描述
    3. 在POP3服务上创建域名,创建邮箱(收邮件pop3和imcp都可以)
      在这里插入图片描述
    4. 配置SMIP服务器,创建远程域名*.com,允许发送到远程
      在这里插入图片描述
      在这里插入图片描述
    5. 配置outlookExpreww 指明收件的服务器和发邮件的服务器,使用POP3协议收邮件

    搭建能够在Internet上使用的邮件服务器

    1. 在Internet上注册了域名 MX记录
    2. 邮件服务器有公网IP地址 或端口映射到邮件服务器 SMIP TCP

    参考链接

    https://www.bilibili.com/video/BV17p411f7ZZ?p=130

    展开全文
  • Android 将自己的应用改为系统应用

    万次阅读 多人点赞 2018-09-05 21:48:17
    所谓系统程序就是system/app目录中的程序,普通应用转换成系统程序后有稳定、减少内存(DATA)空间占用、恢复出厂设置后不会消失、修改系统时间、调用隐藏方法、系统关机重启、静默安装升级卸载应用等等等等优点,想...

    转载请标明出处:http://blog.csdn.net/xx326664162/article/details/53406933 文章出自:薛瑄的博客

    所谓系统程序就是system/app目录中的程序,普通应用转换成系统程序后有稳定、减少内存(DATA)空间占用、恢复出厂设置后不会消失、修改系统时间、调用隐藏方法、系统关机重启、静默安装升级卸载应用等等等等优点,想知道怎么操作?接下来我们介绍三种方法。

    第一种:使用ADB命令将app安装在system/app目录下

    参考:android 将自己的应用改为系统应用

    这种方法的原理就是:

    1、把apk文件移动到system/app目录,
    2、.so文件移动到system/lib目录。
    3、修改相应的权限

    操作步骤:

    1. 将你的手机数据线,插上,把你的设备设置为允许usb调试
    2. 打开命令终端cmd
    3. 输入命令 adb shell
    4. 确定能进入系统
    这里写图片描述

    5. 输入命令 mount
    这里写图片描述

    6. 因为system默认是只读文件夹,所以根据上面的提示输入下面命令,使其变为可读写
    mount -o remount /dev/block/nandd /system (图)
    这里写图片描述

    再出输入 mount 查看system和上面的不一样了,说明正确

    这里写图片描述

    7. 输入 exit 退出android系统终端

    8. 解压你的apk文件,进入查看lib/armeabi文件夹下有没有 .so文件,如果没有这种库文件的话,直接跳到第10步,(因为有些apk文件是要调用动态链接库的,你不拷贝的话,就没有办法运行!会报错)如果有的话, 将这些*.so文件都拷贝到/system/lib文件夹下:

    命令:adb push libiReader_txtparser.so system/lib
    这里写图片描述

    9、拷贝完了之后呢,要给这些库文件添加权限,看看别的库文件权限是几

    chmod   644  xxxxx.so

    这里写图片描述

    10. 将你的apk文件拷贝进入/system/app(该文件夹里存放着所以系统级别的apk),图中我是将iReader.apk拷贝过去的

    这里写图片描述

    11. 再次进入android终端 adb shell
    12. 进入system/app文件夹 cd system/app
    13. 查看其他apk的权限 ll 能看出区别

    这里写图片描述

    14. 修改iReader.apk权限使其和其他的一样 chmod 644 iReader.apk
    这里写图片描述

    15. 搞定这些之后,重启设备 reboot
    16. 看看系统里面是不是安装好了该应用,点击一下,看是否正常运行,可以的话,再检测是否无法卸载!

    第二种:借助工具把app转为系统应用(原理和方法一一样)

    转载:安卓进阶教程:怎样把应用转换成系统程序

    RE管理器转换和LINK2SD都可以实现,任选其一即可

    使用RE管理器转换

    1、首先我们把需要转换的程序在电脑上用压缩软件打开 ,看有没有lib这个目录。如果有,再把lib目录打开,直到出现以.so结尾的文件,把文件都拖出来备用。

    这里写图片描述这里写图片描述

    2、把需要转换的应用(apk文件)连同刚拖出的.so文件(如果有),放到手机内存卡,
    3、用RE管理器复制到system目录,把权限更改如图,
    4、把更改权限后的apk文件移动到system/app目录,.so文件移动到system/lib目录。
    5、完成后重启手机,应用就转换成系统程序了。

    使用LINK2SD转换

    这里写图片描述这里写图片描述

    如果感觉以上方法麻烦,也可借助工具来操作,LINK2SD、钛备份等软件都可以把普通程序转换为系统程序,以LINK2SD为例,打开LINK2SD,找到需要软件的程序,点击,再点操作,选择转换系统应用,接着会有个确认窗口,确认后,重启手机程序就转换好了。

    第三种:使用signapk打包成系统应用

    参考:
    android之使用signapk打包成系统应用,获取系统权限
    使用platform密钥来给apk文件签名的命令
    Android安全开发之通用签名风险
    关于android:sharedUserId=”android.uid.system”这个系统级权限
    安装APK 时, 提示” 共享用户权限不完整” , 不能安装成功, 如何解决?
    https://github.com/android/platform_build/tree/master/target/product/security

    为了更好地理解下面介绍的两种方法的原理,先来学习几个概念:

    Android应用签名机制

    Android系统要求安装的应用必须用数字证书进行签名后才能安装,并且签名证书的私钥由应用开发者保存。签名证书的生成也由开发者自己生成。在应用安装时会校验包名(package name)和签名,如果系统中已经存在了一个相同的包名和签名的应用,将会用新安装的应用替换旧的;如果包名相同但是签名不同,则会安装失败。

    为什么需要数字签名?

    数字签名是防止要保护的内容被篡改,用非对称加密算法。先对要保护的内容进行消息摘要,用私钥对消息摘要进行加密,生成数字签名,将数字签名和要保护的内容一起分发出去。 内容接收者用公钥对数字签名解密得到发送者给的消息摘要A,内容接收者对接收到的内容进行用相同的消息摘要算法处理得到消息摘要B,对比A和B是否相同,来判定传送的内容是否被篡改。 正常的APK文件是个ZIP压缩文件,除了应用的可执行文件、资源文件,还包括这些可执行文件、资源文件的摘要信息,数字证书的公钥信息等。并且通过这些签名信息可以确定APP和其开发者的关系。

    进行签名需要的工具有哪些?

    对apk进行签名需要用到签名证书和签名工具。Android系统要求对APP进行签名的数字证书可以由开发者自己生成。签名工具有jarsigner和signapk。jarsigner是Java本身自带的一个工具,他也可以对jar进行签名的;而signapk是专门为了Android应用程序apk进行签名的工具。二者的区别是:jarsigner工具签名时使用的是keystore签名文件,signapk工具签名时使用的是pk8,x509.pem文件。

    签名后的文件都有哪些?

    应用签名完后在应用的META-INF目录下会有三个文件:

    CERT.RSA、CERT.SF和MANIFEST.MF。

    MANIFEST.MF中保存了所有其他文件的SHA1摘要并base64编码后的值。

    CERT.SF文件 是对MANIFEST.MF文件中的每项中的每行加上“rn”后,再次SHA1摘要并base64编码后的值(这是为了防止通过篡改文件和其在MANIFEST.MF中对应的SHA1摘要值来篡改APK,要对MANIFEST的内容再进行一次数字摘要)。

    CERT.RSA 文件:包含了签名证书的公钥信息和发布机构信息。

    对安装包的校验过程在源码的frameworks/base/core/java/android/content/pm/PackageParser.java类中可以看到

    什么是通用签名?

    搭建好Android开发环境后(使用Eclipse或Android Studio),对APK签名的默认密钥存在debug.keystore文件中。在linux和Mac上debug.keystore文件位置是在~/.android路径下,在windows目录下文件位置是C:\user\用户名.android路径下。

    除了debug.keystore外,在AOSP发布的Android源码中,还有以下几个证书是公开的,任何人都可以获取,在源码的build/target/product/security目录中:

    这里写图片描述

    这几个证书的作用:

    testkey

    Generic default key for packages that do not otherwise specify a key.

    platform

    Test key for packages that are part of the core platform.

    shared

    Test key for things that are shared in the home/contacts process.

    media

    Test key for packages that are part of the media/download system.

    verity

    Test Key for verifiedboot system imagein Android Lollipop. Sign boot.img,sign verity metadata in system.img.

    通用签名风险:

    (1)如果攻击者的应用包名与目标应用相同,又使用了相同的密钥对应用进行签名,攻击者的应用就可以替换掉目标应用;

    (2)另外目标应用的自定义权限android:protectionlevel为“signature”或者“signatureOrSystem”时,保护就形同虚设;

    (3)如果设备使用的是第三方ROM,而第三方ROM的系统也是用AOSP默认的签名,那么使用如果使用系统级签名文件签名过的应用,权限就得到了提升。

    具体的实现方法:

    第一种是需要在Android系统源码的环境下用make来编译:

    1. 在应用程序的AndroidManifest.xml中的manifest节点中加入android:sharedUserId=”android.uid.system”这个属性。
    2. 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行
    3. 使用mm命令来编译,生成的apk就有修改系统时间的权限了。

    第二种:

    下面着重介绍一个这个方法:

    1. 加入android:sharedUserId=”android.uid.system”这个属性。

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
              package="com.example.jant.addview"
              android:sharedUserId="android.uid.system" >
        <application
           ...(省略若干代码)
        </application>
    
    </manifest>

    2. 使用自己的签名文件,生成apk

    3. 使用通用签名来重新给apk文件签名。

    3.1 .准备好platform.pk8、platform.x509.pem和签名工具signapk.jar(3个文件的下载地址),还有自己的apk,放在同一个文件夹下。

    3.2 在cmd下进入到该文件夹后,使用如下命令:
    这里写图片描述

    3.3 回车后我们的文件夹下已经多了一个new.apk文件了,这就将我们的应用打包成系统应用


    你也可以在github中去下载,但是下载的是SignApk.java,需要进行一些处理,如下

    1.1.进入\build\target\product\security,找到【platform.pk8】和【platform.x509.pem】系统密钥。
    1.2.进入\build\tools\signapk找到SignApk.java,运行 javac编译成SignApk.class
    1.3.执行命令java com.android.signapk.SignApk platform.x509.pem platform.pk8 input.apk output.apk

    最后解释一下原理

    首先加入android:sharedUserId=”android.uid.system”这个属性。通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中。那么把程序的UID配成android.uid.system,也就是要让程序运行在系统进程中,也就是系统应用。

    只是加入UID还不够,如果这时候安装APK的话发现无法安装,提示签名不符,原因是程序想要运行在系统进程中还要有目标系统的platform key,就是上面第二个方法提到的platform.pk8和platform.x509.pem两个文件。用这两个key签名后apk才真正可以放入系统进程中。第一个方法中加入LOCAL_CERTIFICATE := platform其实就是用这两个key来签名。

    这也有一个问题,就是这样生成的程序只有在原始的Android系统或者是自己编译的系统中才可以用,因为这样的系统才可以拿到platform.pk8和platform.x509.pem两个文件。要是别家公司做的Android上连安装都安装不了。试试原始的Android中的key来签名,程序在模拟器上运行OK,不过放到小米四上安装uibl,如下图,这样也是保护了系统的安全。

    这里写图片描述

    最后还说下,这个android:sharedUserId属性不只可以把apk放到系统进程中,也可以配置多个APK运行在一个进程中,这样可以共享数据,应该会很有用的。
    你在Manifest.xml里声明使用了shareuserid 或者一些特殊permission,比如你shareuserid到uid.system,就必须使用系统platform签名来签你的apk,否则是不能安装的,同理share到其他用户id或者其他process上也是得用跟那个process运行的apk一样的签名
    一般签名肯定是厂商私有的,你肯定是没办法了,除非机器烧的是开发版本(eng)

    检验app是否已经是系统应用

    查看应用的进程属性,如果是system用户组,说明已经是系统应用。

    这里写图片描述

    关注我的公众号,轻松了解和学习更多技术
    这里写图片描述

    展开全文
  • 什么是Web应用程序

    万次阅读 2017-11-22 12:11:33
    一 Web应用程序 Web应用程序是一种可以通过Web访问的应用程序。Web应用程序的一个最大好处是用户可以很容易访问应用程序。用户只需要有浏览器即可,不需要再按照其他软件。   二 为什么要学习Web应用程序 Web...
    Web应用程序
    Web应用程序是一种可以通过Web访问的应用程序。Web应用程序的一个最大好处是用户可以很容易访问应用程序。用户只需要有浏览器即可,不需要再按照其他软件。
     
    二 为什么要学习Web应用程序
    Web应用程序开发,是目前软件开发领域的三大方向之一。


     
    JAVAEE方向需求一直很大,也是就业比较容易和稳定的,在一线城市有两年JAVAEE开发经验的工程师起薪就有10到15K。
     
    三 静态网页和动态网页


     

     

     
    • 6906bb1f-328d-339f-8438-ac0cd30c2e9a-thumb.png
    • 大小: 172.8 KB
    • abec270b-e45f-30c3-83bc-863a07dce3a4-thumb.png
    • 大小: 185.2 KB
    展开全文
  • 近日,华为、小米、OPPO、vivo、中兴、金立、联想、魅族、努比亚,中国叫得上名字的安卓手机制造商们好像突然停止了手机销售的争夺,准备在应用分发上面联起手来,搞一个大动作。 根据小米、魅族、vivo等方面的官宣...

    近日,华为、小米、OPPO、vivo、中兴、金立、联想、魅族、努比亚,中国叫得上名字的安卓手机制造商们好像突然停止了手机销售的争夺,准备在应用分发上面联起手来,搞一个大动作。

      根据小米、魅族、vivo等方面的官宣消息,3月20日,9大主流手机厂商将共同启动「快应用」标准,打造移动应用新生态,目标直指急速扩张中的微信小程序。

    快应用是什么 快应用有什么用

      快应用是什么?

      继2017年小米推出「直达服务」、魅族推出「快捷应用」、金立推出「秒开应用」之后,如今,手机厂商将基于安卓生态合力进击,试图重新拿回应用分发上的主导权。

    快应用是什么 快应用有什么用

      而整个小程序生态历经一整年风风雨雨,2018年势必迎来全面爆发。作为新一代移动端应用分发入口,小程序的趋势日趋明朗化,竞争也在急剧激烈化。战线从手机QQ、QQ浏览器、支付宝、手机淘宝,再拉到了谷歌的Instant App,微软的PWA、Face book的React Native。

      此外,行业还一度盛传今日头条或将发力小程序,百度类似直达号的轻型应用也可能曲线回归,一场围绕移动互联网下半场的关键战役已经全面打响。

      而快应用是九大手机厂商基于硬件平台共同推出的新型应用生态。快应用使用前端技术栈开发,原生渲染,同时具备H5页面和原生应用的双重优点。

      用户无需下载安装,即点即用,享受原生应用的性能体验。快应用框架深度集成进各厂商手机系统中,可以在操作系统层面实现用户需求与应用服务间的无缝连接,提升用户的使用体验和应用服务的转化效率,同时支持生成桌面图标等留存能力。

      开发方面,快应用标准和平台,最大化降低了开发者的开发和推广成本,开发者可一站式接入实现跨厂商终端运行。

      快应用有什么用?

      在公众号「小米开放平台」当天的推送文章中,我们可以看到这样的段落:

      快应用使用前端技术栈开发,原生渲染,同时具备HTML5页面和原生应用的双重优点。用户无需下载安装,即点即用,享受原生应用的性能体验。

      这个说法是不是似曾相识?没错,这些都是微信小程序的卖点:同样使用前端技术栈,同样具备HTML5与Native App的双重优势,用户使用微信小程序和快应用,也皆可以「即点即用」。

    快应用是什么 快应用有什么用

      回过头看看同样拥有这些卖点的支付宝小程序吧。对比微信与支付宝两个小程序平台的开发文档,除了一些特定接口因业务需要而有所差异之外,二者的接口、组件相似度极高;实际上手中,开发者也完全可以做到将小程序几乎零成本地从微信移植到支付宝。

    快应用是什么 快应用有什么用

      小编认为,虽然目前详细的开发文档尚未流出,但同样使用前端技术的快应用,没有理由自己再建立一套开发标准,否则在标准、开发者培训以及技术栈构建上都会出现较大问题,大大削弱快应用平台的竞争力。

      因此,快应用极有可能与支付宝一样,使用与微信小程序看齐的开发标准,尽最大可能,降低开发者的开发门槛,进一步吸引更多小程序,特别是微信小程序,移植到快应用平台。

      微信和手机厂商,谁能抢占手机桌面?

      实际上,9大具有广泛的硬件销售竞争关系的手机厂商能够合推快应用标准,首先得益于此前已经建立的联盟关系。

      早在2014年8月1日,国内一线手机制造商就曾经成立了一个叫「硬核联盟」的组织,又称「安卓智能手机生态系统联盟」,由玩咖传媒联手当时的6大手机制造商共同成立。

    快应用是什么 快应用有什么用

      「硬核联盟」施行商务共享,一家可以代表联盟共同谈判,提高CP的分发及渠道效率,通过一个接口实现与多个手机厂商的合作。主要针对优秀的游戏和应用产品,进行众推或者联合首发。而此次的标准仍然由「硬核联盟」所推动,从而让手机厂商具有行动一致,以及平台化分发的基础。

      随着小程序的强势崛起,事实上,小米和魅族等之所以急于上线各自的轻型应用,不仅在于微信在自有的App内部搭建了完整的互联网应用生态,也因为微信利用安卓的系统规则,将小程序直接触达到了手机桌面。

      「快应用」的推出,看似是手机厂商的底层革命,实际上却是针对微信已经反攻到了手机桌面端的被动应对。

      手机桌面小程序「快捷方式」的意义,对于微信而言,已经不只是便于用户使用的入口,也在最大程度上延伸了微信的触角,每一个布置在手机桌面的小程序,都会是用户快速回到微信的入口,换言之,每个小程序不是在消耗微信流量,而是在为微信引流。利用手机桌面,微信已经在这种导流与回流当中,形成了非常稳定的闭环关系。

    快应用是什么 快应用有什么用

      而手机厂商为此不仅失去了应用分发的价值,也被截断了预装和广告营销的红利。为此,手机厂商必须建立一种新的规则重构应用分发机制。这就成为「快应用」推出的根本原因。

      而现在看来,用户体验上的最大不确定性,就是快应用和小程序如何在手机桌面共存?会不会在桌面端出现两个图标,由此对用户造成干扰?

      场景化流量大于搜索,「快应用」如何逆袭?

      的确,微信、支付宝小程序要求用户安装、注册相应App才能使用。快应用则不需要,只需拥有一台支持快应用标准的机器(甚至连手机都不用换,只需要升级、更换系统固件),就能使用快应用,而且,快应用还能直接从系统桌面直接启动。

      这使得用户使用快应用的成本与使用路径,要比使用小程序短得多。同时,由于减少了微信、支付宝这层中间媒介,改为由系统直接运行快应用,理论上快应用的性能运行表现,一定是优于小程序平台的。

    快应用是什么 快应用有什么用

      不过,尽管如此,但快应用要想推广开来仍然充满挑战。

      最大的挑战不是来自应用本身,而是用户对应用分发不可逆转的习惯趋势。

      微信所形成的巨大流量场效应被谈及最多,这是手机应用商店所无法达到的指数级体量差距。但这却并非最主要的,根本原因在于,手机厂商的另一撒手锏,也就是桌面端的直达搜索功能可能也没办法达到预期。

    快应用是什么 快应用有什么用

      一直以来,微信小程序为何会弱化搜索,却打通了近50个入口?其实是因为微信已经看准了接下来应用分发的核心趋势,不是搜索,而是场景化分发。

      微信颠覆了应用分发的基本逻辑。如果说移动互联网上半场的分发规律是搜索,依赖用户主观能动性去寻找应用;那么下半场的分发规律就是场景化体验。所以,轻应用还是「重应用」的问题是第二位的,首要问题是用户除了记忆一些头部应用之外,大量应用会在偶遇之中用完即走,这是手机应用极大丰富以后,不可违逆的用户习惯。

    快应用是什么 快应用有什么用

      而在目前看来,真正的场景化其实只存在于微信、支付宝等头部应用。作为社交应用的微信、交易工具的支付宝,它们的小程序平台自然会提供带有平台特色的接口,例如,微信小程序的分享群聊功能、支付宝的读取芝麻信用分等功能,以及两个小程序平台都拥有的支付功能。这些功能都是快应用天生所缺乏的。

      布局线下,「小程序码」是否还有一战?

      如果说,线上缺乏场景,那么在线下,快应用能否扳回一城呢。

      事实上,短期来看,小程序和快应用的争夺集中在线上,但未来真正的战场却在线下。这从微信小程序今年的发力重点也可以看出端倪。

      如今,微信通过整合小程序、微信支付、扫码和卡包等能力,已经将小程序广布到大街小巷、酒店商超、医院机场等各个角落,小程序并不只是一个线上应用,而是变成了OMO(线上与线下融合)的连接器。

    快应用是什么 快应用有什么用

      相比较线上,线下其实有更多的服务与应用的场景,而线下直接触达用户的方式就是「码」,无论是微信的二维码、小程序码,还是支付宝的二维码,都成为了直接入口。

      相比较微信和支付宝,其实手机厂商所沉淀的线下商户以及拓展线下商业的能力更不可小觑。特别是众多手机厂商共同发力,可以迅速完成大量的快应用的物料落地,而一旦形成了用户触达,用户会选择哪种「码」进行扫描就可能充满变数。

      然而,尽管手机厂商的地推能力是强项所在,但如果要想真正服务线下,快应用形态又会显得太轻了一些,毕竟小程序里面所包含的将不只是应用体验那么简单,而是充满整合多能力的一个功能信息集,而即将上线的快应用,是否能够支持支付、扫码、用户数据、LBS、广告投放等功能,仍然无法得知。

    快应用是什么 快应用有什么用

      此外,就线下而言,调取扫码功能与用户扫码习惯也会是微信小程序的关键优势,特别是当微信和支付宝已经牢牢占据用户心智之后,要想再挤进来一个「码」的位置也不太大。

      而最后,推进现在,也非常考验快应用标准联盟的凝聚力和决心。对于手机厂商而言,如果只是想在线上构建一种纯粹的轻量化的应用体验,那么机会实在不多;但如果想在线上线下全面开战,就必须把推进「快应用」的决心和战略意志,放到和销售手机设备一样的高度上来。

    展开全文
  • GAN应用汇总

    万次阅读 多人点赞 2018-08-31 16:36:12
    GAN的应用汇总(持续更新) 前言: GAN全称是Generator adversarial networks,中文是生成对抗网络,是一种生成式模型,由good fellow在14年提出,近四年来被AI研究者疯狂研(guan)究(shui),更有大神建立...
  • 钉钉应用的基本介绍

    千次阅读 2019-07-11 17:39:54
    企业内部应用:面向企业内部开发人员和定制服务商,自主开发内部应用或工作台,供企业或组织内部使用。 当应用上架后改企业的所有用户都可以得到访问该应用的权限,不允许企业之外的人员使用;如果需使用,可以将该...
  •  最进一个朋友搞了一个 苹果的小应用,现在想通过web发布到网页提供下载,由于我是一个码农,所以有求与我。由于之前没有接触过这一块。由于我一直做web开发,心想这个很简单啊,直接部署在服务器上给一个链接不就...
  • 查看Android应用签名信息

    万次阅读 2014-12-03 17:58:58
    本文档介绍在Android下如何查看自己的应用签名及三方APK或系统APK签名信息,包含其中的MD5、SHA1、SHA256值和签名算法等信息。 1、查看自己的应用签名 可以通过两种方式查看 (1) 通过Eclipse查看默认的...
  • ios 修改应用名称

    万次阅读 2013-08-22 10:14:00
    目标:把应用名为chris改为chalk.     建个ios工程,名为chris. 在build setting下搜索product name,把名字改为chalk 在plist下修改bundle display name为chalk  应用名已经改为chalk
  • 相信很多从事android开放人员,都希望自己的app不仅仅放在自己的某个网站让人家去下载。给用户感觉自己的app不正规,安全性没有保障。在此我为大家提供一个真实的例子,希望对大伙有所帮助。我仅提供腾讯的上架例子...
  • android重启应用应用重新启动自身)

    万次阅读 多人点赞 2013-02-15 23:12:20
    private void restartApplication() { final Intent intent = getPackageManager().getLaunchIntentForPackage(getPackageName()); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); star
  • 【SQL Server 2008】外围应用配置器去哪儿了?

    万次阅读 热门讨论 2016-12-17 10:34:47
    在数据库视频中讲述了,SQL Server 2005的外围应用配置器的运用,从打开到使用,但是我用的为SQL Server 2008并未找到外围应用配置器,去哪儿了呢?
  • 应用宝上线 搜索不到问题

    万次阅读 2015-11-11 10:50:38
    应用上线了,心里挺高兴的,可是,令人郁闷的是命名应用显示已上线可是 在应用宝里完全搜不到,郁闷了吧! 联系客服吧,以下是我经历! 首先,我百度了,一无所获!虽然很多人都遇到了,但是没有人分享经验! ...
  • QQ第三方登录-非官方应用-请到官方网站下载正版应用-100044错误码问题出现:接手项目,未使用之前的签名文件原因:签名改变导致办法:联系QQ客服——开放平台800013811本人联系客服后,发现方法是QQ互联平台关联应用...
  • 应用宝使用绑定iOS下载

    万次阅读 2015-08-26 09:43:52
    1.点击android应用信息2.点击微下载3.选择申请自定义模板4.在红色框中填写苹果的app地址
  • 公司一个已经上线的项目,老大让我去看看熟悉下该...如果是正式版不行,要去QQ互联官网connect.qq.com ,登录之后点击应用管理,找到移动应用后点击关联腾讯开放平台,然后自己修改相应的签名或者包名就可以正常登录了
  • 问题提示界面如下: 问题原因: DirectX 程序dll文件出问题了;...(但是我这里的问题还更特殊一点,就是: ...当程序在电脑上第一次运行的时候是没有问题的,可以运行,但是一旦电脑重启,就会报这个错误提示) ...
  • windows 8 应用商店揭秘(推荐)

    万次阅读 多人点赞 2012-10-30 11:24:16
    Windows8 应用商店揭秘 [核心提示] 作为 Windows 8 的一个重头戏的应用商店并不神秘,微软将时下主流的 App Store 模式引进 Windows 8 会不会成功呢? Windows 应用商店是什么? 当我们进入 Windows 8 后首先看到...
  • 这个“我的应用数据”应该是在手机端同步后自动产生的,并且手机端和网页以及PC端都不能删除,默认放在第一位,太碍眼了。 方法:手机上,通过ES file expolorer登陆百度云盘,然后删除apps这个文件夹。 1. 下载ES...
  • 使用weblogic部署应用

    万次阅读 2018-08-10 15:38:32
    我们再web应用的开发过程中,除了tomcat部署应用,还会使用到weblogic、jboss等应用服务器来部署。今天,我们就来学习下如何在weblogic下部署应用。  1.我们需要准备应用的war包并上传到weblogic服务器所在的目录...
1 2 3 4 5 ... 20
收藏数 7,618,757
精华内容 3,047,502
关键字:

应用