• 安卓7.0及以上用户证书导入的问题


    关键点:

    在经过我几个小时的折腾后,我终于找出了问题所在。在进一步探讨之前,我向大家推荐两篇优秀的文章,这也是帮我解决该问题的关键信息:

    从Nougat开始,Android更改了对用户安装证书的默认信任行为。这意味着,从sdcard安装Burp CA将无法拦截应用流量。除非另有说明,否则应用程序将只会信任系统级别的CA。

    ---------------------------------------------------------------------------copy from http://www.qingpingshan.com/rjbc/az/371473.html

    原因:

      安卓7.0及以上系统对于证书的安全策略做了修改,用户证书只能用于代理浏览器的流量,而应用是不会信任这些证书。【ios和安卓<7.0的版本没有此问题】

      解决方案:

        1、root手机将证书导入到根证书目录下

        2、换低版本安卓系统

    操作流程

      1、导出并转换Burp CA

      以DER格式导出CA证书。我将它保存为cacert.der

      将DER转为PEM格式证书,并且文件名为subject_hash_old值并以.0结尾。

      当OpenSSL 版本<1.0时,文件名为subject_hash。

      使用openssl将DER转换成PEM,然后输出subject_hash_old并重命名该文件:

      openssl x509 -inform DER -in cacert.der -out cacert.pem  
      openssl x509 -inform PEM -subject_hash_old -in cacert.pem |head -1  
      mv cacert.pem <hash>.0

      2、将证书复制到设备

        我们可以使用adb来复制证书,但由于必须将其复制到/system文件系统,所以我们需要将它重新挂载为可写。作为root用户,adb remount非常简单。

    http://entropyblog.com

        adb root  
        adb remount  
        adb push <cert>.0 /sdcard/

        进入adb shell将文件移动到/system/etc/security/cacerts,并将文件权限修改为644:

        mv /sdcard/<cert>.0 /system/etc/security/cacerts/  
        chmod 644 /system/etc/security/cacerts/<cert>.0

      3、reboot重启设备

    remount of /system failed: Read-only file问题:

    1.adb disable-verity 会出现 

    Verity disabled on /system 
    Now reboot your device for settings to take effect 
    2.adb reboot重启设备. 
    然后再remout就可以成功了.

    可能出现的情况: 
    但是有时候终端不能识别adb disable-verity命令,一个可能的原因是adb版本太低了,adb version查看一下版本,然后更新到最新就好了.

    只知道执行了adb disable-verity, adb reboot之后就能够remount成功,但是adb disable-verity具体做了什么呢?
    官方给出adb disable-verity的解释是这样的:disable dm-verity checking on USERDEBUG builds
    大致意思就是不使用dm-verity验证userdebug版本.可以理解为userdebug版本有些system分区被verity标识.

    所以会出现上述错误是因为某些分区被系统标识,必须要验证数据签名,我们只需要忽略验证就行了.

    上面可以看到签名是否需要验证主要是由dm-verity决定的,那它又做了什么呢?
    它的作用和工作流程可以移步http://blog.csdn.net/u011280717/article/details/51867673

    adbd cannot run as root in production builds的问题

    手机没有root权限

     

     

     

     

    解决小米Note adb调试无法发现设备

    在win7电脑上做安卓开发,adb时小米note始终发现不了设备,主要还是驱动问题,解决步骤如下:

    1.确保电脑上已经安装小米note的驱动:

       1.1下载小米助手并安装,下载地址:http://www.pc6.com/softview/softview_88819.html

       1.2 在把手机连入电脑前,确保手机未开启调试模式,否则小米助手是木有办法发现设备的,切记切记~~

        1.3打开电脑上的小米助手,用USB线连接手机和电脑,驱动会自动安装好

    2.开启手机的调试模式

       1.1 先调出手机上的开发者模式:点“设置”-“关于手机”,然后在MIUI版本那一栏上快速点击几下。

       1.2开启手机上的调试模式:完成上一步骤后,回到主页面,再点击“设置”-“其他高级设置”-“开发者选项”-“USB调试”       

    1.3开启USB调试模式后还要enable端口:确保手机是连接在电脑上,然后在拨号界面输入 *#*#717717#*#* ,看到toast提示“Diag USB port enable”则表示开启成功

    如果还不奏效,请检查你是不是拿了根电源线。。。

    3.在电脑命令窗口中adb kill-server,然后adb start-server,最后adb devices,就可以看到设备啦~

    android在使用adb 命令时有时会发现设备的状态是offline,我的神呀,这怎么让我们调试呢。必须解决这个问题。
    解决方式如下:
    以下方法请确保你的设备处于调试模式下。
    方法一:执行 #adb kill-server
                            #adb start-server
                           #adb devices
    看看设备是否还是处于offline状态,如果是,请尝试方法二
    方法二:
                       重新启动设备,开机后,执行:
          #adb devices
    如果设备还是offline
    请看方法三
    方法三:
               重启你的计算机吧。
    如果还不好用,goto方法二。
    ---------------------
    作者:weidawei0609
    来源:CSDN
    原文:https://blog.csdn.net/weidawei0609/article/details/7206223
    版权声明:本文为博主原创文章,转载请附上博文链接!

    (之后再补上截图)

  • 相关阅读:
    AUDIT审计的一些使用
    HOW TO PERFORM BLOCK MEDIA RECOVERY (BMR) WHEN BACKUPS ARE NOT TAKEN BY RMAN. (Doc ID 342972.1)
    使用BBED理解和修改Oracle数据块
    Using Class of Secure Transport (COST) to Restrict Instance Registration in Oracle RAC [ID 1340831.1]
    调试利器GDB概念
    第4章 思科IOS
    第3章 ip地址和子网划分
    第2章 TCPIP
    2020年阅读过的黑客资源推荐篇
    第1章 计算机网络
  • 原文地址:https://www.cnblogs.com/Entr0py/p/9675061.html
Copyright © 2020-2023  润新知