qcom 平台efuse机器抓取dump log的方法

引言:

qcom 平台机器,一旦efuse后机器将无法抓取dump log

qcom 原文:

efuse机器抓取dump log的方法如下:

一、修改配置文件:


    把kamorta_debugpolicy.xml 在配置了debugpolicy(加入串号和打开开关),编译dp并签了名,efuse的设备才能dump
    注意:注意此serial_number是cpu的serial number,不是工厂写的串号。需要按这个命令提供:adb shell cat /sys/devices/soc0/serial_number
        cat /sys/devices/soc0/serial_number  ->  2937467141  -> 0xaf163105

获取serial number的方法:

  1. xbl_sc 的日志中有打印:S - Serial Number @ 0x221c8610 = 0x0000044baf163105
  2. 通过sys/devices/soc0/serial_number 获取

注意:v2中serial_number 定义是64位,由8个字节构成,高位的4字节代表CHIP_ID。所以serial number应该是0x0000044baf163105


二、dp文件 编译、签名:


    脚本:
        #!/bin/bash

        SEC_TOOLS="../Linux/sectools"
        SECURITY_PROFILE="../../kamorta_debugpolicy.xml"
        DEC_FILE="../../decs/Dec-LimitedDebug-Unconstrained.bin"
        SERIAL_NUMBER="0x0000044b9E7DC877"
        OEM_HW_ID="0xXXXX"
        OEM_PRODUCT_ID="0x0400"
        SIGNING_MODE="LOCAL"
        OEM_KEYS_PATH="../OEM-keys"
        ROOT_KEY="$OEM_KEYS_PATH/qpsa_rootca.key"
        ROOT_CERTIFICATE="$OEM_KEYS_PATH/qpsa_rootca.cer"
        CA_CERTIFICATE="$OEM_KEYS_PATH/qpsa_ca.cer"
        CA_KEY="$OEM_KEYS_PATH/qpsa_ca.key"
        OUT_FILE="apdp.mbn"

        #../Linux/sectools tme-secure-debug --security-profile ../../kamorta_debugpolicy.xml -h
        #用于生成apdp.mbn

        $SEC_TOOLS tme-secure-debug \
               -v \
               --oem-lifecycle-state PRODUCTION \
               --generate \
               --security-profile $SECURITY_PROFILE \
               --dec $DEC_FILE \
               --outfile $OUT_FILE \
               --serial-number $SERIAL_NUMBER \
               --crash-dump MINI_DUMP \
               --ap-sec-tz-log-en \
               --sign \
               --signing-mode $SIGNING_MODE \
               --oem-id $OEM_HW_ID \
               --oem-product-id $OEM_PRODUCT_ID \
               --root-key $ROOT_KEY \
               --root-certificate $ROOT_CERTIFICATE \
               --ca-certificate $CA_CERTIFICATE \
               --ca-key $CA_KEY


    签名:
    cd Kamorta.LA.2.0/common/sectools/

    python sectools.py debugpolicy -i dbgp_ap --sign_id=dbgp_ap -p kamorta -g -s
    生成Kamorta.LA.2.0/common/sectools/debugpolicy_output/apdp.mbn 文件并签名


三、把apdp.mbn文件烧录到手机

userdebug版本命令:fastboot flash apdp apdp.mbn  

user版本:qile 单独刷apdp文件


四、复现问题抓取dump log

使用qpst 抓取log

使用qcom 在线工具 QCAP解析dump log

demo:

diff --git a/common/sectools/config/kamorta/kamorta_debugpolicy.xml b/common/sectools/config/kamorta/kamorta_debugpolicy.xml
index 942d5e6..9d7b161 100755
--- a/common/sectools/config/kamorta/kamorta_debugpolicy.xml
+++ b/common/sectools/config/kamorta/kamorta_debugpolicy.xml
@@ -23,22 +23,22 @@
 
         <flags>
             <flag> <bit_pos>0</bit_pos> <value>0</value> </flag> <!--DP_ENABLE_ONLINE_CRASH_DUMPS-->
