自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mjfh095215的专栏

android开发 javaEE 数据库设计

  • 博客(80)
  • 资源 (6)
  • 收藏
  • 关注

原创 动态度量,内核获取代码段方式

获得内核函数地址的四种方法获得内核函数地址的四种方法本文以获取内核函数 sys_open()的地址为例。 1)从System.map文件中直接得到地址: $grep sys_open /usr/src/linux/System.map 2)使用 nm 命令: $nm vmlinuz | grep sys_open 3)从 /proc/kallsyms 文件获得地址: $cat /proc/kallsyms | grep...

2021-11-01 15:43:20 562

原创 linux 内核常见知识

下一个问题(Enable ELF core dumps (ELF_CORE))询问的是内核是否可以生成内核转储文件。这会使内核变大4KB。所以我选择了"no"。注意:内核转储文件(内存或者系统的转储)是程序崩溃前已记录的状态。内核转储是用来调试问题的。这个转储文件的格式是ELF(Executable and Linkable Format )。下面可以启用PC扬声器(Enable PC-Speaker support (PCSPKR_PLATFORM))。大多数计算机用户拥有并使用扬声器,所以这个启

2021-10-30 14:07:17 375

原创 shellcode找块福地- 通过VDSO绕过PXN

给shellcode找块福地- 通过VDSO绕过PXN0x01 引语近日看雪论坛里有个兄弟在写漏洞利用的时候遇到了点问题。他发现rop实现提权的方式在不同设备版本适配的时候比较麻烦,需要做的工作较多。他想知道有没有更好更稳定的方式,绕过PXN让内核执行shellcode。最近一年,一种利用VDSO( Virtual Dynamic Shared Object,虚拟动态共享对象)机制的攻击方式,在脏牛等漏洞利用代码中得到应用。本文将介绍这种新型的绕过PXN的攻击方式。0x02 回顾PXN

2021-10-14 11:33:26 454

原创 android 开发一些小知识

本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、查看CPU温度二、开机向导调试相关方法三、查看APP启动时间四、判断 user,userdebug 版本的方法五、修改截屏默认存储路径六、解析 kernel dump 方法七、SPRD 默认打开 Ylog 以及dumpsys enable方法八、判断是否正在 monkey 测试的方法九、修改MTK log 模式的方法十、MTK平台只开Mobile log方法十一、SPRD平台 只开Andr..

2021-10-14 10:57:38 2911

原创 Android 11 selinux 权限设置

快速阅读框架SELinux介绍看Android怎么写?如何确认是SELinux 约束引起?怎么抓取SELinux Log?修改之后,怎么快速验证?怎么从log中提取有效信息?重点介绍参考文档架构从上层到驱动层的调用流程,但是我们重点关注sContext:注:file_contexts //系统中所有file_contexts安全上下文seapp_contexts //app安全上下文property_contexts //属

2021-09-12 15:45:31 14468

原创 ubuntu Read-only file system 处理方法

1.mount -o remount -rw2.adb shell setenforce 03. adb root4.adb remount5.adb push *.ko vendor/lib/modules

2021-05-06 16:56:32 395

原创 高通SDM845平台Sensor学习——3.SLPI(Physical Sensor)

三:Sensor SLPI层代码分析在学习SLPI侧代码前我们先了解下SEE的registry&config。registry 放在/persist/sensors/registry/registry中,它是通过config生成的,是给SLPI解析的文件。config 放在/persist/sensors/registry/config中,它需要RD修改更新,用来生成register以便SLPI使用。每次config update后,即会更新registry。每次reboot后,会重新加载

2021-02-22 11:05:24 3971 1

原创 高通SDM855平台Sensor学习——2.Hal层

二:Sensor Hal层代码分析Hal code放在/vendor/qcom/proprietary/sensors-see/中图5sensors-hal文件夹中包含framework和sensors文件夹,为本文重点分析对象。首先分析sensors文件夹:根据C++继承的特性,相同的操作各个class共同拥有,不同的操作每个class可以重写,该文件夹内文件为每个sensor不同的地方,porting sensor主要是在这部分做的。sensors文件夹中包含很多sensor.

2021-02-22 10:58:02 3028 1

原创 高通SDM855平台Sensor学习——1.框架

一:简介高通从SDM845平台开始,Sensor使用新的架构SEE(Sensors Execution Environment),和之前架构不同,新的架构有着太多的优点。首先,先对比下新架构和旧架构的不同。图1从上图可以看到,新架构简化太多,SEE充当了Core层的重要角色。负责传送request,接收event。下面,了解下SEE和旧框架的对比。图2接着,我们看下Sensor之间数据如何传输。先看下see中各部分的定义。图3...

2021-02-22 10:54:03 2188

原创 linux 自带强大调试工具sysRQ(高级片)

