Titre : les inconvénients de l’analyse STATIQUE 7 : toutes plateformes confondues 11 : a été fait 12 : leurs propres difficultés 12 : par exemple 13 : les applications sont distribuées 13 : lui-même 17 : peuvent être utilisés 19 : très 20 : grosses 21 : développés 22 : exemple 24 : s’il existe 27 : difficiles à utiliser 27 : s’ils fonctionnent 28 : construites 29 : de vraies applications 29 : cela pose 29 : À quel point, avec un accent sur le A majuscule, mais ce n’est pas obligatoire 30 : sont-ils utilisables 33 : pendant son exécution 33 : ses faiblesses (c’est rigolo tu as fait moitié-moitié, genre « je ne sais pas me décider entre ces et ses donc au moins y en aura un de bon) 33 : certains problèmes 34 : associés 36 : prévus 36 : a hérité 37 : utilise 38 : utilisé 39 : disponible 40 : initialement 40 : à l’analyse dynamique 40 : il semblerait 41 : souvent 42 : dans son ensemble 42 : détaillée 42 : mécanisme 44 : est-ce qu’il 48 : « une référence vers méthode » : c’est peut-être une expression informatique spécifique mais si ce n’est pas le cas il faudrait mettre un déterminant à méthode (la méthode, une méthode…) 50 : quand elle ne l’est pas 50 : e.g. est de l’anglais, en français ce serait plutôt par ex. 50 : la chaine est envoyée 51 : exécution 51 : ou elle est stockée : orthographié ainsi c’est le « ou » de « ou bien » de la disjonction de cas, sinon il faut un accent : où 51 : elle est stockée, chiffrée, et n’est déchiffrée qu’au dernier moment 53 : les méthodes appelées 54 : je mettrais plutôt : il n’existe pas de solution standard 54 : analysise c’est un terme technique ou bien tu voulais dire analyse ? 55 : son entièreté 55 : Certaines 56 : ingénierie 58 : prometteuse 58 : utiliser 59 : réflexion 59 : les informations collectées 60 : analyse statique 61 : analyse statique 65 : considérer 67 : échouent à calculer 69 : encore 70 : raisonnable 71 : évolue-t-elle 71 : analyse 72 : publié : si c’est les applications, alors : publiées 72 : d’écart 73 : est-ce que 73 : analyse 73 : bénigne (sauf si c’est un terme spécifique) 79 : compilées 80 : sélectionné 80 : certains outils 81 : maintenus 81 : suite à 83 : que nous avons trouvé 86 : nous-même (ou nous-mêmes, c’est assez fourbe, si tu utilises le « nous » de majesté pour parler uniquement de toi, alors c’est « nous-même », mais si tu utilises « nous » pour parler de toi et ton équipe, alors c’est « nous-mêmes ») 89 : exécution 90 : montrent 91 : réussie 92 : plus d’une heure à finir 92 : avortée 93 : ne s’en sortent 93 : « pas trop mal » ce n’est pas très distingué, enfin c’est toi qui vois 95 : résultats 96 : d’autres outils avec un résultat acceptable 97 : permettent 97 : à la notre première question : il faut choisir ! 99 : « que nous avons pu lancer » ? « que nous avons peu lancé » ? Tableau 1 : Dédié à la sécurisation d'Android Tableau 1 : ne compile pas Tableau 1 : décision 100 : étudié 100 : au cours des ans 100 : La Fig.3 101 : codés 101 : une tendance générale 102 : diminue 103 : responsables 103 : exemple 104 : ont évolué Tableau 2 : Auteurs contactés ou Auteur contacté mais pas un mélange des deux Tableau 2 : version sélectionnée et environnement d’exécution 107-110 : répétition de 103-106 111-112 : phrase douteuse, il manque un sujet et un verbe 112 : exemple 113 : publication 115 : conclu 116 : diminue 120 : bénignes (sauf si c’est un terme technique spécifique) 120 : semblent Fig.3 : au cours des ans 121 : analysés 122 : il semblerait 123 : à taille égale 124 : à notre 124 : causent 124 : erreurs 126 : réponse 127 : c’est dû 128 : incapacité ? 128 : dû 128 : faible 129 : montrent 130 : difficiles 132 : les analyseurs statiques (à moins que ce ne soit un terme technique issu de l’anglais) 135 : multiples 138 : utilisée 139 : dont Android a hérité 140 : souvent 141 : à chaque fois 141 : utilisée 143 : au travers du mécanisme 144 : mécanisme 144 : différentes sources 145 : classe ? 146 : va utiliser / utilise 148 : différents ClassLoader 148 : d’interagir 148 : implémentent 148 : un mécanisme 150 : si la classe n’est pas trouvée 152 : exception 154 : de chaque classe 155 : une nouvelle classe 157 : exécuter 159 : besoin 159 : instanciés 163 : elle est utilisée 163 : plateforme 164 : sans qu’elles ne soient présentes 165 : séparées 167 : elles sont documentées et couramment utilisées 168 : utilisées 169 : supposées 169 : documentées 170 : empêcher 170 : développeurs 172 : inaccessibles 173 : tous les ClassLoader définis / toutes les ClassLoader définies 174 : plateforme 174 : pas défini 175 : quand sa valeur 176 : défaut 177 : utilisée 177 : stockées 177 : en définit deux 179 : le chargeur par défaut (répétition de « le ») 179 : le processus principal 181 : les classes contenues 182 : codées 183 : à considérer 185 : Android utilise a introduit : l’un ou l’autre, mais pas les deux 187 : « le point est que si Android machin » : soit tu dis « le point est que Android machin », soit il manque la fin de la phrase (si Android machin, alors truc) 189 : implémentation 191 : utilisée 193 : avoir étudié 195 : en premier lieu 196 : évident (et non, c’est pas évident, en tout cas pas pour moi) 198 : sélectionnées 198 : non trivial 198 : à la première 199 : suivi de 201 : la limite est très élevée 202 : que la classe n’est pas trouvée 203 : par exemple 208 : cet algorithme 208 : plusieurs méthodes 209 : la classe utilisée est masquée 210 : une autre implémentation fournie par le développeur Code 1 : classe par défaut 211 : cette stratégie peut être étendue 211 : à une approche 211 : différents 216 : sélectionnent ? 216-217 : la classe sélectionnée ne sera pas celle utilisée 218 : le développeur 218 : inclut 219 : une classe du KDL ou une classe de KDL mais pas les deux en même temps 219 : un outil 219 : plateformes 220 : ne les connaît pas 222 : nous distinguons 223 : n’étant pas documentés 223 : capables 225 : l’impact (et d’ailleurs, plutôt, l’effet ; en français un impact c’est un truc qui cogne) 225 : outils d’analyse Android courants 227 : décompilateur 228 : sélectionner Tableau 3 : « un avertissement est émis ou les plusieurs classes sont visibles » : pas clair 230 : l’analyste 231 : les analyses plus poussées 232 : aucun de ces trois outils 232 : qu’une classe est déjà définie 235 : intéressant 235 : de noter que Soot ? 236 : a bien 237 : cet algorithme 237 : celui d’Android 237 : commençant 238 : priorisés 238 : contenues 239 : classses0.dex : est-ce normal qu’il y ait trois s à classses ? 239 : priorisées 240 : à la technique 243 : nous comparons 246 : concernées 246 : introduites 246 : la version minimale 247 : rajoutées 247 : permettre à l’application 248 : des versions 248 : n’existent pas 249 : pointer 249 : erreurs Tableau 4 : classes masquées 251 : ces différences viennent 251 : par exemple 252 : deux registres, ce qui n’a aucun impact sur l’exécution du code). 254 : en revanche 254 : cette situation se produit naturellement 256 : cela répond à 261 : l’application elle-même 261 : transmettre 262 : permettre 263 : d’applications 263, 266 : réflexion 266 : des méthodes arbitraires 270 : peuvent être obtenus 270 : de multiples façons différentes 271 : ces objets 272 : à différents moments 272 : différentes méthodes 273 : « sera toujours au meilleur effort » : j’ai pas compris 273 : réflexion 274 : des méthodes appelées 274 : par exemple 275 : une application qui appelle par réflexion une méthode dont le nom est obtenu 277 : exhaustive (mais celle-là je te pardonne) 277 : qui peuvent être utilisées 279 : qu’elle peut être appelée 279 : correspond à cette méthode 280 : la méthode est appelée 281 : l’instruction appropriée 281 : aucune méthode connue 282 : réflexion 283 : nous avons conclu 284 : ajouter à l’application 285 : certaines classes contenues 286 : que nous injectons 286 : sont déjà présentes 287 : de sorte à reproduire 290 : appelle deux méthodes 291 : chargeurs de classes différents 291 : nous ne sommes pas 292 : les deux appels ? 293 : ce qui devrait 295 : pour pouvoir 295 : certaines informations 296 : des méthodes appelées 296 : ainsi que 298 : un outil 298 : d’injecter 298 : exécutées 299 : Nous avons choisi d’injecter 300 : plateformes, réflexion 302 : un peu moins évident 302 : de multiples façons 303 : nous avons finalement choisi 305 : appelées 305-306 : « pour charger analyser en charger » : pas compris mais il y a un problème 306 : nous avons réutilisé 307 : une partie 307 : un outil dédié à 308 : publiés en 2023 : tu parles du jeu d’applications ou des applications ? Dans les deux cas l’accord est incorrect 309 : environnement 310 : insuffisant 310 : visitées 310 : malgré tout 312 : parmi ces fichiers 313 : analytique 313 : seuls 13 fichiers 314 : parmi 315 : ces fichiers restants 315 : les utilisant 316 : bancaires 318 : des applications modifiées 319 : « comparer leur taux de finition comparé à taux » : pas compris 319 : sur les applications initiales 323 : utilisant 324 : par exemple 324 : que l’application (répétition de « que ») 325 : chiffrés si ce sont les caractères qui sont chiffrés, chiffrées si ce sont les chaines 325 : le nom 326 : après avoir lancé 330 : l’application modifiée 332 : les données qui lui sont passées 332 : devrait 333 : calcule 335 : l’application modifiée 335 : calcule 335 : la fuite de données 336 : Bien que nous n’ayons pas pu tester ? 336 : dû 338 : transmettre 338 : à des outils