-            <flag> <bit_pos>1</bit_pos> <value>0</value> </flag> <!--DP_ENABLE_OFFLINE_CRASH_DUMPS-->
+            <flag> <bit_pos>1</bit_pos> <value>1</value> </flag> <!--DP_ENABLE_OFFLINE_CRASH_DUMPS-->
             <flag> <bit_pos>2</bit_pos> <value>0</value> </flag> <!--DP_ENABLE_JTAG-->
-            <flag> <bit_pos>3</bit_pos> <value>0</value> </flag> <!--DP_ENABLE_LOGS-->
+            <flag> <bit_pos>3</bit_pos> <value>1</value> </flag> <!--DP_ENABLE_LOGS-->
             <flag> <bit_pos>4</bit_pos> <value>0</value> </flag> <!-- DP_ENABLE_MODEM_INV_DEBUG -->
             <flag> <bit_pos>5</bit_pos> <value>0</value> </flag> <!-- DP_ENABLE_MODEM_NINV_DEBUG -->
             <flag> <bit_pos>6</bit_pos> <value>0</value> </flag> <!-- DP_ENABLE_DEBUG_INV -->
             <flag> <bit_pos>7</bit_pos> <value>0</value> </flag> <!-- DP_ENABLE_DEBUG_LEVEL -->
             <flag> <bit_pos>8</bit_pos> <value>0</value> </flag> <!-- DP_ENABLE_DEBUG_LEVEL -->
-            <flag> <bit_pos>24</bit_pos> <value>0</value> </flag> <!--DP_ENABLE_NONSECURE_CRASH_DUMPS-->
+            <flag> <bit_pos>24</bit_pos> <value>1</value> </flag> <!--DP_ENABLE_NONSECURE_CRASH_DUMPS-->
             <flag> <bit_pos>25</bit_pos> <value>0</value> </flag> <!--DP_ENABLE_APPS_ENCRYPTED_MINI_DUMPS-->
             <flag> <bit_pos>26</bit_pos> <value>0</value> </flag> <!--DP_ENABLE_MPSS_ENCRYPTED_MINI_DUMPS-->
             <flag> <bit_pos>27</bit_pos> <value>0</value> </flag> <!--DP_ENABLE_LPASS_ENCRYPTED_MINI_DUMPS-->
             <flag> <bit_pos>28</bit_pos> <value>0</value> </flag> <!--DP_ENABLE_CSS_ENCRYPTED_MINI_DUMPS-->
             <flag> <bit_pos>29</bit_pos> <value>0</value> </flag> <!--DP_ENABLE_ADSP_ENCRYPTED_MINI_DUMPS-->
             <flag> <bit_pos>30</bit_pos> <value>0</value> </flag> <!--DP_ENABLE_CDSP_ENCRYPTED_MINI_DUMPS-->
-            <flag> <bit_pos>31</bit_pos> <value>0</value> </flag> <!--DP_ENABLE_WLAN_ENCRYPTED_MINI_DUMPS-->
+            <flag> <bit_pos>31</bit_pos> <value>1</value> </flag> <!--DP_ENABLE_WLAN_ENCRYPTED_MINI_DUMPS-->
         </flags>
 
         <image_bit_map> <!--Range: 0 to 32-->
@@ -52,7 +52,10 @@
         </root_cert_hash_list>
 
         <serial_num_list> <!--Range: 1 to 200-->
-            <!--<serial_num>00000000</serial_num>-->
+        <!--<serial_num>00000000</serial_num>-->
+        <serial_num>0x48A5062A</serial_num>
+       <serial_num>0x68EBB529</serial_num>
+        <serial_num>0x635D242A</serial_num>
         </serial_num_list>


注:此apdp.mbn 只能刷debugpolicy.xml表格中列的串号的设备,刷其他设备无法开机

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/43318.shtml

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

相关文章

怎么检查SSL证书是否有效?

