自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

转载 设备穿透之IOMMU分组

iommu_map会调用domain->ops->map即调用的struct iommu_ops arm_smmu_ops中定义的.map函数,即arm_smmu_map。arm下调用的就是arm_smmu_device_group,然后根据设备是否是PCI,分别调用generic_device_group或pci_device_group。如在intel下这里的add_device调动的就是intel_iommu_add_device,在arm下调用的就是arm_smmu_add_device。

2024-04-09 18:24:43 31

原创 Ais client LA8295 camx &KMD enqueue & dequeue

初始化mapping_info的值,将mapping_info 添加到。获取dma-buf,通过dma-buf 获取对应设备的sg物理地址。

2024-04-07 11:13:17 896

转载 高通camera camx & kmd驱动架构

参考文档:第1讲 Camera KMD ISP子系统课程介绍|极客笔记CPAS(Camera Peripherals and Support)CDM(Camera Data Mover)TFE(Thin Front End)IFE(Image Front End)OPE(Offline Processing Engine)BPS(Bayer Processing Segment)SFE(Sensor Front End)LRME(Low Resolution Motion Estimation)CSID(C

2024-04-07 10:33:18 93

转载 ION to SMMU

ops->map_sg()回调函数指向iommu_dma_map_sg()函数,ops在drivers/iommu/dma-iommu.c文件中初始化为iommu_dma_ops;iommu_domain->ops指向&arm_smmu_ops,初始化流程为: arm_smmu_add_device ----> iommu_group_get_for_dev ----> __iommu_domain_alloc ----> domain->ops = bus->iommu_ops。在ion.c中初始化。

2024-03-08 15:26:14 25

原创 Autochip rtos videoin enqueue&dequeue

初始化mipi 获取分辨率分配buff。初始创建mipi 初始化线程。

2024-02-22 20:42:07 560

原创 autochip RVC

发送RVC_IPC_KEY_ARM2_NOTIFY给arm1 ap 侧。dtsi 中配置的gpio 用于触发RVC。触发倒车eBCStartEvent。

2024-02-04 14:56:36 395

原创 autochip videoin 驱动

/分配流式DMA空间地址 p_dma_buf->dma_address p_dma_buf->y_virt。分配流式DMA空间地址 p_dma_buf->dma_address p_dma_buf->y_virt。调用mipi_buffer_done_handler将buf_info 插入到vis_list_buf。调用mipi_buffer_request从vis_list_buf 获取 buf_info。将buf 插入到vis_output_hal[ch_id].vis_list_buf。

2024-01-18 18:01:40 866

原创 8051 autochip camera 代码分析

根据VideoinDevice channel port配置DevStaticInfo 将info.devNameStr 与/dev/videox 绑定。根据获取驱动的图像的format info.devConfigInfo.input_fmt配置camera的分辨率。解析atc_camera_config.xml camera 的mipi channel StreamNum。info.devSrcFmtMZIdx 与metazone的format flag绑定。初始化camera 的分辨率和帧率。

2023-12-29 18:26:54 382

转载 V4L2框架解析

在操作之前,还有一个准备工作需要做,那就是需要找到哪些是我们所需要的设备,而它的设备节点是什么,此时便可以通过打开media设备节点,并且通过ioctl注入MEDIA_IOC_ENUM_ENTITIES参数来获取v4l2_device下的video设备节点,该操作会调用到内核中的media_device_ioctl方法,而之后根据传入的命令,进而调用到media_device_enum_entities方法来枚举所有的设备。

2023-12-22 17:22:06 71

转载 virtio over MMIO

采用PCI总线实现的好处首先是通用,其次可以具备PCI设备的很多优势,如热插拔,最后如果我们使用物理设备实现virtio也是可以采PCI总线的,换句话说虚拟机内部感知不到这个virtio设备是一个虚拟设备还是一个物理设备。换句话说,virtio协议可以基于多种不同的总线协议来实现。虚拟化场景中,主要采用PCI总线协议和MMIO总线协议:采用PCI总线协议的virtio设备叫virtio-pci设备,它可以支持virtio设备的热插拔特性(基于PCI总线的设备热插拔机制),并可应用于真实物理外设;

2023-12-21 16:03:44 107

原创 hab_virtio hypervisor 虚拟化

获取数据给LA 进行处理完成42 {4748 while (!p->stop) {//等到msg_list不为空 表示qnx 有消息发送到LA侧51!5864 //调用hab_msg_recv接收消息将msg 挂到rx_list75 }7679 }8082 }86 }

2023-12-20 20:57:35 1180

原创 Qnx wfd_be & wfd_fe Android 通讯

在android 侧和 qnx 侧都指定mmid 使用创建通讯channel使用user_os_utils_send_recv完成消息的发送和接收qnx channel_map配置linux 中的配置virtio_devicehab 中配置的 mmid信息。

2023-12-20 14:36:44 744

原创 Hypervisor Display架构

7,根据数据包中的命令类型调用不同的openwfd接口,需要注意的是,这里的接口是做了一层转换的,举个例子wfdEnumerateDevices_Host,这个接口会进行转换之后真正调用wfdEnumerateDevices函数。4,libdrm库调用open/ioctl等函数会经过lib_drm_fe库的转接,当然lib_drm_fe会做很多其他适配的工作。5,lib_drm_fe会调用内核HGSL驱动中的hab通信接口与QNX侧的wfd_be服务进行通信。

2023-12-19 16:33:18 860

原创 HQX System Performance Troubleshooting Overview

【代码】HQX System Performance Troubleshooting Overview。

2023-12-19 16:19:39 401

原创 hypervisor display显卡节点card0生成过程

3,驱动加载时,msm-cfg模块会先加载,然后带起msm-hyp-legacy模块,本质上他们是一个模块,目的是创建android系统需要的drm设备card0 和renderD128,驱动实现中,这两个节点只提供非常有限的文件操作功能,比如open/close,ioctl则几乎不实现。1,前面提到的需要分析的代码中,其实只有红框部分代码有用(msm-cfg&msm-hyp-legacy),绿框中的代码在内核驱动加载的时候只会运行register,而根本不会执行probe函数。

2023-12-18 20:38:44 620

原创 qnx str-ctl

suspend resume 流程debug 节点。

2023-12-11 20:07:02 415

原创 HQX Customization Guide

Filepp sdm-host_la.dts target/filesets/dtsi/8540.dtsi 预处理生成host.dts dtc 编译生成host.dtb。最后还会反编译生成apps/qnx_ap/target/hypervisor/host/fdt_config/dtb/out/merged_host.dts。load linux-la.img 加载dtb。在vmm_service中进行启动 qvm。qnx 启动qvm cmdline 配置。方便确认配置信息是否正确生成。

2023-12-05 20:09:05 481

原创 qnx hypervisor load qvm

/解析dts 获取node qcom_gvms参考博客:https://blog.csdn.net/liaochaoyun/article/details/127427719。

2023-12-05 19:59:13 576

原创 Qnx boot workflow

使用apps/qnx_ap/target/hypervisor/host/startupmgr/src/script.c。apps/qnx_ap/target/hypervisor/host/startupmgr/8540_la 目录不存在。create_variant_images.sh log输出。startupmgr 调用时机。编译后生成的startup脚本。

2023-12-05 19:41:24 1177

转载 Android Codec2框架分析

转载:Codec2.0在Android12需要进行对接,本文以AOSP源码分析,简单分析其运行逻辑,具体代码可参考进行查阅。Codec2的Android架构可如下图所示:其中Framework层要使用Codec2可通过MediaCodec或者MediaPlayer(使用NuPlayer),Omx在Android12后已弃用,Codec层可分为Android原生的软件编解码和硬件编解码,本文只涉及Android原生代码。

2023-09-19 11:11:36 1844 1

原创 SA8650 camx pipeline node xml 配置信息

调用各类平台的cdk_qcx/oem/qcom/chiusecase/(platform)/chxusecaseselector.cpp。DefaultMatchingUsecaseSelection根据pStreamConfig的分辨率 、格式 operation_mode选择对应支持的usecase。在UsecaseAuto::Initialize 解析UsecaseAuto_pipelines是初始化获取的。2)、初始化pPipeline->m_pPipelineName = pName;

2023-09-09 14:46:46 1037 1

原创 SA8650 camera UsecaseId UsecaseAuto

4)、QHDR(Quad HDR,四像素HDR)2)、Staggered HDR 行交织 HD。解析ChiNode 中的node info 信息。1)、采用三曝光实现实时HDR预览。3)、MFHDR 多帧 HDR。

