This commit is contained in:
parent
de6359db3f
commit
7a80f1fea6
5 changed files with 511 additions and 23 deletions
92
slides.typ
92
slides.typ
|
|
@ -27,7 +27,7 @@
|
|||
aspect-ratio : "16-9",
|
||||
title : [From Large Scale Analysis to Dynamic Deobfuscation],
|
||||
subtitle : [The Woes of Android Reverse Engineering],
|
||||
footer-text : [Jean-Marie Mineau PhD Defense],
|
||||
footer-text : [Jean-Marie Mineau -- PhD Defense],
|
||||
//short-event : [Rennes, 2025/12/9],
|
||||
title-size : 32pt,
|
||||
section-size : 18pt,
|
||||
|
|
@ -715,15 +715,44 @@
|
|||
}
|
||||
|
||||
#slide(
|
||||
title: [Android ClassLoaders], // TODO CHANGE DRAWING
|
||||
foreground: rotate(30deg, text(fill: pirat-color.red, size: 50pt)[DESSIN RUNTIME CL \ \ WITH DELEGATION])
|
||||
)[
|
||||
/*
|
||||
#set align(center+horizon)
|
||||
#show figure.caption: none
|
||||
#scale(60%, reflow: true, get_figure(<fig:cl-class_loading_classes>))
|
||||
*/
|
||||
]
|
||||
title: [Android ClassLoaders],
|
||||
foreground: {
|
||||
//rotate(30deg, text(fill: pirat-color.red, size: 50pt)[DESSIN RUNTIME CL \ \ WITH DELEGATION])
|
||||
let stroke = black + 3pt
|
||||
let y0 = 170pt
|
||||
let y1 = 270pt
|
||||
let x0 = 250pt
|
||||
let x1 = 292pt
|
||||
let x2 = 550pt
|
||||
let x3 = 600pt
|
||||
place(bottom+left, line(start: (x0, -y0), end: (x0, -y1), stroke: stroke))
|
||||
place(bottom+left, line(start: (x3, -y0), end: (x3, -y1), stroke: stroke))
|
||||
arrow((x0, y1), (x1, y1), strk: stroke)
|
||||
arrow((x3, y1), (x2, y1), strk: stroke)
|
||||
place-fg(x: x0 - 2.5em, y: (y0+y1)/2)[Delegate]
|
||||
place-fg(x: x3 + 2.5em, y: (y0+y1)/2)[Delegate]
|
||||
}, {
|
||||
set align(center+horizon)
|
||||
set rect(width: 250pt, height: 75pt, radius: 20pt, inset: 20pt)
|
||||
|
||||
v(1fr)
|
||||
|
||||
rect()[Boot Class Loader]
|
||||
|
||||
v(1fr)
|
||||
|
||||
stack(
|
||||
dir: ltr,
|
||||
1fr,
|
||||
rect()[System Class Loader],
|
||||
1fr,
|
||||
rect()[APK Class Loader],
|
||||
1fr,
|
||||
)
|
||||
|
||||
v(1fr)
|
||||
|
||||
})
|
||||
|
||||
#slide(
|
||||
title: [MultiDex]
|
||||
|
|
@ -1115,7 +1144,15 @@
|
|||
|
||||
#slide(
|
||||
title: [Transformation: Dynamic Code Loading],
|
||||
foreground: ghost-6(x: 80%, y: 15%, mirror: true)
|
||||
foreground: {
|
||||
ghost-6(x: 80%, y: 15%, mirror: true)
|
||||
align(horizon+center, line(length: 80%, stroke: (thickness: 3pt, dash: (10pt, 5pt))))
|
||||
place(horizon+right, dx: -1em)[
|
||||
Collected at Runtime
|
||||
|
||||
Patched Application
|
||||
]
|
||||
}
|
||||
)[
|
||||
// Split schema: observed dyn code loaded / new apk
|
||||
#set align(center+horizon)
|
||||
|
|
@ -1237,6 +1274,11 @@
|
|||
]
|
||||
}
|
||||
|
||||
#slide(
|
||||
foreground: rotate(30deg, text(fill: pirat-color.red, size: 50pt)[Overview Dessin]),
|
||||
)[]
|
||||
|
||||
#counter("logical-slide").update( n => n - 1 )
|
||||
#slide(
|
||||
title: [Dynamic Analysis],
|
||||
foreground: ghost-1(x: 97%, y: 10%, height: 70pt)
|
||||
|
|
@ -1283,8 +1325,12 @@
|
|||
|
||||
// TODO schema!!!
|
||||
|
||||
#slide(
|
||||
foreground: rotate(30deg, text(fill: pirat-color.red, size: 50pt)[Overview Dessin]),
|
||||
)[]
|
||||
|
||||
#for i in range(3) {
|
||||
if i != 0 { counter("logical-slide").update( n => n - 1 ) }
|
||||
counter("logical-slide").update( n => n - 1 )
|
||||
|
||||
slide(
|
||||
title: [Added Method Calls],
|
||||
|
|
@ -1311,7 +1357,7 @@
|
|||
]
|
||||
}
|
||||
|
||||
// TODO: Remove?
|
||||
/*
|
||||
#slide(
|
||||
title: [Toy Example: New Call Graph],
|
||||
foreground: ghost-3(x: 93%, y: 10%)
|
||||
|
|
@ -1325,16 +1371,22 @@
|
|||
labels: (name) => { move(dy: -7pt, scale(140%, text(size: 10pt, weight: "bold", name))) }
|
||||
)))
|
||||
]
|
||||
*/
|
||||
|
||||
#slide(
|
||||
title: [Impact on Finishing Rate],
|
||||
foreground: {
|
||||
let strk = 3pt + pirat-color.blue
|
||||
arrow((360pt, 330pt), (380pt, 310pt), strk: strk)
|
||||
arrow((420pt, 330pt), (400pt, 310pt), strk: strk)
|
||||
}
|
||||
)[
|
||||
#set align(center+horizon)
|
||||
#show figure.caption: none
|
||||
#scale(90%, reflow: true, get_figure(<fig:th-status-npatched-vs-patched>))
|
||||
// TODO: Fleche original
|
||||
// TODO: Fleche theseus
|
||||
//
|
||||
|
||||
Original #h(2em) Transformed
|
||||
|
||||
#box(width: 80%, get_figure(<fig:th-status-npatched-vs-patched>))
|
||||
]
|
||||
|
||||
#slide(
|
||||
|
|
@ -1428,12 +1480,6 @@
|
|||
* - slide text bof
|
||||
* - Parti 3: plus dure a comprendre
|
||||
* - Expliquer ce qui est fait avant le résultat (surtout parti 3)
|
||||
* - 'Analysing Applications: Which Tools?': 1 - 2 bof
|
||||
* plus décrire les papier avec des bullets + limites, *critiquer*
|
||||
* 1) test pas les outils
|
||||
* 2) a l'air de dire que ca marche pas, mais pas a l'echelle
|
||||
* bascullement de which tools? a tester les outils, on est pas sur que les outils fonctionne
|
||||
*
|
||||
*
|
||||
* slite titre problemenatiques: PB1, PB2 PB3
|
||||
*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue