This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2650:CC2650如何生成 LTK?

Guru**** 2576215 points
Other Parts Discussed in Thread: CC2650, CC2650STK

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/734204/cc2650-how-ltk-is-generated-by-cc2650

器件型号:CC2650

大家好、

我想知道 cc2650用于生成 LTK 的具体方法。 我的问题是:

有没有与 C:\ti\simplelink\ble_sdk_2_02_25\examples\hex 不同的源代码来分析这一点。
如何将该十六进制转换为 c 进行分析?
是否还有其他选项可以知道生成 LTK 的光谱处理?
我将对响应进行消弱。

最棒的

圣地亚哥。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    进展甚微:

    使用 objcopy 将文件从 Hex 转换为原始二进制文件

    2.查看熵图、十六进制转储和字符串输出以检查转换文件的状态。 以下是转换后文件的十六进制转储的一个片段:

    $ hexdump -C -n 256 cc2650stk_sensortag_rel.bin

    00000000 00 37 00 20 C9 0b 00 D9 0b 00 00 00 db 0b 00 |.7。 . |
    00000010 dd 0b 00 dd 0b 00 dd 0b 00 dd 0b 00 00 00 00 00 00 |.......... |
    00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 dd 0b 00 |.......... |
    00000030 dd 0b 00 00 00 00 00 dd 0b 00 dd 0b 00 |.......... |
    00000040 dd0b 00 dd0b 00 dd0b 00 dd0b 00 dd0b 00 dd0b 00 00|.......... |
    *
    000000c0 dd 0b 00 dd 0b 00 df F8 e8 13 09 68 c1 f3 |.......... H.|
    000000d0 04 61 16 29 A8 bf 20 39 01 EB 20 71 49 1c 16 29 |.a.)。 9. Qi..)|
    000000e0 A8 bf 15 21 04 da 6F f0 09 02 91 42 B8 bf 11 46 ||!... O.... B..F|
    000000f0 01 f0 1f 01 df F8 c0 23 41 F4 F8 51 11 80 df F8 |… #A..Q....|
    00000100

    接下来、检查以查看是否找到入口点、并尝试在此处开始针对给定架构进行反汇编。 在偏移0xC0处开始反汇编似乎是一个很好的猜测。 我使用 R2执行反汇编:

    $ R2 -A arm -b 16 sensor.bin <---- 用于 ARM Thumb 指令集 arch

    ———我们要玩游戏吗?
    [0x00000000]>s 0xc0 <---- 寻址到偏移量0xC0
    [0x000000c0]> PD <---- 打印拆卸
    0x000000c0 dd0b LSR R5、R3、0xF
    0x000000C2 0000 MOV r0、r0
    0x000000c4 dd0b LSR R5、R3、0xF
    0x000000c6 0000 MOV r0、r0
    0x000000c8 DFF8e813 LDR.w R1、[0x000004b8] ;[0x4b8:4]=0x4008626e
    0x000000cc 0968 LDR R1、[R1]
    0x000000ce c1f30461 Ubfx R1、R1、0x18、5
    0x000000d2 1629. CMP R1、0x16
    ,=<0x000000d4 a8bf IT GE
    `-> 0x000000d6 2039. SUS R1、0x20
    0x000000d8 01eb2071 add.w R1、R1、r0、ASR 28
    0x000000dc 491c 将 R1、R1、1相加
    0x000000DE 1629. CMP R1、0x16
    ,=<0x000000e0 a8bf IT GE
    `-> 0x0000002 1521 MOV R1、0x15
    ,=0x000000e4 04da bge 0xf0
    |0x000000e6 6ff00902 mvn R2、9.
    |0x000000EA 9142. CMP R1、R2
    ==< 0x000000ec b8bf 它很不好
    `-> 0x000000ee 1146. MOV R1、R2
    `-> 0x000000f0 01f01f01 和 R1、R1、0x1f
    0x000000f4 Dff8c023 LDR.w R2、[0x000004bc] ;[0x4bc:4]=0x40090000
    0x000000f8 41f4f851 ORR R1、R1、0x1f00
    0x000000fc 1180 STH R1、[R2]
    0x000000fe Dff8bc13 LDR.w R1、[0x000004c2] ;[0x4c0:4]=0x432a0494
    0x00000102 0968 LDR R1、[R1]
    0x00000104 8907 Lls R1、R1、0x1E
    =< 0x00000106 4fbf 我的套房
    `-> 0x00000108 40f04060 ORR r0、r0、0xc000000
    0x0000010c 0021. MOV R1、0
    0x0000010e DFF8b023 LDR.w R2、[0x000004c6] ;[0x4c4:4]=0x43200000
    0x00000112 1160 STR R1、[R2]
    0x00000114 Dff8ac13. LDR.w R1、[0x000004c8] ;[0x4c8:4]=0x400ca000
    0x00000118 c0f3c062 ubfx R2、r0、0x1b、1
    0x0000011c 82f00102 EOR R2、R2、1
    0x00000120 c0f38060 ubfx r0、r0、0x1a、1
    0x00000124 0a60 STR R2、[R1]
    0x00000126 80f00100 EOR r0、r0、1
    0x0000012a 8860 STR r0、[R1、8]
    0x0000012c 7047. BX LR
    0x0000012e 70b5. 按{R4、R5、R6、LR}
    0x00000130 0546 MOV R5、r0
    0x00000132 82b0 SUB、8.
    0x00000134 0846 MOV r0、R1
    0x00000136 00f0eef8. BL 0x316
    0x0000013a 0246 MOV R2、r0
    0x0000013c Dff88843 LDR.w R4、[0x000004cc] ;[0x4cc:4]=0x50001370
    0x00000140 1821. MOV R1、0x18
    0x00000142 00f060f8 BL 0x206
    0x00000146 00f012f9. BL 0x36e
    0x0000014a 80b2. uxth r0、r0
    0x0000014c 0090 STR r0、[sp]
    0x0000014e 0023. MOV R3、0
    0x00000150 40f2ff32. MOVw R2、0x3ff
    0x00000154 2c21. MOV R1、0x2C ;'、'
    0x00000156 2046 MOV r0、R4
    0x00000158 00f031fa BL 0x5be
    0x0000015c Dff86c63 LDR.w R6、[0x000004d0] ;[0x4d0:4]=0xfcFFFF
    0x00000160 f068 LDR r0、[R6、0xc]
    0x00000162 c0f30d02 ubfx R2、r0、0、0xe
    0x00000166 1c21. MOV R1、0x1c
    0x00000168 00f04df8 BL 0x206
    0x0000016c 7068 LDR r0、[R6、4]
    0x0000016e 00f0fc32 和 R2、r0、0xfcfcfcfcfcc




    继续下去,我没有找到传统知识的一代。

    我将感谢您的回答。

    最棒的

    圣地亚哥。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    圣地亚哥

    因此、如果您没有项目的符号、则无法将十六进制转换为 C。

    也就是说、您可以查看 BLE Stack 2.2.2以查看 sensortag 项目的 c 代码。
    C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650stk\sensortag

    LTK 是根据规格生成的。 您可以在 BLE Spec 5.0第3卷第 H 部分的安全管理器部分中阅读该内容