일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 안티디버깅
- TLS
- LLVM 난독화
- so inject
- LLVM Obfuscator
- initial-exec
- OSR
- Linux packer
- LLVM
- linux thread
- Injection
- v8 tracing
- linux debugging
- android inject
- thread local storage
- pthread
- anti debugging
- custom packer
- tracing
- v8 optimizing
- tracerpid
- Obfuscator
- apm
- Linux custom packer
- Android
- on-stack replacement
- 난독화
- on stack replacement
- uftrace
- pinpoint
- Today
- Total
Why should I know this?
[TODO] DominatorTree 본문
https://youtu.be/bNV18Wy-J0U?si=n-hxGVmCqGD5LqYv
You make some transformation
It was very hard to update dominator tree because
First you had to figure out what you information actually did
And how it affected the dominator like you had to update or manipulate
Nodes and glue them together to some other nodes to make a transformation
Also on the dominator tree
This turns out to be very difficult for humans to reason about
And is it’s extremely error-prone and what’s more like the error can propagate
A lot and like expose some weird behavior in some consequent passes
Or transformation like it’s very surprising at times and because
Updating dominators used to be tricky people just need to not preserve them
Or just to recalculate them everywhere
https://llvm.org/devmtg/2017-10/slides/Kuderski-Dominator_Trees.pdf
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Domtree Pass
$ build-llvm-trunk/bin/opt -passes=dot-dom gvn.ll
$ dot -Tpng .dom.<함수이름>.dot > dot.png
'LLVM-STUDY > TODO' 카테고리의 다른 글
[TODO] MemorySSA = MSSA (0) | 2023.11.06 |
---|---|
[TODO] 목록 (0) | 2023.11.02 |
[TODO] llvm 공부 계획 업데이트 (0) | 2023.10.18 |
A Validated Semantics for LLVM IR (0) | 2023.06.23 |
[TODO] undef (0) | 2023.06.16 |