Reverse engineering
-
Upload
lalu -
Category
Engineering
-
view
377 -
download
1
Transcript of Reverse engineering
![Page 1: Reverse engineering](https://reader036.fdocuments.net/reader036/viewer/2022081422/587bc19a1a28ab6c3c8b4623/html5/thumbnails/1.jpg)
Laura Barilli [email protected] Cucugliato [email protected]
Thursday, April 12, 2016
Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria (DEIB)
NECST lab, Via Ponzio, Building 20
Reverse engineering
![Page 2: Reverse engineering](https://reader036.fdocuments.net/reader036/viewer/2022081422/587bc19a1a28ab6c3c8b4623/html5/thumbnails/2.jpg)
Reverse Engineering
Open source codeProcessed data
1
![Page 3: Reverse engineering](https://reader036.fdocuments.net/reader036/viewer/2022081422/587bc19a1a28ab6c3c8b4623/html5/thumbnails/3.jpg)
Classes
AttributesMethods
Objects
P1 P2
Swift
[*] https://www.xcoding.it 2
[*]
![Page 4: Reverse engineering](https://reader036.fdocuments.net/reader036/viewer/2022081422/587bc19a1a28ab6c3c8b4623/html5/thumbnails/4.jpg)
Classes
AttributesMethods
Objects
Swift
View Controller Model
CodeAccording to the output of view it
chages execution
Preservation of information
User interface
[*] https://developer.apple.com/swift/ 3
[*]
![Page 5: Reverse engineering](https://reader036.fdocuments.net/reader036/viewer/2022081422/587bc19a1a28ab6c3c8b4623/html5/thumbnails/5.jpg)
Bluetooth Low Energy
[*] https://learn.adafruit.com/introduction-to-bluetooth-low-energy/introduction 4
[*]
Bluetooth Smart
Power version of Bluetooth that was built for the devices that run for long periods
Platform supported•iOS5+•Android 4.3+•Apple OS X 10.6+•Windows 8 •GNU/Linux Vanilla BlueZ 4.93+
![Page 6: Reverse engineering](https://reader036.fdocuments.net/reader036/viewer/2022081422/587bc19a1a28ab6c3c8b4623/html5/thumbnails/6.jpg)
CB Core Bluetooth
There are two major players involved in all Bluetooth low energy communication:central and peripheral
https://developer.apple.com/ 4
Smartphone Device
• CB Central Manager: object that controls and manages the Bluetooth of the iPhone
• Core Bluetooth: Library that manages bluetooth connection
![Page 7: Reverse engineering](https://reader036.fdocuments.net/reader036/viewer/2022081422/587bc19a1a28ab6c3c8b4623/html5/thumbnails/7.jpg)
Peripheral
CB Central Manager
Service 1
Characteristic
Characteristic
Characteristic
Service 2
Characteristic
Characteristic
Characteristic
Service 3
Characteristic
Characteristic
Characteristic
Central Device Central Device
Service 4
Characteristic
Characteristic
Characteristic
https://developer.apple.com/ 5
![Page 8: Reverse engineering](https://reader036.fdocuments.net/reader036/viewer/2022081422/587bc19a1a28ab6c3c8b4623/html5/thumbnails/8.jpg)
Peripheral
CB Central Manager
Heart Rate
Characteristic
Characteristic
Characteristic
Vibration
Characteristic
Characteristic
Characteristic
Steps
Characteristic
Characteristic
Characteristic
Central Device Central Device
Upgrade
Characteristic
Characteristic
Characteristic
https://developer.apple.com/ 5
![Page 9: Reverse engineering](https://reader036.fdocuments.net/reader036/viewer/2022081422/587bc19a1a28ab6c3c8b4623/html5/thumbnails/9.jpg)
Peripheral
CB Central Manager
HEART RATE
Characteristic
Characteristic
Characteristic
Vibration
Characteristic
Characteristic
Characteristic
Steps
Characteristic
Characteristic
Characteristic
Central Device Central Device
Upgrade
Characteristic
Characteristic
Characteristic
https://developer.apple.com/ 5
![Page 10: Reverse engineering](https://reader036.fdocuments.net/reader036/viewer/2022081422/587bc19a1a28ab6c3c8b4623/html5/thumbnails/10.jpg)
Overview of code
APP
Initialization and allocation of Central Manager
Research peripherals
Find peripherals?
Research Services
Find services?
Research characteristics
HEART RATE
YES
NO
YES
NO
6
![Page 11: Reverse engineering](https://reader036.fdocuments.net/reader036/viewer/2022081422/587bc19a1a28ab6c3c8b4623/html5/thumbnails/11.jpg)
Allocate and initialize a Central Manager instance
Verify the state of Central Manager
Central Manager
7
![Page 12: Reverse engineering](https://reader036.fdocuments.net/reader036/viewer/2022081422/587bc19a1a28ab6c3c8b4623/html5/thumbnails/12.jpg)
Peripherals
Interface view
Mi
Controller
Every peripheral is saved in an array which is shown on the Table View
8
![Page 13: Reverse engineering](https://reader036.fdocuments.net/reader036/viewer/2022081422/587bc19a1a28ab6c3c8b4623/html5/thumbnails/13.jpg)
Services
UUID: Universally Unique Identifier
Numbers which identificate a specific service
Standard services have a 16-bit UUID
9
![Page 14: Reverse engineering](https://reader036.fdocuments.net/reader036/viewer/2022081422/587bc19a1a28ab6c3c8b4623/html5/thumbnails/14.jpg)
Heart Rate Service
Assigned Number: 0x180D Two characteristics: 2A37 and 2A39
10
The Heart Rate Service shows heart rate and other data related to a heart rate sensor
PPG sensor Bpm
![Page 15: Reverse engineering](https://reader036.fdocuments.net/reader036/viewer/2022081422/587bc19a1a28ab6c3c8b4623/html5/thumbnails/15.jpg)
Results
MiHeart
11
![Page 16: Reverse engineering](https://reader036.fdocuments.net/reader036/viewer/2022081422/587bc19a1a28ab6c3c8b4623/html5/thumbnails/16.jpg)
Contacts
Reverse Engineering of Biomedical Elaborated Signal
[email protected]@mail.polimi.it
https://www.facebook.com/reebes.project2016/
12