如何成为技术负责人
如何成为技术负责人作为 Technical PM 或 TL,你的核心价值不在于单兵作战,而在于通过输出“高密度的标准化文档”,将复杂的系统逻辑降维打击,拆解成若干个确定性的、低耦合的子任务。
要写出一套让程序员“无话可说、提笔就写”的 Technical Spec,你需要将其标准化为以下五个核心维度:
1. 业务上下文与成功定义 (Context & Success)不要一上来就谈代码。程序员如果不理解业务目标,就会在遇到细节问题时做出错误的自主决策。
**User Stories (用户故事)**:以“作为 [角色],我想要 [功能],以便于 [价值]”的格式描述。
**Success Metrics (验收标准)**:明确什么是“做完了”。例如:“成功通过 1000 次并发下的内存泄漏测试”,“在 D8 v12.4 版本下稳定获得 Shell”。
**Out of Scope (不做什么)**:明确划定边界,防止程序员在非核心功能上浪费时间。
2. 逻辑分层与架构设计 (Structural Design)在这一步,你是在“定调子”。你需要用图形化的方式告诉大家,系 ...
基于模板的安卓进程间通信Fuzzing
title: 基于模板的安卓进程间通信Fuzzingdate: 2024-07-31 15:02:39tags: - “漏洞挖掘” - “Fuzzing”Template-based Android Inter-Process Communication FuzzingAnatoli Kalysch, Mark Deutel and Tilo Müller; System Security and Software Protection Group.
Fuzzing is a test method in vulnerability assessments that calls the interfaces of a program in order to find bugs in its input processing.Automatically generated inputs, based on a set of templates and randomness, are sent to a program at a high rate, collecting c ...
UDS诊断和通信管理
title: UDS诊断和通信管理date: 2024-07-31 14:34:49tags: - “车联网” - “UDS诊断协议”UDS 功能单元诊断服务标识符分为以下功能单元:
诊断和通信管理
数据传输
存储数据传输
输入输出控制
远程激活常规控制
上传/下载
在本章中,我们将重点介绍诊断和通信管理。
诊断和通信管理该诊断和通信管理功能单元用于控制ECU中的诊断和通信相关操作。它提供以下服务。
诊断会话控制 - (0x10)
ECU复位 – (0x11)
安全访问 – (0x27)
通信控制 – (0x28)
身份验证 – (0x29)
测试设备在线 – (0x3E)
访问时序参数 – (0x83)
安全的数据传输 – (0x84)
控制 DTC 设置 – (0x85)
事件响应 – (0x86)
链路控制 – (0x87)
0x10 诊断会话控制诊断会话的服务 ID 为 0x10,响应 SID 为 0x50。诊断会话控制是 UDS 使用的最重要的服务之一。诊断会话控制用于控制ECU的诊断会话。此服务用于 ...
使用RTL-SDR打开车门
title: 使用RTL-SDR打开车门date: 2024-07-31 14:48:16tags: - “车联网” - “无线电”在最近几年,入侵汽车在当代社会的黑客圈中成为热点,很多文章表明汽车产业还有很多东西等待完善,在本篇文章中,我会让你熟悉我一直研究的一些概念,以及如何在网状网络中使用一些便宜的部件渗透远程开门系统。
软件无线电
Software-defined radio(SDR)即软件无线电,它是一种实现无线通信的新概念和体制。其中已在硬件上被实现的组件(例如混频器,滤波器,放大器,调制器/解调器,检测器等)可以通过软件手段在个人计算机上或嵌入式系统中被代替,即很多功能是在软件平台上实现的。虽然SDR不是一个新概念,但是随着数字电子学的飞速发展,很多东西从理论可行转变为实际可行。
然而大多数SDR设备都非常昂贵,特别是HackRF,BladeRF等等,如果你在寻找最便宜的方案,那么RTL2382U是个不错的选择,它们在Ebay上只需大约15美元。
这是我的RTL2382U以及一个天线。
这是另一个,我没有停止用它,因为我在用它后面的GPS模块。 ...
UDS时间参数总结
title: UDS时间参数总结date: 2024-07-31 14:36:04tags: - “车联网” - “UDS诊断协议”传输层时间参数Addressing Mode(AM)在发送诊断指令的过程中,存在以下两种寻址方式:
物理寻址: 即该诊断服务只针对符合请求中物理地址的ECU,其他ECU节点不做任何接受处理;
功能寻址: 即该诊断物理请求针对当前网络下所有的ECU节点,所有的ECU均会接收处理该诊断请求一般而言,一个ECU节点只会存在1对物理寻址,1对功能寻址;每一对寻址方式根据客户的需求来自行定义.
场景与作用:
当该诊断请求需要发送到特定ECU节点时,就需要使用物理寻址方式,如使用$2E服务写DID或者执行$34,$36,$37执行下载程序时;
当该诊断请求需要发送至当前网络下所有的ECU节点时,就需要使用功能寻址,典型过程如FBL刷写过程中的$28,$85服务等.
Block Size于STminBlock Size简称BS ,该参数于STmin一般同时出现.此两参数主要用于诊断报文传输多帧时会使用到.在传输多帧诊断报文的过程中, 存在着三种类型的 ...
UDS-10服务
title: UDS 10服务date: 2024-07-31 14:44:38tags: - “车联网” - “UDS诊断服务”前言在使用汽车UDS诊断服务的过程中,我们会用到一个十分常见的诊断服务$10服务。该服务基本上时执行其他特别任务的前置服务,所以有必要跟大家一起介绍该服务的基本特点,首先,请问大家几个基础问题?
10服务是做什么的呢?
10服务有哪些子服务呢?
10服务的请求格式及响应格式又是如何定义的呢?
执行10服务自身有无前置条件呢?
本文我们来一起探索并回答这些问题。为了便于大家理解,以下是本文的主题大纲:
正文服务功能功能描述
在《ISO14229-1》ISO标准文档中针对10服务做了十分详细的说明,总结下来其主要体现为以下几点:
10服务是用来使能Server(即ECU)不同诊断会话的一种服务;
不同的诊断会话则规定了Server在相应session可以开启的功能权限;
在不同的诊断会话则应使用对应的数据链路层的时间参数;
其中最为核心的一点就是诊断服务权限控制。如下图1所示,则明确规定了不同的诊断服务在默认会话和非默认 ...
TBOX全功能
title: TBOX全功能date: 2024-07-31 16:17:26tags: - “车联网” - “ECU”T-BOX的全称为Telematics Box ,远程/车载通信模块,是一个集成车身网络和无线通讯功能的智能终端设备,T-BOX实现了多媒体车机与TSP以及互联网之间的无线路由器. 使得用户有机会远程访问。车辆所配备的各ECU,实现对车辆的启停发动机、开关空调、开关天窗、开关后备箱门、开关车门、闪灯鸣笛等远程控制。并且TBOX设计有 MCU 来接收处理CAN消息,直接访问车辆所配备的各ECU。
通常的T-Box控制器的结构图如下所示。
那T-Box有哪些功能呢?下面来详细说一说。
安全策略系统安全目标是通过符合TBox应用场景的身份权限管理和访问控制机制,正确地响应授权操作和处理异常行为,对抗针对系统的溢出攻击、暴力破解、中间人攻击、重放、篡改、伪造等多种安全威胁,保证系统文件和数据的可用性、保密性、完整性和可审计性,保证对各类资源的正常访问,以及保证系统在恶意攻击下仍然能够按照预期正常运行。
首先是安全启动,MCU支持Secure Boot ...
TLS
title: TLSdate: 2024-07-31 13:43:46tags: - “PWN” - “Linux”基本概念线程的访问非常自由,它可以访问进程内存里的所有数据,甚至包括其他线程的堆栈(如果它知道其他线程的堆栈地址,那么这就是很少见的情况),但实际运用中线程也拥有自己的私有存储空间,包括以下几方面:
栈(尽管并非完全无法被其他线程访问,但一般情况下仍然可以认为是私有的数据)。
线程局部存储(Thread Local Storage, TLS)。线程局部存储是某些操作系统为线程单独提供的私有空间,但通常只具有很有限的容量。
寄存器(包括PC寄存器),寄存器是执行流的基本数据,因此为线程私有。
实际上,线程私有的数据有:
局部变量(栈、寄存器)
函数的参数(栈、寄存器)
TLS 数据(线程局部存储)
线程共享的数据有:
全局变量
堆上的数据
函数里的静态变量
程序代码,任何线程都有有权利读取并执行任何代码。
打开的文件,A 线程打开的文件可以由 B 线程读写。
一个全局变量如果使用 __thread 关键字修饰,那么这个变量就变成线程私有的 TLS ...
MQTT
title: MQTTdate: 2024-07-30 23:14:46tags: - “车联网” - “协议” - “V2X”简介MQTT是什么?MQTT(Message Queuing Telemetry Transport)是一种基于发布-订阅(Publish-Subscribe)模式的轻量级通讯协议,采用客户端-代理(Client-Broker)模型进行通信,基于TCP协议,属于应用层协议。
它最初由 IBM 在 1999 年开发,目前已成为物联网(IoT)领域中最流行的通讯协议之一。
MQTT 的发布-订阅机制可以很轻易地满足我们一对一、一对多、多对一的通信需要。
发布-订阅模式是什么?在 MQTT 中,发布-订阅模式是指消息的发布者/发送者(Publisher)和订阅者/接收者(Subscriber)之间的通讯方式。
发布-订阅模式与客户端-服务器模式的不同之处在于:发布者和订阅者之间无需建立直接连接,而是通过 MQTT 代理(Broker) 来负责消息的路由和分发。
下图展示了 MQTT 发布-订阅过程。温度传感器作为客户端连接到 ...
Linux-Debian-Java安装和版本管理
title: Linux(Debian) Java安装和版本管理date: 2024-07-31 15:10:58tags: - “Linux”在Linux上设置和切换Java版本可以使用update-alternatives工具,以Java8为例子:
1.搜寻apt仓库中可用的java源:1apt-cache search --names-only jdk
2. 安装Java 8首先,更新包管理器,并安装Java 8。
12sudo apt updatesudo apt install openjdk-8-jdk
3. 添加Java 8到update-alternatives安装完Java 8后,需要将其添加到update-alternatives管理器中:
12sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-8-openjdk-amd64/bin/java 1sudo update-alternatives --install /usr/bin/javac javac /us ...



