일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- so inject
- OSR
- pthread
- Linux custom packer
- on-stack replacement
- on stack replacement
- TLS
- uftrace
- 난독화
- tracerpid
- apm
- Linux packer
- custom packer
- LLVM 난독화
- LLVM
- anti debugging
- android inject
- thread local storage
- pinpoint
- tracing
- v8 optimizing
- Obfuscator
- Injection
- Android
- linux thread
- LLVM Obfuscator
- initial-exec
- linux debugging
- 안티디버깅
- v8 tracing
Archives
- Today
- Total
Why should I know this?
Git blame으로 C/C++ 코드 첫 머지버전 찾는 미립자팁 본문
설명 : C/C++ 코드의 초기 버전을 찾아 히스토리를 보는게 가끔은 유용할 때가 있다.
위처럼 초기 버전을 찾아가는 C/C++ 코드에서는 소스코드 마지막 라인을 blame해서 쉽게 초기 버전을 찾을 수 있는 경우가 많다.
예2)
m@M:~/llvm-project/llvm/lib/Transforms/Scalar$ wc -l LoopInstSimplify.cpp
247 LoopInstSimplify.cpp
m@M:~/llvm-project/llvm/lib/Transforms/Scalar$ git blame -L247,+1 LoopInstSimplify.cpp
e6c30fdda7991 (Chandler Carruth 2018-05-25 01:32:36 +0000 247) }
m@M:~/llvm-project/llvm/lib/Transforms/Scalar$ git show e6c30fdda7991
commit e6c30fdda7991cfcedff2ba778b93b958b0d5077
Author: Chandler Carruth <chandlerc@gmail.com>
Date: Fri May 25 01:32:36 2018 +0000
Restore the LoopInstSimplify pass, reverting r327329 that removed it.
The plan had always been to move towards using this rather than so much
in-pass simplification within the loop pipeline, but we never got around
to it.... until only a couple months after it was removed due to disuse.
=/
This commit is just a pure revert of the removal. I will add tests and
do some basic cleanup in follow-up commits. Then I'll wire it into the
loop pass pipeline.
Differential Revision: https://reviews.llvm.org/D47353
llvm-svn: 333250
https://reviews.llvm.org/D47353
이번 예는 과거 삭제됐다 revert 된 merge 기록을 볼 수 있다.
하지만 역시 다음처럼 초기 버전이 머지될 때 커밋 로그 확인을 할 수 있으며
초기 버전의 코드를 머지시킬때 추가된 코드를 통해서 LLVM 같은 큰 프로젝트에 구성요소를 추가하기 위해 필요한 요소들을 파악할 수 있다.
'Technic' 카테고리의 다른 글
Linux에서 Crash 제어 (feat, setsetjmp/siglongjmp) (0) | 2022.12.11 |
---|---|
파일 무결성 검사 (hashmap 방식 응용) (0) | 2022.11.15 |
C에서 TRY-CATCH 구현 (0) | 2022.03.14 |
오픈소스에서 원하는 코드 쉽게 찾기 (feat. GDB) (0) | 2022.02.11 |
nox 탐지 (0) | 2021.11.02 |
Comments