#import "@preview/polylux:0.4.0": * #import "slides/lib.typ": * #set text(lang: "en") #set list(marker: none) #show: sns-polylux-template.with( txt-font: "New Computer Modern", title-font: "TeX Gyre Heros", aspect-ratio : "16-9", title : [From Large Scale Analysis to Dynamic Deobfuscation], subtitle : [The Woes of Android Reverse Engineering], event : [], //[PhD Defense], short-title : [], //[PhD Defense], //short-event : [Rennes, 2025/12/9], title-size : 32pt, section-size : 18pt, size : 22pt, //logo-1 : image("slides/imgs/logo_irisa.png"), //logo-2 : image("slides/imgs/logo_pirat.png"), // colormap : sns-polylux-template_sns-pirat, authors : ( { set text(weight: "bold") [MINEAU Jean-Marie] v(1em) }, [LALANDE Jean-François, PhD supervisor], [VIET TRIEM TONG Valérie, PhD co-supervisor] ), date : datetime(year: 2025, month: 12, day: 9), ) /* * Intro: * Dear jury, gentle people of the audience, here and online, thank you for your presence. * I am Jean-Marie Mineau, and today I will be defending my thesis about Android Application reverse engineering and the many difficulties a reverse engineer might encounter. * This thesis was suppervised by Jean-François Lalande and Valerie Viet Triem Tong, within the PIRAT research team at IRISA. */ #title-slide( logo: grid(columns: 2, image("slides/imgs/logo_pirat.png"), image(width: 500pt, "slides/imgs/logo_cs.png"), image("slides/imgs/logo_irisa.png"), image("slides/imgs/platypus.png"), ) ) #slide( new-sec: true, title: [Introduction], hide-title: true, /*foreground: { ghost-5(x: 10%, y: 30pt) ghost-4(x: 95%, y: 80%) //ghost-4(x: 45%, y: 43%) }*/ )[ #set align(center+horizon) #grid( columns: (1fr, 1fr), image("slides/imgs/google.png", width: 200pt), image("slides/imgs/phone.png", height: 350pt) ) #v(2em) ] #slide( foreground: ghost-4(x: 60%, y: 25%, rot: 45deg) )[ #set align(center+horizon) #grid( columns: (3fr, 2fr), stack(dir: ltr, item-by-item[ - Personal Data and PII - Computing Power - Phone - Mic, Camera, \ Geolocalisation ], [ $ => $ ], item-by-item()[ - Ransomware/Spyware - Cryptojacker - Expander (phone billing) - Stalkerware ] ), { move(dx: 20pt, image("slides/imgs/phone.png", height: 350pt)) } ) ] #slide( title: [Analysing Applications: Which Tools?], foreground: eye-3(x: 3%, y: 5%) )[ #set align(center+horizon) #move(dx: -50pt, image("slides/imgs/apk-analysis.svg", width: 300pt)) ] // something is broken, so hack to keep the page number at the same #counter("logical-slide").update( n => n - 1 ) #slide( title: [Analysing Applications: Which Tools?], )[ #set list(spacing: 3em) #item-by-item[ - #cite(, form: "prose"): systematic literature review for Android static analysis, lists open-sourced tools - #cite(, form: "prose"): tests analysis tools, raises concerns about reusability and analysis of real-world applications ] ] // something is broken, so hack to keep the page number at the same #counter("logical-slide").update( n => n - 1 ) #slide( title: [Analysing Applications: Which Tools?], )[ #highlight-block(pb1-text) ] #new-section-slide([Tool Reusability]) #slide[ Rasta 1 /* #stack(dir: ltr, scale(40%, reflow: true, get_figure()), scale(55%, reflow: true, get_figure()), )*/ ] #slide[ Rasta 2 ] #new-section-slide([Class Shadowing]) #slide[Shadow 1 ] #slide[Shadow 2 ] #slide[Shadow 3 ] #new-section-slide([The Application of Theseus]) #slide[Th 1 ] #slide[Th 2 ] #new-section-slide([Conclusion]) #slide[Conclusion 1 ] #slide[Conclusion 2 ] #empty-slide[ Questions ] /* #slide()[ #get_figure()) ] #slide()[ #pl.toolbox.slide-number #context({ pl.toolbox.all-sections((sections, current) => { for i in sections { repr(i.at("body").at("text")) } }) }) ] */ #pagebreak() #set page(height: auto, margin: 25mm) #bibliography("bibliography.bib")