在linux系统下,我们可能会遇到系统某个命令hang住的情况,通常情况下,我们会查看/proc/pid/wchan文件,看看进程处于什么状况,然后进一步查看系统日志或者使用strace跟踪命令执行时的系统调用等等方法来分析问题。我们知道命令hang,一般问题都出在内核里, 如果我们能根据自己的需要打印内核的信息,可能会事半功倍,很快定位到问题。幸运的是linux真的有提供这样的方式,就是通过SysRq,今天在这里我就介绍一下。1. SysRq的启用与关闭要想启用SysRq, 需要在配置内核时设置.

2021-02-19 10:43:14 1125

原创 大话kernel kmalloc、kzalloc、vmalloc区别(高级)

Linux内核空间内存申请函数kmalloc、kzalloc、vmalloc的区别kzalloc与kmalloc区别这个函数就是原来的两个函数的整合,即原来我们每次申请内存的时候都会这么做,先是用kmalloc()申请空间,然后用memset()来初始化,而现在省事了,一步到位,直接调用kzalloc(),效果等同于原来那两个函数,所有申请的元素都被初始化为0.其实对写驱动的来说,知道现在应该用kzalloc()代替原来的kmallo...

2021-02-18 16:29:33 267

原创 Keycode scancode 与input keycode对应关系

https://www.cnblogs.com/lifexy/p/7645527.htmlhttps://www.win.tue.nl/~aeb/linux/kbd/scancodes-10.html#ss10.61.首先我们通过上节的代码中修改,来打印下键盘驱动的数据到底是怎样的先来回忆下,我们之前写的鼠标驱动的id_table是这样:所以我们要修改id_table,使这个驱动为键盘的驱动,如下图所示:然后修改中断函数,通过printk()打印数据:我们先按下按键A为例.

2021-02-03 11:37:01 1303

原创 USB 协议分析之 HID 设备(高级版本)

USB 协议分析之 HID 设备1. 简述 USB HID类是USB设备的一个标准设备类,包括的设备非常多。HID类设备定义它属于人机交互操作的设备,用于控制计算机操作的一些方面,如USB鼠标、USB键盘、USB游戏操纵杆等。但HID设备类不一定要有人机接口,只要符合HID类别规范的设备都是HID设备。   USB HID设备的一个好处就是操作系统自带了HID类的驱动程序,而用户无需去开发驱动程序,只要使用API系统调用即可完成通信。官方的资料下载详见:http://w...

2021-01-21 14:54:28 941

原创 Ubuntu下usbhid 调试工具

NAME usbhid-dump - dump USB HID device report descriptors and streamsSYNOPSIS usbhid-dump [OPTION]...DESCRIPTION usbhid-dump uses libusb to dump report descriptors and streams from HID (human interface device) in

2021-01-05 15:33:16 1997 1

原创 高通GPIO驱动(DTS方式)

高通GPIO驱动(DTS方式)阅读目录一、GPIO的调试方法: 二、在kernel代码中操作gpio 2.1 直接操作GPIO: 2.2 pinctrl子系统设备树: 正文gpio调试的方式有很多,linux3.0以上ARM架构的处理器基本上都采用了DTS的方式,在linux3.0可以通过获取sysfs的方式来获取gpio状态;sysfs文件系统的建立可以参照下面的博客:http://www.cnblogs.com/linhaostudy/p/8377895.html..

2020-12-29 11:21:11 538

原创 Bluetooth打开流程

