1.è·¯ç±å¨çåºä»¶è½åç¼è¯å
2.手机bin文件用什么软件打开
3.反编译教程入门
4.自制psp固件如何反编译?
5.蓝牙马蹄锁分析过程文章小结
è·¯ç±å¨çåºä»¶è½åç¼è¯å
å¯ä»¥è¿è¡åç¼è¯ãè·¯ç±å¨çåºä»¶é常åå¨å¨FLASHä¸ï¼é常é½æ¯ä»¥ xxx.binæ ¼å¼çæ件形å¼ä¿åçãbinæ ¼å¼æ¯ä¸ç§äºè¿å¶æ件ï¼åå¨çæ¯è·¯ç±å¨çæºå¨ç ï¼éè¿åç¼è¯ï¼å¯ä»¥å°å ¶è¿å为æ±ç¼ç ï¼ä»¥ä¾¿è¿è¡åæãè·åãåç¼è¯ååæåºä»¶é常æä¸åæ¥éª¤ï¼
è·åè·¯ç±å¨åºä»¶éè¦çç¯å¢å¸¸è§è·¯ç±å¨çSPI FLASHç¼ç¨å¨ï¼
æ好æ¯ç¨Winows ç¬è®°æ¬æ¥ç»éå°ubuntuç³»ç»çå°å¼æºä¸çæ¹å¼ ï¼
Windows ä¸çPuttyãwinhexãWinSCPè½¯ä»¶å·¥å ·ï¼
TTL线ãç½çº¿ãä¸ç¨è¡¨åçéï¼çé£æªçå·¥å ·å线æï¼
åææ¥éª¤æå¼å¯¹åºçè·¯ç±å¨è®¾å¤çå¤å£³ï¼
æ¥çè·¯ç±å¨å é¨ççæ¥å£æ è¯ï¼
ç¨ä¸ç¨è¡¨æ¾å°å¯¹åºçå°çº¿GNDæ å·ï¼
é常为äºè°è¯æå级çæ¹ä¾¿ï¼é½ä¼ä¿çTTLå¼èï¼
æ¥çæ¯å¦åå¨æTTL线çå¼èæ触ç¹ï¼
ç¨åå¤å¥½çTTL线è¿æ¥è·¯ç±å¨çTTLå¼èæ触ç¹ï¼
windowsä¸ç¨puttyä¸ç串å£é¡¹æå¼å¯¹åºçTTL线è¿æ¥ç串å£ï¼
æ¥çæ¯å¦æè·¯ç±å¨å¯å¨çæ¥å¿ä¿¡æ¯ï¼å¦ææï¼è¯·ä»ç»åæï¼
çè·¯ç±ä¿¡æ¯å¯å¨å®æ¯åï¼ççæ¯å¦æç»ç«¯è·³åºæ¥ï¼æ¯å¦æç»éçªå£è·³åºï¼
å¦ææç»éçªå£ï¼ä½æ¯æ æ³è¾å ¥ï¼æè æ æ³çæµåºå¯¹åºçç¨æ·åå¯ç ï¼
ç¨çé£æªæçéåä¸è·¯ç±å¨ä¸çåå¨FLASHè¯çï¼
å¨Windowsä¸ç¨ç¼ç¨å¨æååå¨å¨FLASHè¯ççå ¨é¨åºä»¶ï¼
ç¨WinSCPå·¥å ·å°æååºçåºä»¶ä¸ä¼ å°ubuntuç³»ç»ä¸ï¼
å¨ubuntuç³»ç»ä¸å®è£ 对åºçåºä»¶åæå·¥å ·ï¼firmware-mod-kitãbinwalkãlzmaãsquashfs-toolsçï¼ï¼
ç¨è¿äºåæå·¥å ·è¿è¡åæï¼åæåºæ¥åï¼è§£å对åºçæ°æ®å ï¼æå对åºçå ³é®æ§æ°æ®è¿è¡åæã
æ以ä¸æ¥éª¤å¯ä»¥å®ç°å¯¹è·¯ç±å¨çåæã
手机bin文件用什么软件打开
手机bin文件可以使用二进制文件查看器或专业的编译编译反编译工具来打开。
手机bin文件通常是源码一种二进制文件,它包含了手机操作系统、条件应用程序或固件等的软件相关信息。由于这些文件是编译编译以二进制形式存储的,因此普通的源码回补缺口选股公式源码文本编辑器无法直接打开和查看其内容。为了打开和解析手机bin文件,条件我们需要使用特定的软件工具。
其中,编译编译二进制文件查看器是源码一种常用的工具,它可以让我们以十六进制或二进制的条件形式查看文件的内容。这类工具通常具有简单的软件用户界面,可以方便地进行文件的编译编译打开、查看和保存等操作。源码通过使用二进制文件查看器,条件我们可以了解到手机bin文件的基本结构和内容,从而进行进一步的分析和处理。
另外,专业的反编译工具也是打开手机bin文件的一种选择。这些工具通常具有更强大的功能和更高的灵活性,可以对手机bin文件进行反编译、boss公式源码分析和修改等操作。通过反编译工具,我们可以将手机bin文件转换为人类可读的代码形式,从而更深入地了解文件的内部结构和实现逻辑。
需要注意的是,在打开和解析手机bin文件时,我们需要具备一定的专业知识和经验。因为二进制文件通常比较复杂,涉及到的技术和细节也比较多。因此,辅助成品源码在使用这些工具时,我们需要仔细阅读相关的文档和教程,以确保能够正确地理解和处理文件的内容。
总之,手机bin文件需要使用特定的工具来打开和解析。通过使用二进制文件查看器或专业的反编译工具,我们可以深入了解手机bin文件的结构和内容,从而进行进一步的分析和处理。同时,我们也需要具备一定的logback 源码实现专业知识和经验,以确保能够正确地理解和处理文件的内容。
反编译教程入门
我们在写单片机裸机程序时,在主函数之前,会有一段启动代码,而启动代码是用汇编写的,有些朋友可能看到汇编头都大了,当时要想深入研究底层架构,这快硬骨头就必须去啃。
汇编
:汇编文件转换为目标文件(里面是机器码)。
反汇编
:可执行文件(目标文件,跳台阶源码里面是机器码),转换为汇编文件。
关于汇编的基础知识,请看笔者以前的文章。
今天笔者以STMF1的点灯程序为例,带领大家进行反汇编,并阅读反汇编后的代码。
1 新建LED裸机程序
关于STM裸机程序的创建,请看笔者博文:
逆向
jadx一款java编写的开源图形化反编译工具
⭐GDA不依赖java且支持apk, dex, odex, oat, jar, class, aar文件的反编译, 支持python及java脚本自动化分析
GDA主页-亚洲首款交互式Android反编译器
刷固件
Sniffle项目中fw文件夹是固件源码,如果只是抓包的话,在Sniffle项目release1.7中有上传的编译好的固件,根据型号下载。
搜索相关资料得知,可以在TI网站上安装UNIFLASH软件来进行刷固件: ti.com/tool/UNIFLASH?...
抓包测试
Sniffle抓包方式是开发板抓到数据之后,通过串口发送给PC,PC收到数据包之后再根据设定条件来过滤数据,最后根据参数决定是否保存成pcap文件。因此需要用参数-s 指定某个串口,串口可以通过设备管理器查看,共有两个,选择UART的串口:
从README中可以知道python_cli中的sniff_receiver.py为抓包脚本,支持多个参数,这里简单介绍下常用的设置:-a 只抓广播包,不知道设备mac地址的情况下,可以用此参数 -m 只抓特定mac地址的数据包,可以从广播包中分析出目标设备mac地址 -o 抓包结果保存到pcap文件
下图是命令sniff_receiver.py -s COM7 -m xx:xx:xx:xx:xx:xx -o data.pcap的显示:
下图是保存的pcap文件中的BLE开始连接过程截图:
低功耗蓝牙(BLE)协议
BLE (低功耗蓝牙)协议入门--整体介绍-腾讯云开发者社区-腾讯云 (tencent.com)
蓝牙低功耗概览 | Android 开发者 | Android Developers (google.cn)
手机端HCI
如何抓取Android手机蓝牙HCI - 知乎 (zhihu.com)
⭐ Android Bluetooth HCI log 详解 - 简书 (jianshu.com)
pcap文件
pcap文件详解 - CharyGao - 博客园 (cnblogs.com)
Wireshark文件pcap的格式详细解析有实例(Global Header、Packet Header)_wireshark格式-CSDN博客
使用 Wireshark 导入/导出pcap文件——Wireshark 新手教程(3) - 哔哩哔哩 (bilibili.com)
AES加密
什么是AES加密?详解AES加密算法原理流程 - 知乎 (zhihu.com)
⭐ 密码学基础:AES加密算法 - 知乎 (zhihu.com)
蓝牙属性通知(Handle Value Notification)
⭐ 低功耗蓝牙学习笔记-属性协议-CSDN博客
蓝牙BLE从机Peripheral讲解二(句柄指示\确认(Handle Value Indication\Confirmation)) - SweetTea_lllpc - 博客园 (cnblogs.com)
ECB加密模式
ASE加密模式介绍(ECB、CBC、PCBC、CFB、OFB、CTR)-CSDN博客
AES五种加密模式_aes模式-CSDN博客
ECB模式解读-CSDN博客
密码算法 之三分组密码工作模式 (ECB \ CBC \ CFB \ OFB \ CTR \ XTS)浅析_xts模式-CSDN博客
Android logcat
Android logcat命令详解 - 许忠慧 - 博客园 (cnblogs.com)
bleak低功率蓝牙库
其实各语言都有该类型库哦 个人比较热衷于rust,个人觉得其在内存耗损上比python好点(当然,编码也会复杂一点)
bleak · PyPI
hbldh/bleak: A cross platform Bluetooth Low Energy Client for Python using asyncio (github.com)
GATT
蓝牙BLE: GATT Profile 简介(GATT 与 GAP) - 夜行过客 - 博客园 (cnblogs.com)
蓝牙:GATT,属性,特性,服务_ble服务和属性特征-CSDN博客
⭐ 六 蓝牙低功耗(BLE)协议栈 之 GATT层_characteristic declaration-CSDN博客
Characteristics在代码中是UUID形式,在数据包中是以Handle形式,Handle与Characteristics是一一对应的,对应关系是在GATT中定义。