2023-09-09 10:46:46 353

原创 camx camera initial

qnx 平台中的camera hal 接口。

2023-09-08 21:08:05 362

原创 Camera 信号波形状态及同步方式

在这种方式下,主平台连接解串器(Deserializer)和串行器(Serializer)是不可行的。只能将主平台直接连接四颗 Sensor ,选择一个 Sensor 作为主 Sensor (master)产生帧同步信号 (FrameSync)传递给剩下的三颗从 Sensor (slave),此时主从两种 Sensor 的配置不同。解串器产生帧同步信号 (FrameSync)传递给串行器,再传递给 Sensor,此时四颗 Sensor 的配置均为 slave 模式。方式一:解串器发出同步信号。

2023-09-08 16:44:18 650

原创 SM8650 qcxserver.c STRM_Initialize

/初始化SensorLibDeviceConfig_t中解串器GPIO的配置信息。//GPTP_ENABLE_KEY未进行配置不会初始化gptpInit。//获取xml中的camera 对应的解串器的i2c num配置。//获取GPTP_ENABLE_KEY的value。//配置解串器的index rang 0-3。//匹配解串器型号配置 解串器地址mode。//配置解串器numdevices id。//调用解串器open函数接口进行初始化。//配置devIdx解串器信息。

2023-08-08 22:26:21 657 2

