精华内容
下载资源
问答
  • Android 将自己的应用改为系统应用

    万次阅读 多人点赞 2016-11-30 16:19:11
    所谓系统程序就是system/app目录中的程序,普通应用转换成系统程序后有稳定、减少...第一种:使用ADB命令将app安装在system/app目录下转载:android 将自己的应用改为系统应用这种方法的原理就是:1、把apk文件移动到

    刚才有个朋友问我,博主发生什么事了,给我发了几张截图,我一看,哦,原来是有个大帅哔看了文章,说是,博主,我能白嫖你的文章,我说年轻人,点个赞再走,他说不点,我说点一个,他说不点,我说点一个,他说不点,我说我这文章对你有用,他不服气,说要先看看。我说可以,很快啊,看完后,就是一个复制,一个粘贴,一个网页关闭,我大意了啊,没有删除文章。按传统博客的有用为止,他说已经输了啊。 后来他说他是乱点的,这可不是乱点的啊,训练有素。我劝年轻人好好点赞,耗子尾汁,谢谢朋友们

    转载请标明出处: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用户组,说明已经是系统应用。

    这里写图片描述

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

    展开全文
  • Android5.0 以上获取系统正在运行应用信息

    千次下载 热门讨论 2015-11-04 18:10:01
    Android 5.0以上获取系统运行进程信息, 5.0系统getRunningAppProcesses 已经失效了。http://www.cnblogs.com/luoyangcn/p/4936830.html
  • 应用系统安全管理

    千次阅读 2017-04-05 17:12:22
    应用系统的安全管理 1 身份鉴别 1.1 应用系统采用专用的登录控制模块

    应用系统的安全管理

    1 身份鉴别

    1.1 应用系统采用专用的登录控制模块对登录用户进行身份标识和鉴别,具有用户身份唯一标识和鉴别信息复杂度检查功能,保证应用系统中不存在重复的用户身份标识,身份鉴别信息不易被冒用。

    1.2登录失败采取结束会话方式,根据非法登录次数为4次,当网络登录连接超时自动退出等。

    1.3系统应有“退出”功能,允许用户终止当前会话。

    1.4系统应启用身份鉴别,用户身份唯一性检查、用户身份鉴别信息复杂度检查以及登录失败处理功能,并根据安全策略配置相关参数。

    1.5用户身份鉴别信息中的密码信息,应符合以下要求:

     1)每半年修改一次密码;

    2)不包含全部或部分用户名(任意连续3个字符);

    3)长度至少为8个字符;

    4)至少包含有英文大写字母、小写字母、数字、特殊字符这四种类型字符中的3种字符。

    5)有效期最长为6个月。

    1.6应对同一个用户采用2种或2种以上组合鉴别技术实现用户身份鉴别。

    2 访问控制

    2.1应提供访问控制功能,依据安全策略控制用户对文件、数据库等客体的访问。

    2.2访问控制的覆盖范围应包括与资源访问相关的主体、客体及他们之间的操作。

    2.3应由授权主体配置访问控制策略,并严格限制默认账号的访问权限。

    2.4应授予不同账号为完成各自承担任务所需的最小权限,并在他们之间形成相互制约的关系。

    2.5应具有对重要信息资源设置敏感标记的功能。

    2.6应依据安全策略严格控制用户对有敏感标记重要信息资源的操作。

    3安全审计

    应保存业务日志,保证业务操作不被抵赖,并通过日志安全分析操作行为,发现安全问题。安全日志审计应达到以下要求:

    1)在服务器端日志记录客户端的IP地址、认证者身份、操作时间、操作类别和操作结果等信息;

    2)在服务器端记录程序错误信息日志;

    3)对日志信息的访问权限要做访问控制策略;

    4)对重要日志进行专门的采集、备份、管理,定期对日志进行安全分析,生成审计报表。

    4剩余信息保护

    4.1应保护用户鉴别信息所在的存储空间被释放或在分配给其他用户前得到完全清除,无论这些信息是存放在硬盘还是内存上。包括但不限于应用系统内存中的剩余用户信息,FTP剩余用户信息,数据库剩余用户信息,均应该先清除或改写后在进行删除。

    4.2应保证系统内的文件、目录、数据库记录等资源所在的存储空间被释放或重新分配给其他用户前得到完全清除,包括但不限于应用系统内产生的剩余文件资源、关联的FTP资源和数据库记录资源、均应该先清除或者改写后在进行安全删除,防止数据恢复工具对其进行恢复。

    5通信完整性和保密性

    5.1 主要通过VPN或者绑定IP地址来保证通信过程中数据的保密性。WEB程序对于重要数据及指令的传输应进行通信加密和校验。另外用户通过HTTPS访问应用系统,对传输的数据内容进行双向加密。

    5.2对于应用系统数据的通信和传输,各系统均应采取如下的方式来确保通信的完整性:

    发送端应使用MD5或级别更高的散列算法作为指纹,将数据加密,然后在接收端进行比对。

    6抗抵赖性

    6.1 对系统用户的每一次登录和其对系统重要模块的操作均记录日志,因此能够实现抗抵赖性。

    6.2应具有在请求的情况下为数据原发者或接受者提供数据原发证据的功能。

    6.3应具有在请求的情况下为数据原发者或接受者提供数据接收证据的功能。

    7软件容错

    7.1 对于系统用户错误性操作,系统需能给出提示或提供自动纠正功能,为校验数据输入的准确性,系统需采取代码校验,数据逻辑关系校验等方法。对于系统用户的非法操作,系统需具备自我保护能力,自动处理此类问题,让非法输入不能对系统运行造成任何影响。另外系统需具有对错误类型进行分类的能力,且需要根据不同的错误类型给予用户不同的错误提示信息。

    7.2在故障发生时,系统能够继提供一部分功能,并实施必要的措施将故障影响降到最低。应提供自动保护功能,当故障发生时自动保护当前所有的状态,保证系统能够进行恢复。

    8资源控制

    8.1当系统通信双方中的一方在60s内未作出任何响应,另一方会自动结束会话。可以手工配置参数,对系统的最大并发连接数进行限制,并禁止单个账户的多重并发会话。

    8.2限制系统多个最大并发会话数,对一个时间段内可能的并发会话连接数进行限制。

    8.3应能够对一个访问账户或一个请求进程占用的资源分配最大限额和最小限额。

    8.4应能够对系统服务水平降低到预先规定的最小值进行检测和报警。

    8.5应提供服务优先级设定功能,并在安装后根据安全策略设定访问账户或请求进程的优先级,根据优先级分配系统资源。

    展开全文
  • 举出适合文件系统而不是数据库系统的应用例子,以及适用数据库系统的应用例子。... (2)适用于数据系统而非文件系统的应用例子:目前,几乎所有企业或部门的信息系统都以数据库系统为基础,都是用数据库...
    举出适合文件系统而不是数据库系统的应用例子,以及适用数据库系统的应用例子。

    (1)适用于文件系统而不是数据库系统的应用例子: 数据的备份、软件或应用程序使用过程中的临时数据存储一般使用文件比较合适。早期的功能比较简单,比较固定的应用系统也适用文件系统。
    (2)适用于数据系统而非文件系统的应用例子:目前,几乎所有企业或部门的信息系统都以数据库系统为基础,都是用数据库。例如,一个工厂的管理系统(其中会包括许多子系统,如库存管理系统,物资采购系统,作业采购系统,作业调度系统,设备管理系统,人事管理系统等),学校的管理系统,人事管理系统,图书馆的图书管理系统,等等。都适合数据库系统。

    展开全文
  • 本课程主要讲解了一些获取linux系统信息的函数,譬如获取时间相关的函数群,获取伪随机数序列的函数群和proc文件系统,目标是让大家学习相应的API和库函数,将来在项目中能够熟练应用之。
  • 最近有win10系统用户打开word出现“应用程序无法正常启动0xc0000142”的提示 ,重启后再次出现提示,再次尝试打开发现可以正常打开。...原因解析:出现0xc0000142的报错信息可能是由于系统文件缺失或损坏导致的。 方...

    最近有win10系统用户打开word出现“应用程序无法正常启动0xc0000142”的提示

    ,重启后再次出现提示,再次尝试打开发现可以正常打开。其他软件在安装时也会提示“应用程序无法正常启动0xc0000142”,同一个软件不是每次都会提示,这个提示有时弹出无法打开应用,有时不弹出程序可以正常打开,反之则打不开。

    原因解析:出现0xc0000142的报错信息可能是由于系统文件缺失或损坏导致的。

    方法一:

    1、右键单击“开始”按钮,选择并点击“命令提示符(管理员)”;

    在这里插入图片描述

    2、在命令提示符界面输入下面的指令:

    for %1 in (%windir%system32*.dll) do regsvr32.exe /s %1
    在这里插入图片描述

    方法二:

    Windows+X,打开“命令提示符(管理员),

    在这里插入图片描述
    执行以下命令:

    DISM/Online /Cleanup-image /Scanhealth

    DISM/Online /Cleanup-image /Restorehealth

    Sfc /scannow

    展开全文
  • 可以通过“事件查看器”来查看这些信息,通过执行命令“eventvwr.msc /s”打开该工具,先可通过在控制面板上打开管理工具,双击“事件查看器”打开,打开后,点击windows日志下的“应用程序”即可查看相关系统记录的...
  • 在掌握计算机基础知识、监理知识的基础上,通过对历年下午真题的逐题解析,明确监理在信息系统、网络系统项目中的应用,为考试和自身能力提高做进一步努力。
  • 查看Android应用签名信息

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

    千人学习 2019-02-21 19:09:40
    VB管理信息系统开发实战 本系统以汽车报废回收系统为例, 拆解厂 和 车管所 两种用户权限 实现汽车报废回收过程的信息管理,包含了打印报表的设计开发 主要功能实现添加车辆、车辆查询、车辆送达、拆解、报废过程的...
  • 1、在Cortana搜索框输入【windows powershell】 ...3、输入以下命令重置应用商店: taskkill /f /im explorer.exe 按回车 Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentM...
  • Win10内置应用现感叹号,并提示“XXX应用出现问题,请与你的系统管理员联系,以了解有关修复或重新安装该应用信息。” 内置应用出现问题,但是我的微信和其他不是在Microsoft Store里安装的软件没有问题。这也很...
  • 一、背景介绍基础集成平台是信息系统的基础设施环境,为各应用系统提供公共基础设施(如ESB、消息中间件等),将各系统的通用基础服务功能(如用户管理、授权管理、配置管理等)从业务系统剥离出来,使得业务系统...
  • 详细解析了系统集成项目管理工程师下午应用技术的历年真题,对每一道题都进行了重点的讲解,并点出了相关的考察点。对于一些发散的知识点也给广大考生做了相应的说明。相信大家通过本次试题讲解能够抓住系统集成项目...
  • 通过作者多年的软考辅导经验及实际的系统集成相关工作经历,本视频课程对系统集成考试中的下午应用技术的所有知识点进行了详细的讲解及总结;对于考试中重点考、反复考的知识点做了强化训练;对于热点技术,作者根据...
  • 当运行安装一些特殊软件的时候,win10系统会弹出提示“管理员已阻止你运行此应用。有关详细信息,请与管理员联系” 首先在win系统右下角的windows图标上点右键 在打开的右键菜单中,选择“运行” ...
  • 密码应用安全性评估包括两部分内容:信息系统规划阶段对密码应用方案的评审/评估和建设完成后对信息系统开展的实际测评。 1、 设计原则 密码应用方案设计是信息系统密码应用的起点,它直接决定着信息系统的密码应用...
  • 系统参数配置的存储管理与应用的通用方法

    万次阅读 多人点赞 2011-08-19 12:06:19
    系统参数配置的存储管理与应用的通用方法 作者:成晓旭   1 【背景】  在应用软件的设计、开发过程中,尤其是一些大型的复杂的业务系统,为了符合起码的系统通用性设计,系统运行参数需要在系统现场进行设置...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,746,766
精华内容 1,098,706
关键字:

信息系统的应用