일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- pthread
- tracing
- LLVM 난독화
- OSR
- tracerpid
- on-stack replacement
- v8 optimizing
- TLS
- LLVM Obfuscator
- Linux custom packer
- custom packer
- so inject
- Injection
- pinpoint
- 안티디버깅
- Android
- Obfuscator
- on stack replacement
- linux debugging
- v8 tracing
- 난독화
- thread local storage
- uftrace
- LLVM
- anti debugging
- android inject
- linux thread
- Linux packer
- initial-exec
- apm
- Today
- Total
목록전체 글 (132)
Why should I know this?
https://llvm.org/docs/MemorySSA.html MemorySSA — LLVM 18.0.0git documentation MemorySSA is an analysis that can be built for any arbitrary function. When it’s built, it does a pass over the function’s IR in order to build up its mapping of MemoryAccesses. You can then query MemorySSA for things like the dominance relation betwee llvm.org
1. 당면한 문제에 `몰입`도 중요하지만 더 큰 구조를 생각하는 것도 중요하다. 제가 경험했던 패치 https://reviews.llvm.org/D153752 ⚙ D153752 [InstSimplify] Fold icmp comparing GEPs with local allocation This revision is now accepted and ready to land. reviews.llvm.org 최근에 살펴본 패치 https://die4taoam.tistory.com/136 [InstSimplify] Fold (a != 0) ? abs(a) : 0 https://github.com/llvm/llvm-project/pull/70305 [InstSimplify] Fold (a != 0) ? abs(a..
이번에 살펴볼 패치는 매우 짧아서 좋은 패치 입니다. 패치의 링크 https://github.com/llvm/llvm-project/issues/71183 Memcpyopt crashes with simple IR · Issue #71183 · llvm/llvm-project target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128-ni:10:11:12:13" target triple = "x86_64-unknown-linux-gnu" define void @"julia_#36#f_439"() { top: call v... github.com 최초에 문제가 발생하는 IR 은 다음과 같습니다. def..
[LLVM] * llvm backend optimization 패치 분석 [LLVM CFI] * alive2 에 forward-cfi 관련 intrinsic 지원 추가하기 * llvm backward-cfi 관련 분석 [LLVM 난독화] * llvm IR 난독화 시 alive2 연동하여 난독화와 함께 코드 동등성 검사하는 기능 예제 작성
https://github.com/llvm/llvm-project/pull/70305 [InstSimplify] Fold (a != 0) ? abs(a) : 0 by Pierre-vh · Pull Request #70305 · llvm/llvm-project Solves #70204 github.com 문제가 발생하는 경우를 추적해 봅시다. # cat pp.c int f(int a) { if (a) return a > 0 ? a : -a; return 0; } # opt -O2 -S f.ll -print-after-all > log 2>&1 1회차 ; *** IR Dump After InstCombinePass on f *** ; Function Attrs: nounwind uwtable define d..
https://youtu.be/J5xExRGaIIY?si=nh8WkBmkIdjTMGGb OPT를 사용하여 IR을 생성할 때 다음과 같은 옵션을 지정하면, 1.원본 변수/함수 이름이 남고 2. 불필요한 메모리할당이 없어 보기 좋다. $ clang -O2 -Xclang -disable-llvm-passes -S -emit-llvm -fno-discard-value-names f.c -o f.ll $ opt -S -passes='mem2reg' f.ll -o f_opt.ll clang 을 사용할 때의 최적화 레벨이 남는 듯; int f(int a, int b) { int x = a; if (a > b) x += 20; else x += b; return x; } define dso_local i32 @f(i3..