原创 SA8650 camera messagedispatcher

通过senderIpcHndl发送pClientCtxt->senderQ.hQueue 的msg 信息。初始化cmdthread。

2023-08-08 21:57:49 255

原创 SA8450 camera 源码分析

/创建IEF event pCtxt->hEventQueue 事件队列和中断队列pCtxt->hISTQueue。注册中断回调函数VFEProcessIST CSIDProcessIST。创建四个队列进行图像数据的数据获取。

2023-08-08 21:23:16 224

原创 MediaCodec创建对应解码器

通过JNI调用到MediaCodec.cpp。

2023-08-08 20:37:56 219

原创 MediaCodec创建对应解码器

转载:传送门通过JNI调用到MediaCodec.cpp。

2023-08-08 20:35:04 330

原创 偷懒mark高质量博客

愉快周末摸鱼mark

2022-10-22 15:48:35 371 1

原创 ret2shellcode 的泄露puts@got表

现在rip在main+4处没执行puts,执行puts 后可以看到puts_got=> 0X601018里保存的是0X7FFDAA4E5430,可以使用ni si 进行调试看是否前后值有变化。手动设置栈上的值 发现 pop_rdi_ret设置的值 变换为0x4006f3 =》0x7fff004006f3(原因不明)发现[email protected]保存了read函数的blic中的地址。call read—> read的plt表 —>read的got表。jmp到的其实这是plt表对应函数的got表。

2022-10-08 23:25:14 1015

原创 栈溢出 shellcode ret2shellcode

