United States Patent 10,120,987
Monsifrot , et al. November 6, 2018
Device and method for executing protected iOS software modules
Abstract
A device comprising a hardware processor and memory storing an application of an application package comprising a first version and a second version of the application, the first version being intended to be executed on a genuine device and the second version on a jailbroken device. The hardware processor determines a jailbreak status of the device, i.e. genuine or jailbroken and derives a key based on at least the jailbreak status. In case the device is genuine, the hardware processor deciphers using the key at least a first part of the first version and executes, the first version using the first deciphered part, for example a jump table used to execute CFG flattened code. In case the jailbreak status is jailbroken, the hardware processor deciphers using the key at least a first part of the second version and executes the second version using the second deciphered part, for example comprising executable instructions.
Inventors:
Monsifrot; Antoine (Rennes, FR), Salmon-Legagneur; Charles (Rennes, FR), Durand; Alain (Rennes, FR)
Applicant:
Name
City
State
Country
Type
THOMSON LICENSING
Issy les Moulineaux
N/A
FR
Assignee:
INTERDIGITAL CE PATENT HOLDINGS (Paris, FR)
Family ID:
1000003632939
Appl. No.:
15/374,372
Filed:
December 9, 2016
Prior Publication Data
Document Identifier
Publication Date
US 20170169196 A1 Jun 15, 2017
Foreign Application Priority Data
Dec 10, 2015 [EP] 15306971
Current U.S. Class: 1/1
Current CPC Class: G06F 8/71 (20130101); G06F 21/14 (20130101)
Current International Class: G06F 21/14 (20130101); G06F 8/71 (20180101)
PPP