第1章 基本概念 1
1.1 什么是硬件 1
1.2 什么是软件 1
1.3 硬件开发和软件开发 1
1.4 什么是BUG 2
1.5 硬件安全的意义 2
第2章 电子电路硬件基础常识 4
2.1 何谓电子元件 4
2.2 电路是什么 5
2.3 信号的概念 5
2.4 单片机VS.嵌入式 6
2.4.1 单片机 6
2.4.2 嵌入式 7
2.5 常用仪器设备及使用方法介绍 7
2.5.1 万用表的使用 7
2.5.2 焊接工具和使用技巧 13
2.5.3 分析测量工具 34
2.5.4 编程器 34
第3章 硬件常用的接口和分析工具 35
3.1 硬件常用接口 35
3.1.1 RS232 35
3.1.2 RS485/RS422 40
3.1.3 I2C/IIC 41
3.1.4 SPI 42
3.1.5 CAN 44
3.1.6 ModBus 46
3.1.7 ProFiBus 47
3.1.8 RJ45 48
3.1.9 特殊接口 49
3.2 硬件安全的NC:BusPirate 50
3.2.1 连接 50
3.2.2 基本命令 53
3.2.3 基本应用 64
3.2.4 其他功能 73
3.3 如何侦听修改数据 74
3.3.1 逻辑分析仪 74
3.3.2 示波器 85
3.3.3 编程器 88
3.3.4 SDR软件无线电 93
3.3.5 Internet和Packet Sniffer 94
3.3.6 实战:ThinkPad BIOS白名单破解 96
第4章 常见的智能硬件与无人机 109
4.1 常见的智能硬件 109
4.1.1 路由器 109
4.1.2 智能家居 111
4.1.3 智能摄像头 111
4.1.4 防范方法 113
4.1.5 心路纪事 113
4.2 无人机 113
4.2.1 认识GPS模块 116
4.2.2 数据格式 119
4.2.3 硬件工具 122
4.2.4 安全防范 125
4.2.5 遥控和图传 126
4.2.6 注意与警告 126
第5章 键盘侦听和USB安全 127
5.1 暗处的监察者:键盘Sniffer 127
5.1.1 硬件键盘记录器 127
5.1.2 PS/2键盘记录器的硬件实现原理 128
5.1.3 USB键盘记录器DIY 135
5.1.4 无线键鼠监听与劫持 153
5.1.5 经典案例之MouseJack 159
5.1.6 经典案例之Keykeriki 162
5.1.7 经典案例之KeySweeper 165
5.1.8 如何打造专属的工具 166
5.1.9 如何防御 171
5.2 Get USB的正确姿势 172
5.2.1 SyScan360 2013 Badge的隐藏功能 172
5.2.2 BadUSB 196
5.2.3 U盘量产 200
5.2.4 USB Killer 204
5.2.5 “黑寡妇”移动电源与WireLurker 206
5.2.6 USB安全注意事项 206
第6章 RFID、SIM和汽车安全 208
6.1 打造ID卡模拟器 208
6.1.1 RFID系统简介 208
6.1.2 物理层原理 210
6.1.3 通信协议标准 217
6.1.4 用Arduino克隆低频ID卡 222
6.1.5 用Arduino打造高频IC卡读卡器 227
6.1.6 程序附录 229
6.2 SIM卡安全杂谈 232
6.2.1 SIM卡的破解与克隆 233
6.2.2 漏洞卡诈骗与免流 237
6.3 汽车安全 237
6.3.1 ECU安全 238
6.3.2 OBD安全 239
6.3.3 CAN安全 240
6.3.4 T-Box安全 240
第7章 硬件设计软件EAGLE 241
7.1 为什么选择EAGLE 241
7.2 EAGLE的简介和安装 242
7.3 EAGLE的使用 244
7.3.1 EAGLE的基本菜单 244
7.3.2 元件库 249
7.3.3 文件格式 252
7.3.4 菜单按钮 252
7.3.5 命令 261
7.3.6 快捷键 294
7.3.7 配置文件 296
7.4 PCB设计的基本规则 297
7.4.1 元器件封装制作 298
7.4.2 PCB的布局 301
7.4.3 PCB的布线 301
7.5 小结 303
第8章 硬件加工生产指南 305
8.1 PCB的相关知识 305
8.1.1 PCB的结构 306
8.1.2 PCB的制作方法 308
8.1.3 PCB的生产流程 309
8.2 PCB的工程文件Gerber 311
8.2.1 什么是Gerber 312
8.2.2 为什么要用Gerber 312
8.3 如何导出Gerber文件 313
8.3.1 如何用EAGLE导出Gerber 313
8.3.2 如何用KiCAD导出Gerber 319
8.4 如何查看Gerber文件 325
8.4.1 用KiCAD查看Gerber文件 325
8.4.2 用ViewMate查看Gerber文件 328
8.4.3 用CAM350查看Gerber文件 334
8.4.4 小结 342
8.5 PCB制板厂的选择与投板 343
8.5.1 PCB制板厂的选择 343
8.5.2 PCB的工艺、拼版与钢网 343
8.5.3 PCB的收费标准和工期 348
8.5.4 PCB的投板流程 350
8.5.5 小结 363
8.6 元件采购的注意事项 364
8.6.1 规格书与封装 364
8.6.2 原新、散新与翻新 365
8.6.3 数量、价格和交期 368
8.6.4 批次、最小包装、样品与编带 370
8.6.5 一站式代购、配单 372
8.6.6 电子市场 372
8.6.7 BOM的导出与整理 372
8.6.8 小结 377
8.7 SMT焊接介绍 377
8.7.1 SMT的加工流程 378
8.7.2 SMT的收费标准 379
8.7.3 钢网与坐标文件 381
8.7.4 小结 384
第9章 打造专属硬件工具 385
9.1 DIY HackNet 385
9.1.1 硬件原理 387
9.1.2 硬件选型 388
9.1.3 封装与PCB设计 388
9.1.4 PCB的加工 411
9.1.5 焊接调试 413
9.2 铸造ID Simulator 414
9.2.1 硬件原理 415
9.2.2 硬件选型 415
9.2.3 设计PCB 418
9.2.4 加工PCB 418
9.2.5 焊接调试 419
9.2.6 小结 421
9.3 如何选择硬件方案 421
9.3.1 方案公司、ODM与OEM 421
9.3.2 常见的芯片厂商 422
9.3.3 选型的方法、模块与核心板 430
9.3.4 项目实施过程 434
9.3.5 小结 435
9.4 个性USB名片 435
9.4.1 设计原理 436
9.4.2 PCB设计 437
9.4.3 固件代码 438
9.5 私人定制版大黄鸭 438
9.5.1 Teensy、大黄鸭、烤鹅与BadUSB 438
9.5.2 方案规划 440
9.5.3 设计方法及FAE的重要性 444
9.5.4 难点和重点 446
9.6 超级大菠萝 447
9.6.1 方案规划 447
9.6.2 实施方案 447
9.6.3 小结 452
9.7 论外壳包装的重要性 454
9.7.1 外壳ID设计 454
9.7.2 手板、开模与量产 454
9.7.3 3D打印技术 455
9.7.4 小结 463
后记 464