WIPO logo
Mobile | Deutsch | English | Español | 日本語 | 한국어 | Português | Русский | 中文 | العربية |
PATENTSCOPE

Recherche dans les collections de brevets nationales et internationales
World Intellectual Property Organization
Recherche
 
Options de navigation
 
Traduction
 
Options
 
Quoi de neuf
 
Connexion
 
Aide
 
Traduction automatique
1. (WO2010020603) PROCÉDÉ ET DISPOSITIF D'OBSCURCISSEMENT DE CODE
Dernières données bibliographiques dont dispose le Bureau international   

N° de publication :    WO/2010/020603    N° de la demande internationale :    PCT/EP2009/060596
Date de publication : 25.02.2010 Date de dépôt international : 17.08.2009
CIB :
G06F 21/14 (2013.01)
Déposants : THOMSON LICENSING [FR/FR]; 46 Quai Alphonse Le Gallo F-92100 Boulogne Billancourt (FR) (Tous Sauf US).
MONSIFROT, Antoine [FR/FR]; (FR) (US Seulement).
LAHOUDERE, Fabien [FR/FR]; (FR) (US Seulement)
Inventeurs : MONSIFROT, Antoine; (FR).
LAHOUDERE, Fabien; (FR)
Mandataire : BERTHIER, Karine; (FR)
Données relatives à la priorité :
08305495.7 21.08.2008 EP
08305736.4 27.10.2008 EP
Titre (EN) METHOD AND DEVICE FOR CODE OBFUSCATION
(FR) PROCÉDÉ ET DISPOSITIF D'OBSCURCISSEMENT DE CODE
Abrégé : front page image
(EN)Compiled computer code (300) comprising computer code instructions organised in a plurality of basic blocks (310-370) is obfuscated by replacing (410) a jump instruction in a first basic block (360; 370) with a function call with at least one parameter, wherein the function call when executed determines the address of the next function to execute in dependence on the parameter; inserting (440) into the compiled computer code (300) an instruction that allocates a value to the parameter, the value being such that the address determined by the function call corresponds to the address of the replace jump instruction. The allocation function is inserted into the computer code in a second basic block (320-350), different from the first basic block (360; 370), preferably using information from a control flow graph (CFG). This can ensure that the obfuscated code cannot be disassembled without information from the CFG, while the CFG cannot be generated from the obfuscated code. Also provided is a device for code obfuscation.
(FR)Selon l'invention, un code d'ordinateur compilé (300) comprenant des instructions de code d'ordinateur organisées en une pluralité de blocs basiques (310-370) est obscurci en remplaçant (410) une instruction de saut dans un premier bloc basique (360 ; 370) par un appel de fonction comportant au moins un paramètre, l'appel de fonction, lorsqu'il est exécuté, déterminant l'adresse de la fonction suivante à exécuter en fonction du paramètre ; en introduisant (440) dans le code d'ordinateur compilé (300) une instruction qui alloue une valeur au paramètre, la valeur étant telle que l'adresse déterminée par l'appel de fonction correspond à l'adresse de l'instruction de saut remplacée. La fonction d'allocation est introduite à l'intérieur du code d'ordinateur dans un second bloc basique (320-350), différent du premier bloc basique (360 ; 370), de préférence à l'aide d'informations provenant d'un graphe de flux de commande (CFG). Ceci peut garantir que le code obscurci ne peut pas être désassemblé sans information provenant du CFG, tandis que le CFG ne peut pas être généré à partir du code obscurci. L'invention porte également sur un dispositif d'obscurcissement de code.
États désignés : AE, AG, AL, AM, AO, AT, AU, AZ, BA, BB, BG, BH, BR, BW, BY, BZ, CA, CH, CL, CN, CO, CR, CU, CZ, DE, DK, DM, DO, DZ, EC, EE, EG, ES, FI, GB, GD, GE, GH, GM, GT, HN, HR, HU, ID, IL, IN, IS, JP, KE, KG, KM, KN, KP, KR, KZ, LA, LC, LK, LR, LS, LT, LU, LY, MA, MD, ME, MG, MK, MN, MW, MX, MY, MZ, NA, NG, NI, NO, NZ, OM, PE, PG, PH, PL, PT, RO, RS, RU, SC, SD, SE, SG, SK, SL, SM, ST, SV, SY, TJ, TM, TN, TR, TT, TZ, UA, UG, US, UZ, VC, VN, ZA, ZM, ZW.
Organisation régionale africaine de la propriété intellectuelle (ARIPO) (BW, GH, GM, KE, LS, MW, MZ, NA, SD, SL, SZ, TZ, UG, ZM, ZW)
Office eurasien des brevets (OEAB) (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM)
Office européen des brevets (OEB) (AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IS, IT, LT, LU, LV, MC, MK, MT, NL, NO, PL, PT, RO, SE, SI, SK, SM, TR)
Organisation africaine de la propriété intellectuelle (OAPI) (BF, BJ, CF, CG, CI, CM, GA, GN, GQ, GW, ML, MR, NE, SN, TD, TG).
Langue de publication : anglais (EN)
Langue de dépôt : anglais (EN)