SSL证书的有效性对于保护网站数据安全和用户隐私至关重要。然而&#xff0c;有时可能会出现证书过期、无效或被吊销的情况。为了确保网站的安全性&#xff0c;对SSL证书的有效性进行检查至关重要。本文将介绍几种常用的方法来检查SSL证书的有效性&#xff0c;帮助大家有效评估和…

基于Make的c工程No compilation commands found报错

由于安装gcc时只安装了build-essential&#xff0c;没有将其添加到环境变量中&#xff0c;因此打开Make工程时&#xff0c;CLion会产生如下错误&#xff1a; 要解决这个问题&#xff0c;一个方法是将GCC添加到环境变量中&#xff0c;但是这个方法需要修改至少两个配置文件&…

数据结构——约瑟夫环C语言链表实现

约瑟夫环问题由古罗马史学家约瑟夫&#xff08;Josephus&#xff09;提出&#xff0c;他参加并记录了公元66—70年犹太人反抗罗马的起义。在城市沦陷之后&#xff0c;他和40名死硬的将士在附近的一个洞穴中避难。起义者表示“宁为玉碎不为瓦全”&#xff0c;约瑟夫则想“留得青…

dledger原理源码分析(四)-日志

简介 dledger是openmessaging的一个组件&#xff0c; raft算法实现&#xff0c;用于分布式日志&#xff0c;本系列分析dledger如何实现raft概念&#xff0c;以及dledger在rocketmq的应用 本系列使用dledger v0.40 本文分析dledger的日志&#xff0c;包括写入&#xff0c;复制…

网站SEO百度搜索排名—通过关键字提升网站流量

添加网站关键字 <meta name"keywords" content"系统通过搜索到的关键字XXXXXXXXX"> <meta name"description" content"网站的介绍内容XXXXXXXXXXXXXXXXX"> <title>平台名称XXXXXXX</title> 在 百度站点管理 …

STM32串口通讯(RS232、RS485、TTL)详解

前言 STM32串口&#xff08;Serial Communication Interface&#xff09;是STM32微控制器中用于串行通信的接口&#xff0c;通常指的是USART&#xff08;通用同步异步收发器&#xff09;或UART&#xff08;通用异步收发传输器&#xff09;。这些接口允许STM32微控制器与其他设…

zabbix 学习笔记

文章目录 Zabbix 安装Ubuntu 18.04.1 server 安装Zabbix 4.0Centos7 安装Zabbix3.4Centos7 安装zabbix4.2Centos7.1908安装zabbix 基于ngixDebian11安装zabbix6.0LTS 基于PostgreSQL和NGINXAlmaLinux9.2使用国内清华源在线安装zabbix6.0.18LTS 基于MySQL和NGINXUbunut22.04使用…

图文讲解IDEA如何导入JDBC驱动包

前言 学习JDBC编程,势必要学会如何导入驱动包,这里笔者用图文的方式来介绍 视频版本在这里 50秒教你怎么导入驱动包然后进行JDBC编程的学习_哔哩哔哩_bilibili 忘记录音频了,大伙凑合着看 下载驱动包 https://mvnrepository.com/artifact/mysql/mysql-connector-java 去中…

GB28181设备如何添加

简介 此篇描述视频网关&#xff08;中间件&#xff09;接入大华、海康、ONVIF设备&#xff08;NVR、摄像头&#xff09;、GB28181设备步骤和流程。 阅读本文档之前建议先阅览视频网关&#xff08;中间件&#xff09;用户使用手册。 接入方式和说明 视频网关&#xff08;中间…

论文学习_Getafix: learning to fix bugs automatically

1. 引言 研究背景:现代生产代码库极其复杂并且不断更新。静态分析器可以帮助开发人员发现代码中的潜在问题(在本文的其余部分中称为错误),这对于在这些大型代码库中保持高代码质量是必要的。虽然通过静态分析尽早发现错误是有帮助的,但修复这些错误的问题在实践中仍然主要…

jmeter-beanshell学习7-props获取全局变量和设置全局变量

