일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Linux custom packer
- TLS
- linux debugging
- linux thread
- Android
- Injection
- on stack replacement
- tracerpid
- pthread
- apm
- on-stack replacement
- Linux packer
- initial-exec
- so inject
- OSR
- anti debugging
- pinpoint
- Obfuscator
- 난독화
- v8 tracing
- uftrace
- LLVM Obfuscator
- custom packer
- android inject
- thread local storage
- LLVM
- tracing
- v8 optimizing
- 안티디버깅
- LLVM 난독화
- Today
- Total
목록분류 전체보기 (141)
Why should I know this?
define 8 x i16> @src(4 x i16> %x, 4 x i16> %y, 4 x i16> %z) { %cmp.xy = icmp slt 4 x i16> %x, %y %cmp.yz = icmp slt 4 x i16> %y, %z %select.xz = select 4 x i1> %cmp.xy, 4 x i16> %x, 4 x i16> %z %select.yx = select 4 x i1> %cmp.yz, 4 x i16> %y, 4 x i16> %x %res = shufflevector 4 x i16> %select.xz, 4 x i16> %select.yx, 8 x i32> i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7> ret 8 x i16> ..
SK_SelectSelects elements from the corresponding lane of either source operand. This is equivalent to a vector select with a constant condition operand. SK_PermuteTwoSrcMerge elements from two source vectors into one with any shuffle mask.SK_PermuteSingleSrcShuffle elements of single source vector with any shuffle mask. #SK_Select소스 피연산자의 해당 레인에서 요소를 선택합니다. 이는 상수 조건 피연산자를 가진 벡터 선택과 동일..
https://github.com/llvm/llvm-project/commit/06408451bf12d4baed1fb1312d8af6e6bbb6a797 Revert "[SCCP] Use SimplifyBinOp for non-integer constant/expressions… · llvm/llvm-project@0640845… & overdef." This reverts commit 1a02aaeaa4f8675490da38ee8cb0d4a6d39815dd. Crashes on the following test case: $ cat crash.ll source_filename = "__compute_module" target datal...github.com https://github.com/llvm/l..
LLVM 을 debug 로 빌드하면 링킹 때 위처럼 1core 만 돌렸을 때 최대 15기가 까지 메모리를 잡아먹음.-j 을 지정할 때 주의해야 함. 혹자는 swap을 늘리면 되는게 아니냐고 물을텐데, 링킹 과정에서 트리서치 과정이 굉장히 빈번하고 많이 일어남. 즉, swap하면서 코어수를 늘리느니 swap없이 코어를 줄이는게 현명. -- Performing Test HAVE_POSIX_REGEX-- Performing Test HAVE_POSIX_REGEX -- success-- Performing Test HAVE_STEADY_CLOCK-- Performing Test HAVE_STEADY_CLOCK-- Performing Test HAVE_STEADY_CLOCK -- success-- Configu..
https://discourse.llvm.org/t/do-we-need-to-support-for-selectinst-to-domcache/78662Select 관련 최적화 패치 개발을 진행하다가 Select Cond가 KnownBits 추산에 활용되지 않아서 올린 질문 글. 답변 내용에 따라 한정적으로 Select Cond 를 KnownBits 추산에 활용한 패치https://github.com/llvm/llvm-project/pull/91762 [InstCombine] Try optimizing with knownbits which determined from Cond by ParkHanbum · Pull Request #91762 · llvm/llvm-projectThis PR was submitt..
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) 경우가 있는가?" 를 확인하는 방식입니다. 예를 들어 봅시다. 위처럼, 아주 형편없는 예제 코드가 ..