reverse engineering

16
Laura Barilli [email protected] Luisa Cucugliato [email protected] Thursday, April 12, 2016 Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria (DEIB) NECST lab, Via Ponzio, Building Reverse engineering

Upload: lalu

Post on 15-Apr-2017

376 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: Reverse engineering

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

Reverse Engineering

Open source codeProcessed data

1

Page 3: Reverse engineering

Classes

AttributesMethods

Objects

P1 P2

Swift

[*] https://www.xcoding.it 2

[*]

Page 4: Reverse engineering

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

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

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

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

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

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

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

Allocate and initialize a Central Manager instance

Verify the state of Central Manager

Central Manager

7

Page 12: Reverse engineering

Peripherals

Interface view

Mi

Controller

Every peripheral is saved in an array which is shown on the Table View

8

Page 13: Reverse engineering

Services

UUID: Universally Unique Identifier

Numbers which identificate a specific service

Standard services have a 16-bit UUID 

9

Page 14: Reverse engineering

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

Results

MiHeart

11

Page 16: Reverse engineering

Contacts

Reverse Engineering of Biomedical Elaborated Signal

[email protected]@mail.polimi.it

https://www.facebook.com/reebes.project2016/

12