继续写点不痛不痒的小东西。第一篇写了vars设置变量&#xff0c;但是vars只能作用在同一个线程组。跨线程组情况比较少&#xff0c;要是用到跨线程组&#xff0c;有个pros&#xff0c;用法和vars一样。 在setup线程组设置变量a&#xff0c;执行的时候&#xff0c;jmeter会先执行…

第二证券:转股溢价率是什么意思?高好还是低好?

转股溢价率是指可转债在商场上的交易价格相对于其转股价值的溢价份额&#xff0c;能够用来衡量投资者为取得将债券转换为股票权力而付出的额定金额&#xff0c;是可转债的重要指标。 转股溢价率的核算公式为&#xff1a;溢价率&#xff1d;&#xff08;转债价格-转股价值&…

MySql性能调优01-[数据结构和索引]

数据结构和索引 什么是索引索引的种类常见索引数据结构和区别二叉树 红黑树 什么是索引 索引的种类 在Mysql中索引是在存储引擎层实现的&#xff0c;而不是在服务层实现的 按数据结构分&#xff1a;Btree索引、Hash索引、Full-text索引按存储结构分&#xff1a;聚簇索引、非聚…

闲话银行家舍入法,以及在程序中如何实现

前言 相信对于四舍五入的舍入法&#xff0c;大家都耳熟能详&#xff0c;但对于银行家舍入法&#xff0c;可能就会比较少接触了&#xff01; 可是在金融界&#xff0c;银行家舍入法可是大名鼎鼎的主角之一&#xff0c;主要应用于金融领域和涉及货币计算的场合。 那么&#xf…

异步轮询 Web API 的实现与 C# 示例

在现代软件开发中&#xff0c;异步轮询 Web API 是一种常见的做法&#xff0c;尤其是在需要定期从服务器获取数据更新的场景下。C# 作为一种功能强大的编程语言&#xff0c;提供了丰富的异步编程支持&#xff0c;使得实现异步轮询变得相对简单。本文将介绍如何使用 C# 快速实现…

JavaWeb-js(4)

js事件 在前端页面中&#xff0c;js程序大多数是由事件来驱动的&#xff0c;当触发某些事件的时候&#xff0c;可以使用js负责响应。 js事件由三部分组成: 事件源——》指的是被触发的对象; 事件类型——》如何触发的事件&#xff0c;如:鼠标单击、双击、键盘操作等;…

钓鱼网站制作-克隆163企业邮箱

这里克隆163企业邮箱比较费劲&#xff0c;和之前的还不一样&#xff0c;这个克隆的目录比较多&#xff0c;发现好多工具都克隆不全&#xff0c;要不就是缺少图片要不就是缺少功能 首先效果 可以看到成功记录账户密码&#xff0c;接下来再来伪装到域名 这里克隆网站使用神器 …

bev 之 fastBEV

前面我们提到bev 之 LSS, 知道视觉的BEV方案的主要痛点在于: 1、depth 的预测 2、图像特征到BEV特征之间的视图变换消耗大量计算 LSS 为什么需要D维深度 占据大量消耗的原因是LSS 对每个图像特征点引入深度D&#xff0c;即假设每个像素上存在可能的D维深度。也就是假设不同像…

ubuntu18虚拟机克隆后不能上网和磁盘损坏问题

小学期直接给学弟学妹们自己配好的克隆的虚拟机&#xff0c;结果出现了这两种问题&#xff0c;参考了网上好多资料&#xff0c;太多了忘了存了&#xff0c;花了好久的时间才解决&#xff0c;这里记录一下。 磁盘损坏问题&#xff1a; 网络无法连同问题&#xff0c;ip addr发现…

特征融合篇 | YOLOv10改进之在Neck网络中添加加权双向特征金字塔BiFPN

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。在计算机视觉任务中&#xff0c;特征金字塔网络&#xff08;FPN&#xff09;是一种常用的方法&#xff0c;它通过构建不同尺度的特征图来捕获不同尺度的目标。然而&#xff0c;传统的FPN存在一些缺点&#xff0c;如特征融合…