일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- on-stack replacement
- so inject
- Obfuscator
- OSR
- v8 tracing
- LLVM 난독화
- Injection
- anti debugging
- LLVM Obfuscator
- linux debugging
- 안티디버깅
- v8 optimizing
- thread local storage
- tracerpid
- Linux packer
- apm
- TLS
- custom packer
- Linux custom packer
- tracing
- uftrace
- pinpoint
- 난독화
- on stack replacement
- pthread
- LLVM
- Android
- linux thread
- initial-exec
- android inject
- Today
- Total
목록전체 글 (142)
Why should I know this?
https://developer.arm.com/documentation/ddi0595/2020-12/AArch64-Instructions/DC-ZVA--Data-Cache-Zero-by-VA Documentation – Arm Developer developer.arm.com DC ZVA, Data Cache Zero by VADC ZVA는 지정된 가상 주소를 캐쉬에 채우지 않는 동작 수행을 지정하는 특수 Instruction이다."DC ZVA"로 구글에 검색하면 숱한 관련 내용이 나오니 더 기술하하는 것은 생략하고 다음 일부를 발췌해왔다."DC ZVA"는 효과적이며 메모리 시스템을 쓰기 스트리밍 모드로 전환하여 멤셋과 같은 시나리오에서 L1 캐시를 라인 채우지 않도록 합니다. 작년에 .NET은 프레임 ..
https://archive.fosdem.org/2019/schedule/event/llvm_tablegen/attachments/slides/3304/export/events/attachments/llvm_tablegen/slides/3304/tablegen.pdf
Store IR 원형store [volatile] , ptr [, align ][, !nontemporal !][, !invariant.group !]; yields voidstore atomic [volatile] , ptr [syncscope("")] , align [, !invariant.group !] ; yields void! = !{ i32 1 }! = !{}STRroX, STRroWSTR(register) 3130292827262524232221201918171615141312111098765432101x111000001RmoptionS10RnRtsize opc STRroX, STRroW 예시str x0, [x9, x8, lsl #3]storeopTy regtype:$..

PR한 패치가 자꾸 윈도우에서 문제가 발생하는 이유로,윈도우에서 한번 빌드 및 테스트를 해보기로 결정했다. 1. Visual Studio 2022 설치https://visualstudio.microsoft.com/ko/downloads/ Visual Studio Tools 다운로드 - Windows, Mac, Linux용 무료 설치Visual Studio IDE 또는 VS Code를 무료로 다운로드하세요. Windows 또는 Mac에서 Visual Studio Professional 또는 Enterprise Edition을 사용해 보세요.visualstudio.microsoft.com 2. git 설치 (혹은 visual studio 2022 설치 할 때 설치됨)https://www.git-scm.co..

SOUPER는 Super Optimization를 약자로 한 프로젝트 입니다. 이런 이름 때문에 오해할 수 있는데, Super Optimization이라고 해서 코드를 "슈퍼향상 시키는 최적화"가 아니고, "자동화 된 최적화" 가 목적입니다. 6^^ Souper 에 대해 다루기 전에 먼저 자동화 된 최적화를 구현하기 위해서는 최적화를 자동으로 만들 수 있어야 겠죠. 그러자면 자동으로 생성된 "최적화에 대한 검증" 방식이 필요합니다. SOUPER는 CEGIS 방식을 취하는데, 이를 우리나라 말로 옮기면 "반증 기반 유도 합성" 이 됩니다. 발견된 최적화 방식에 대해서, "반증 했을 때 만족하는(SAT) 경우가 있는가?" 를 확인하는 방식입니다. 예를 들어 봅시다. 위처럼, 아주 형편없는 예제 코드가 ..

https://github.com/llvm/llvm-project/pull/91762 (기억을 보존하기 위한) 패치 내용 정리.패치 동기LLVM에서는 AND/OR/XOR 연산을 BitwiseLogic 이라고 부른다. 해당 로직들은 특정 상황에서 최적화 될 수 있다.다음의 경우를 보자.define i32 @src_no_trans_select_or_eq0_and_or(i32 %x, i32 %y) {; CHECK-LABEL: @src_no_trans_select_or_eq0_and_or(; CHECK-NEXT: [[OR:%.*]] = or i32 [[X:%.*]], [[Y:%.*]]; CHECK-NEXT: ret i32 [[OR]]; %or = or i32 %x, %y %or0 = icmp eq..