shellcode_address = buf_address+0x20 # buf与rbp的距离0x10 + rbp的宽度0x8 + 返回地址的长度0x8。rbp用来存储当前函数状态的基地址,在函数运行时不变,用来索引确定函数的参数或局部变量的位置。将函数的返回地址覆写为我们构造的shell的地址,这样就可以达到获取shell的目的了。将函数的返回地址覆写为我们构造的shell的地址,这样就可以达到获取shell的目的了。栈空间增长方式是从高地址到地址的,也就是栈顶的地址值是小于栈底的地址值的。

2022-10-06 00:19:46 481

原创 msfvenom制作简易后门程序

设置错误端口8888监听不到,修改端口 4444 ,kali显示 session 连接接成功获取shell成功。使用exploit/mulit/handler模块并进行设置。基于Linux的Shellcode。ubuntu中获取cve 执行。

2022-10-05 01:21:34 565

原创 webshell 提权

启动http服务时,使用的是win11 +kali + ubuntu,ubuntu 启动vulhub ,kali启动http服务,使用find 或者locate 获取文件路径,locate 初次使用可能没有任何显示,需要使用updatedb更新数据。ubuntu kali的地址ip 地址使用wget 对kernel cve 提权文件漏洞文件.c进行下载。由于使用wsl2 的配置未使用vmware ,在localhost 可以看到对应的文件。在exp 的路径下使用python启用web 服务。

2022-10-05 00:02:23 696 1

原创 msf 实战 vulhub/activemq/cve-2016-3088 复现

一般情况信息收集发现主机使用的OS 版本、server版本如Apache MySQL 等版本信息进行检查版信息。cve-2016-3088 由于我们知道对应漏洞信息我们可以进行搜素CVEid。使用show options显示CVE模块所需参数。set RHOST 是目标主机的IP地址。nmap 进行信息手收集指定端口会更好。set LHOST 本机ip地址。启动msfconsole。不指定基本没啥有用信息。

2022-10-04 01:05:34 448

原创 Vulhub docker 搭建靶机及其访问

本次docker容器中ActiveMQ 的版本是ActiveMQ 5.11.1,环境运行后,将监听61616和8161两个端口。8161是Web管理页面端口,本漏洞就出现在web控制台中。访问http://your-ip:8161 看到web管理页面,说明环境成功运行。Docker Compose是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用。使用 compose,我们可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创建和启动。

2022-10-03 23:44:52 1759

原创 docker 镜像打包发布

更新pwn_server:16.04后再次更新 nividiadevil7/pwn_server:16.04。docker -H tcp://IP地址:2375 pull ubuntu:16.04。确认运行进行新的镜像打包 commit 后的hash 为新运行时的镜像hash。添加 export DOCKER_HOST= tcp://IP地址:2375。解决办法:更新镜像名的tag 删除正常运行的container 再删除tag。镜像运行后可以在docker images 运行环境中换源和安装工具。

2022-10-01 22:40:45 792

原创 window 11 wsl 安装docker

win11 中ubuntu 子系统安装docker

2022-09-26 00:04:17 399

转载 Linux常用网络工具总结

原文链接:http://int32bit.me/2016/05/04/Linux常用网络工具总结/本文整理了在实践过程中使用的Linux网络工具,这些工具提供的功能非常强大,我们平时使用的只是冰山一角,比如lsof、ip、tcpdump、iptables等。本文不会深入研究这些命令的强大用法,因为每个命令都足以写一篇文章,本文只是简单地介绍并辅以几个简单demo实例,旨在大脑中留个印象,平时遇到问...

2018-03-12 23:46:09 283

转载 信号量P,V操作

转自:http://blog.chinaunix.net/uid-24567872-id-87642.html信号量是最早出现的用来解决进程同步与互斥问题的机制(也可实现进程通信),包括一个称为信 号量的变量及对它进行的两个原语操作。信号量为一个整数,我们设这个信号量为:sem。很显然,我们规定在sem大于等于零的时候代表可供并发进程使用的 资源实体数,sem小于零的时候,表示正在等待使用临界区的...

2018-03-11 16:57:00 16767 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除