Android蓝牙打开和关闭的流程基本一致,这里就从打开的流程进行分析。1 UI从UI上看蓝牙开关就是设置settings里那个switch开关,蓝牙开关操作封装在Settings/bluetooth/BluetoothEnabler.java中,BluetoothEnabler便于蓝牙开关管理。里面实现SwitchBar.OnSwitchChangeListener接口,监听状态改变。@Override public void onSwitchChanged(Switch sw.

2020-12-21 15:21:42 1144

原创 高级性能优化Android 开机时间慢问题debug

高级性能优化Android 开机时间慢问题debugStep 1启动电源以及系统启动当电源按下,引导芯片代码开始从预定义的地方(固化在ROM)开始执行。加载引导程序到RAM,然后执行。Step2 : bootloader引导程序是在Android操作系统开始运行前的一个小程序。引导程序是运行的第一个程序,因此它是针对特定的主板与芯片的。引导程序分两个阶段执行。第一个阶段,检测外部的RAM以及加载对第二阶段有用的程序;第二阶段,引导程序设置网络、内存等等。这些对于运行内核是必要..

2020-12-03 12:06:23 829

原创 Ubuntu 开始自动启动一个脚本加获取root权限执行

第一步:制作脚本(这部分已经完成)在脚本文件统计目录下创建_PWD_TEMP_:自动进入root需要创建该文件,我的当前路径为/home/kiki/下载/070120main_ui_release_linux/070120main_ui_release_linux/app,创建_PWD_TEMP_,内容是:#!/bin/bashecho "1313"(这个填写自己的root密码,蓝色的部分)创建脚本matLab_ui.sh#!/bin/sh#!/bin/shcd/etc/...

2020-11-24 11:58:31 2316

原创 ADB调试TP常用命令

ADB调试TP常用命令https://blog.csdn.net/Clayton12321/article/details/87894749adb打开 开发者选项->输入 调试选项adb模拟输入事件adb获取/更改屏幕休眠时间adb获取/更改当前亮度值adb打开 开发者选项->输入 调试选项在拿到板子点亮屏后,调TP时想看效果,但移植的驱动的TP效果参数一般不是优化过的,可以通过以下两种方式打开Show taps和Pointer location([显示点按操作反馈]和[.

2020-10-30 16:05:59 431

原创 Battery Historian

利用docker运行Battery Historian进行Android电量分析之前做Android 电量相关的性能测试,官方提供了一种方法,使用Battery Historian工具对 dumpsys 命令输出内容中电量相关事件的日志,生成 HTML 可视化内容。考虑到这种方式或许有助于实现自动化方式了解和诊断电池相关问题,于是开始动手实践。先了解下几个信息: 什么是Battery Historian Battery Historian是一款由Google提供的Andro...

2020-09-22 20:55:06 186

原创 excel一行数据转换成一个矩阵

=OFFSET($A$1,,ROW(A1)-1+(COLUMN(A1)-1)*3)=INDEX($1:$1,MOD(COLUMN(Q1),17)+1+(ROW(A1)-1)*17)

2020-09-14 18:49:48 1817

原创 大话 Select、Poll、Epoll

大话 Select、Poll、Epoll提到select、poll、epoll相信大家都耳熟能详了,三个都是IO多路复用的机制,可以监视多个描述符的读/写等事件,一旦某个描述符就绪(一般是读或者写事件发生了),就能够将发生的事件通知给关心的应用程序去处理该事件。本质上,select、poll、epoll本质上都是同步I/O,相信大家都读过Richard Stevens的经典书籍UNP(UNIX:registered: Network Programming),书中给出了5种IO模型:[1] b.

2020-09-01 14:43:08 211 1

原创 Ubuntu 常用图片修改工具

shotwell kolourpaint rawtherapee

2020-08-28 10:21:13 343

原创 linux/android系统开发,高级adb 命令汇总

一、常ADB命令1. adb连接成功验证命令:adb shell命令:adb devices2.使用adb安装、卸载应用安装命令:adb install apk包名.apk举例:安装测试电池曲线的APK卸载命令:adb uninstall apk包名.apk3.使用adb复制文件从手机到电脑从手机复制到电脑命令:adb pull (文件手机路径) (电脑保存路径...

2020-04-22 11:41:18 847

原创 linux下tar.gz、tar、bz2、zip等常见解压缩命令总结

本文介绍了linux下的压缩程式tar、gzip、gunzip、bzip2、bunzip2、compress 、uncompress、 zip、 unzip、rar、unrar等程式,以及如何使用它们对.tar、.gz 、.tar.gz、.tgz、.bz2、.tar.bz2、.Z、. tar.Z、.zip、.rar这10种压缩文件进行操作Linux下最常用的打包程序就是tar了,使用tar程序...

2020-04-03 11:56:43 147

原创 全面编写hello驱动的HAL层代码到APP层

Android架构实例分析之编写hello驱动的HAL层代码通到APP摘要:HAL层中文名称又叫硬件抽象层,可以理解我Linux驱动的应用层。本文实现了一个简单的hello HAL的代码,衔接hello驱动和Android标准架构实例分析之编写最简单的hello驱动HAL层的代码会使用open read write等系统调用操作驱动层的文件系统(dev、sysfs、proc),同时...

2020-03-27 20:22:02 602

原创 高通平台 底层驱动GPIO控制

做底层驱动免不了gpio打交道,所以对其操作和调试进行了一下简单的梳理一、gpio的调试方法 在Linux下,通过sysfs,获取gpio状态,也可以操作gpio。1、获取gpio状态 cd /sys/kernel/debug/ cat gpio2、操作gpio(以gpio99为例) cd /sys/class...

2020-03-25 18:12:52 1250

原创 Android input输入设备键值从底层到应用层的映射流程

Android : 输入设备键值从底层到应用层的映射流程Android input key 设备键值上报及映射流程一、Android输入子系统简介:  Android输入事件的源头是位于/dev/input/下的设备节点,而输入系统的终点是由WMS管理的某个窗口。最初的输入事件为内核生成的原始事件,而最终交付给窗口的则是KeyEvent或MotionEvent对象。因此Android输...

2020-03-19 13:53:52 926 1

原创 Android input系统用户空间流程

inputManager |inputReader --> inputDispatcher |eventHub |driver一. 设备的添加过程对于/dev/input下的设备结点,开机时会自动扫描一下,同时也添加了监测,每当设备结点有变化(usb鼠标插入)时都会再扫描一下.下面只分析开机扫描/dev/input/的过程,监测过程类似.在....

2020-02-11 17:10:36 235

原创 BluetoothA2DP sink

Android 8.1开启Bluetooth A2DP sink功能**Android O源码已经支持A2DP sink,只需要开启就可以了一个是BTA_AV_SINK_INCLUDED设为TRUE,BTA_AV_SINK_INCLUDED在\system\bt\include的bt_target.h另外一个是bluetooth app这边的profile_supported_a2dp...

2019-12-29 13:51:45 2722 2

原创 camera预览倒置问题

1、frameworks/base/core/java/android/hardware/Camera.java 直接修改int rotation = SystemProperties.getInt("ro.sf.hwrotation",0); 默认属性值

2019-12-18 10:23:10 251

原创 DisplayMode

/vendor/amlogic/common/frameworks/services/systemcontrol/DisplayMode.hBoarConfig.mk

2019-11-27 15:31:34 337

原创 Android版本修改

out/target/product/u200/obj/ETC/system_build_prop_intermediates/build.prop

2019-11-25 20:29:16 130

原创 linux 内核审核代码格式 /scripts/checkpatch.pl

Linux程序的命名习惯和Windows程序的命名习惯及著名的匈牙利命名法有很大的不同一、Documentation/CodingStyle文档Linux有独特的编码风格,在Linux内核源代码下存在一个文件Documentation/CodingStyle,进行了比较详细的描述二、scripts/checkpatch.pl脚本内核下的scripts/checkpatch.pl提供了1...

2019-11-22 10:42:09 2302

原创 android系统开发和Linux开发遇到git am 空格的错误(whitespace)

解决办法如下:git am 0001.patch --whitespace=nowarn

2019-11-15 17:00:07 283

原创 android下面通过I2C TOOLS工具查看设备寄存器

android下面通过I2C TOOLS工具查看设备寄存器1.下载 i2c-tools-3.0.2.tar.bz22. 解压后,修改Makefile文件,选择arm的编译器,同时在tools的Module.mk文件中编译选项中添加-static静态编译选项,不然生成的执行文件会提示无法找到的提示;静态-static 添加在-o的前面就行了。3.一切顺利生成i2cdetect,i2c...

2019-11-01 11:49:14 333

原创 android系统驱动开发总结

LCD 驱动配置四个引脚:1.pwd(power) reset BL_EN BL_PWM2.pwd reset 时序配置touchscrean 引脚配置:1.i2c地址(查看模组spi)2.int reset 引脚led 配置:找个i2c总线挂上,i2c模组地址camera 配置:1、clock时钟 reset pwd i2c引脚配置input 驱动配置:1.adc ...

2019-10-31 15:36:56 278

原创 pinmux

cat sys/kernel/debug/pinctrl/pinctrl@ff634480/pinmux-pins

2019-10-31 11:40:25 567

原创 serialno查看

[ro.boot.serialno]: [1234567890]./sys/kernel/config/usb_gadget/g1/strings/0x409/serialnumber

2019-10-26 14:38:50 822

原创 LCD 不同 MIPI 4-LANE

EK79007+BOE 7.0(IPS) MIPI 4-LANE參數:VDD= 1.8~2.0VRESET=VDD;STBYB=VDD;VGH= 18VVGL= -6VAVDD= 9.6VVCOM= 3.2V(tpy.)MIPI CLK Speed:340Mbps(170MHZ)H back porch:160H front porch:160H pulse width:...

2019-10-24 11:07:40 2481

usbhid-dump.8.gz

ubuntu usbhid-dump源码

2021-01-05

caffe+opencv+dilb 在vs上配置

使用caffe框架开发人脸识别,通过vs平台,配置caffe开发环境,简练高效 使用caffe框架,希望能给喜欢的小伙伴一个礼物。

2018-07-30

静态路由和动态路由同时存在,怎么配置

静态路由和动态路由同时存在,怎么使用动态路由和静态路由同时在一个路由上配置。

2014-12-16

android 硬件

android 硬件开发一个必不可少环节,他是自动化开发的基础也是未来开发的方向。

2013-12-09

android开发—— 国际化

android 国际化 是一个必不可少的工具以及开发工作局

2013-12-09

apache-jmeter-2.9

apache-jmeter-2.9,挺好用的,嘿嘿!

2013-03-10

空空如也

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

TA关注的人

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