- 博客(30)
- 收藏
- 关注
原创 因为INS不合规而导致的给applet发送指令无响应
此次问题发生,正好安全芯片使用的是T=0的传输协议,所以出现了这个问题。猜测是因为0x9000和0x6XXX正好代表了成功以及错误码,所以主动发送apdu的时候禁止使用。而在T=1的传输协议中,是没有这个要求的,所以T=1时应该可以使用。即T=0 下 INS 的禁用区间是。修改自定义apdu指令的INS,避开。查看ISO-7816-3发现有。可以通过这样的代码来得知。
2026-10-26 17:49:33
49
原创 在git commit时利用AI自动生成并填充commit信息
本文介绍了一款利用AI自动生成git commit信息的工具,通过git钩子机制在提交时获取代码改动,调用内部AI模型分析并生成格式规范的commit信息,自动填充到编辑界面。工具包含三个核心部分:使用git diff获取修改内容、调用AI接口生成标准格式的commit信息、将结果写入提交文件。该方案能有效规范提交信息,减少人工填写负担,同时需注意代码安全仅使用内部AI服务。工具需要Python环境支持,部署简单,实际使用中可通过优化提示词和过滤策略进一步提升效果。
2025-10-13 11:11:32
1560
原创 Android 蓝牙app开发(主设备)
本文介绍了在Android中开发蓝牙应用的步骤,主要包括蓝牙扫描、连接、服务发现和通信配置。首先通过BluetoothAdapter扫描设备,在回调中筛选目标设备并建立连接。连接成功后进行MTU协商,然后发现服务并配置特征值,包括写入特征和通知特征的设置。最后通过描述符启用通知功能,为后续数据通信做好准备。整个流程通过BluetoothGattCallback回调实现状态监控和操作反馈。
2025-09-25 13:32:17
997
原创 【Java Card】CLEAR_ON_DESELECT和CLEAR_ON_RESET的区别
刚开始的开发者对于CLEAR_ON_DESELECT和CLEAR_ON_RESET总是分不清楚,他们都是用于创建临时的byte数组数据的,好像用起来也没多大的差别。本文就一个例子来说明CLEAR_ON_DESELECT和CLEAR_ON_RESET到底有什么区别,对于代码的执行结果会有什么差异。
2025-04-24 17:02:09
763
原创 AIBinder_linkToDeath后收不到死亡监听回调问题的分析处理
在类的构造函数中使用AServiceManager_checkService来获取了系统服务,使用了AIBinder_linkToDeath来注册该服务的死亡监听以及回调方法。
2024-12-24 11:09:01
733
原创 [openSSL]TLS 1.3握手分析
关于TLS握手网上资料很多,但是有一些写的很不清楚,导致学习时对概念和流程出现混淆,以下是我觉得写得比较清晰和准确的供学习参考。浅析 TLS(ECDHE)协议的握手流程(图解)图解ECDHE密钥交换算法TLS原理与实践(三)tls1.3以访问百度为例的TLS1.3握手详解接下来针对ECDHE密钥交换、单向身份认证、双向身份认证来进行分析。注意这3个只是完整TLS握手流程中的一部分。
2024-08-13 16:09:30
1631
1
原创 [openSSL]tls_construct_cert_verify签名流程
tls_construct_cert_verify是openSSL源码中的一个方法,用于进行TLS握手阶段的签名流程。客户端根据一段公共消息生成消息摘要,一般是使用sha256算法。客户端对消息摘要使用私钥进行签名,将签名后的消息发送给服务端。服务端收到签名消息后,使用客户端公钥处理来得到摘要消息。对公共消息也使用sha256算法来提取摘要,对比摘要,成功则能够验证客户端的身份流程图。
2024-08-13 14:43:53
1504
原创 dangerous relocation: unsupported relocation处理
一般dangerous relocation: unsupported relocation错误常见于编译一个库文件时发生,而-pie 和 -fPIE 主要用于创建可执行文件,而不是共享库,所以编译库文件时不需要-pie -fPIE。但是我遇到了加了-fPIC也还是报相同的错误的情况,检查发现CXXFLAGS中还有-pie -fPIE,去掉后编译链接成功。错误出在链接阶段,按照提示需要在CXXFLAGS中加上-fPIC后重新编译。
2024-08-13 13:55:19
1382
原创 Android系统剪裁的处理方式(唔好再修改源码啦)
Android的系统剪裁是很多产品都会做的处理,剪裁掉不需要的应用或者服务,以减小占用空间大小以及内存的占用。这里讨论如何优雅地进行剪裁的处理。
2024-02-07 15:54:52
1391
1
原创 Android修改系统默认字体
Android系统中的字体配置文件为/system/etc/fonts.xml关于fonts.xml文件的解读可以参考Android fonts相关知识以及fonts.xml解读从图上可以看出,Android系统默认字体名为sans-serif,所使用的是Roboto系列的字体文件。如果不做另外的设置,那么我们写的程序默认会使用的就是sans-serif,也即是Roboto系列的字体。
2024-02-05 19:04:50
4367
1
原创 Android添加系统字体fonts
上传/fonts/oem-lobster/Lobster-Regular.ttf文件。系统源生提供了定制化增加字体文件的方式,可以在不修改源生代码的情况下进行定制增加。的字体,使用的字体文件为Lobster-Regular.ttf。product下的预置参考了google提供的预置方式。例如/device/common/common.mk。之后,在应用中便能够使用lobster字体了。这个文件是增加了一个名为。
2024-02-04 18:44:18
2779
1
原创 Android Sensor模块解析(Sensor Hidl服务)
Sensor Hidl服务在眼镜中是一个android.hardware.sensors@2.1-service.multihal进程它其实是sensor hal的hidl实现,sensor hal也是在这个进程中的。Sensor hidl的代码位置主要在。
2024-02-02 17:32:29
2219
原创 Android Sensor模块解析(Sensor的整体架构)
3、sensor的hidl服务,运行在android.hardware.sensors@2.1-service.multihal进程,会调用sensor-hal的实现方法。4、高通的sensor-hal,以sensors.ssc.so的形式提供给sensor的hidl服务,因此也是运行在hidl的进程中的。包含了sensor的主要实现。2、sensorservice(运行在system_server),提供了sensor框架层的具体实现,并调用到sensor的hidl服务。5、驱动层、硬件层。
2024-02-02 10:07:30
1155
原创 Android Aidl for hal开发案例
一次Aidl for hal的实现案例,包含bp编译、aidl接口、服务端、客户端、selinux的实现以及一些问题的解决。
2024-01-30 17:46:13
4953
1
原创 解决Android11上无法通过AIDL传递MQDescriptor从而无法使用FMQ快速消息队列的方法
Android的发展趋势是去HIDL转而使用AIDL,在该转化过程中会出现一些问题。比如本文中描述的问题,使用FMQ但却无法在Android 11上使用AIDL来传递MQDescriptor。本文提供了一种解决该问题的方式,即将MQDescriptor中的native_handle_t数据提取并进行序列化,之后客户端再进行还原得到MQDescriptor,以此来创建对应的消息队列,从而跨进程使用FMQ快速消息队列。
2024-01-30 16:04:20
1214
1
原创 Android系统存储可用空间不足监控DeviceStorageMonitorService
对于低存储空间的设备,比如穿戴设备等,存储空间可能只有32G。在这样的设备上安装第三方应用会占用较大的存储空间,因此需要对可用的存储空间进行监控。
2024-01-30 11:12:38
920
1
原创 Android input输入设备与kl文件的匹配
input设备的事件上报和系统中keyCode的对应是通过kl(keyLayout)文件来进行转换的。Android系统中预置了很多的kl文件,如果要定制input行为,我们也会添加或者修改kl文件。Generic . kl部分内容一个Android设备会存在多个input设备,本文主要分析是如何为不同的input设备寻找匹配对应的kl(keyLayout)文件的。了解后就知道如果新增了一个输入设备,我们该如何为其添加kl文件。
2024-01-18 15:36:35
2121
2
原创 nodejs中JavaScript代码里使用阿里云发送短信验证码SendSmsVerifyCode
在JavaScript代码中利用阿里云的短信服务发送短信验证码环境:Nodejs 阿里云Linux服务器代码:JavaScript。
2024-01-05 18:28:03
2346
1
原创 Android fonts相关知识以及fonts.xml解读
fonts.xml是 Android 系统中的一个配置文件,用于定义系统中使用的字体相关信息。由于 Android 系统支持多种语言,而每种语言的文字字体可能有所不同,因此需要对字体进行精细调整,以确保在各种情况下都能获得良好的显示效果。如果你进行相关的定制开发,理解和熟悉fonts.xml文件的内容是至关重要的。这个文件包含了系统中各种语言和字体的映射关系,通过它可以调整字体的使用方式,以满足特定的需求和显示效果。深入了解fonts.xml可以为定制化开发提供必要的指导和信息。
2024-01-04 10:53:44
4333
2
原创 Android keycode关联映射以及键值添加
Android的keycode添加需要在多个文件中进行键值增加,一个同样的键值在多个地方进行定义总是让人感觉不安的,所以下面我们通过走读代码重点看一下keycode对应关系,上层的keycode值如何对应到/dev/input/eventX中的上报值,为什么要在这些文件中定义,以及各个文件中的定义分别是做什么用的,到底以哪个为准。键值数字的定义是在keycodes.h中,可以看到AKEYCODE_DPAD_CENTER的值是23。由以上可以看出。
2023-12-15 16:15:23
3667
原创 Nodejs连接MySql报错ER_NOT_SUPPORTED_AUTH_MODE处理
使用nodejs连接MySql数据库时,出现了这样的报错,导致无法连接',});报错Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server;
2023-11-29 14:49:54
2143
2
原创 阿里云Linux服务器升级glibc到2.28
在使用阿里云的Linux服务器(Alibaba Cloud Linux 2.1903 LTS 64位)时,按照教程安装的是nodejs的V14版本。如果升级了npm到最新的版本,之后使用npm时会提示那么需要升级nodejs,在升级了nodejs到v21版本后,会提示因此需要升级GLIBC_2.28。
2023-11-28 20:20:17
3992
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