일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- LLVM Obfuscator
- initial-exec
- on stack replacement
- anti debugging
- v8 optimizing
- Android
- TLS
- Linux custom packer
- pinpoint
- Linux packer
- apm
- android inject
- OSR
- custom packer
- on-stack replacement
- 난독화
- 안티디버깅
- uftrace
- linux thread
- so inject
- tracing
- LLVM 난독화
- Injection
- linux debugging
- pthread
- LLVM
- v8 tracing
- tracerpid
- Obfuscator
- thread local storage
- Today
- Total
목록분류 전체보기 (142)
Why should I know this?
원문 출처 : https://developer.arm.com/documentation/ddi0602/2023-12/Base-Instructions/STP--Store-Pair-of-Registers-?lang=en#iclass_post_index Documentation – Arm Developer developer.arm.com // FIXME: Use dedicated range-checked addressing mode operand here.defm STPW : StorePairOffset;defm STPX : StorePairOffset; multiclass StorePairOffset opc, bit V, RegisterOperand regtype, ..
* 유관 패치를 작성하게 되면 반영하기 위해 남겨놓는 목적 * * 다른 패치 작성자 분들이 혹시 보게 되면 활용해주세요. * AArch64MIPeepholeOpt.cpp::555 // replaceRegWith changes MIs definition register. Keep it for SSA form until // deleting MI. Only if we made a new destination register. if (DstReg != NewDstReg) { MRI->replaceRegWith(DstReg, NewDstReg); MI.getOperand(0).setReg(DstReg); //

https://die4taoam.tistory.com/122 LLVM 에 패치 보내기 튜토리얼 https://youtu.be/C5Y977rLqpw?si=JXvJ7RsQ-26XSW4i 패치 만들고 LLVM 에 보내기 코드를 수정한 뒤 LLVM 에 기여하는 방식은 code-review 과정을 별도의 플랫폼에서 거친다는 차이가 있습니다. 이에 대한 자세한 과정 die4taoam.tistory.com LLVM에 패치 보내는 튜터리얼은, Nikita Popov 가 작성한 글을 기반으로 작성됐습니다. 현재는 이 글에 포함되어 있는 리뷰과정은 모두 완전 github로 옮겨간 점 등이 달라졌으며, github 환경에 익숙한 사람들에게는 오히려 더 쉽게 LLVM에 기여할 수 있는 기회가 될 수 있을 것 같습니다. 이런저..
* 상황 1. fix-issue-001 이란 이름으로 만든 Branch에서 작업 후 Github에서 Pull Request 를 보낸 후 2. Remote의 fix-issue-001 Branch를 삭제하고 3. 새로 만든 동일한 이름의 fix-issue-001 Branch로 force-push 한 경우 * 문제 위와 같이 Branch를 새로 만든 후 push 한 경우, 이미 보낸 Pull Request로 갱신이 되지 않는다. 물론 PR을 새로 올리는 것도 방법이지만, 이미 보내놓은 PR에서 의견 소통이 이뤄진 경우 이 흔적을 지우는건 좋지 않다. * 해결책 먼저 현재의 브랜치 fix-issue-001 를 이름을 변경한다. 대충 fix-issue-001___ 로 변경했다고 치자. 과거의 브랜치를 복구한다 g..
https://youtu.be/iV5jBtE35r4?si=DrrIq7UaO-bJSlZb 이걸 왜 못봤어나 싶다.
https://youtu.be/y4b-sgp6VYA?si=FBwXN-abkikLJwx0 cmake .. -GNinja \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_ENABLE_LLD=ON \ -DLLVM_ENABLE_PROJECTS="clang;lld;compiler-rt" \ -DLLVM_TARGETS_TO_BUILD="AArch64;ARM;X86" \ -DLLVM_ENABLE_ASSERTION=OFF -E : Stop before compiling -S : Stop before assembling -c : Stop before linking Dumping LEXER Tokens clang -Xclang -dump-tokens -E foo.cpp clang -Xclang -hel..
https://docs.github.com/ko/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent 새 SSH 키 생성 및 ssh-agent에 추가 - GitHub Docs SSH(보안 셸 프로토콜)를 사용하여 GitHub.com의 리포지토리에서 데이터를 액세스하고 쓸 수 있습니다. SSH를 통해 연결할 때 로컬 머신에서 프라이빗 키 파일을 사용하여 인증합니다. 자세한 내용은 docs.github.com
https://github.com/llvm/llvm-project/issues/33874 Improve bitfield arithmetic · Issue #33874 · llvm/llvm-project Bugzilla Link 34526 Version trunk OS Windows NT CC @alexey-bataev,@legrosbuffle,@rotateright Extended Description We could improve math ops on irregular bitfields with the relevant SWAR style patte... github.com 패치목적 // 기존에 생성되던 IR define dso_local i8 @AddCounters(Counters, Counters)(..
https://github.com/llvm/llvm-project/pull/74317 [InstCombine] Generalize folds for inversion of icmp operands by nikic · Pull Request #74317 · llvm/llvm-project We have a bunch of folds that basically perform X pred Y to ~Y pred ~X for various special cases where this saves an instruction. Generalize these folds to use isFreeToInvert(). We have to make sur... github.com // Transform (~X ^ Y) s< ..
~X NOT X A + B NOT -1 -B - A B - A NOT A + (-1 - B) A - B NOT B + (-1 - A) A ^ B NOT A ^ ~B A ^ ~B NOT A ^ B A s>> B NOT ~A s>>B 부연설명 A+B -> -1 -B -A (양->음전) 100+100 이라고 하면, 결과는 200, NOT은 -201이 나와야 함. -100 -100 -1 = -201 A-B -> B + (-A - 1(양>음전)) A^B -> A^~B ; A^B는 A를 -1로 생각하면 -1^B -> ~B가 됨. 이의 NOT은 B. -1^~B = B A s>> B -> ~A s>> B ; (몰?루?)