일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- on stack replacement
- tracerpid
- android inject
- linux debugging
- so inject
- uftrace
- Linux packer
- anti debugging
- LLVM Obfuscator
- TLS
- on-stack replacement
- 안티디버깅
- 난독화
- tracing
- LLVM 난독화
- initial-exec
- Android
- apm
- v8 tracing
- pinpoint
- custom packer
- linux thread
- Obfuscator
- thread local storage
- OSR
- Injection
- pthread
- LLVM
- v8 optimizing
- Linux custom packer
- Today
- Total
목록Study (14)
Why should I know this?
역공학이란 ? 역공학이란 대상에 대해 알려진 정보를 기반하여 설계 구조와 원리를 역으로 추적하는 공학 기법을 의미합니다. 프로그래밍 언어로 작성된 소스코드가 컴파일 되어 프로그램이 됩니다. 여기서 우리가 다루고자 하는 내용은 우리가 익히 알고 있는 내용(=프로그래밍 언어를 컴파일 하는 방법, 원리, 구조에 대한 정보)에 기반하여, 컴파일 된 프로그램의 구조와 원리를 역으로 추적해내는 방법입니다. 역공학은 해커들에게 기본 중에 기본인 소양입니다. 해킹을 배우고자 하는 사람들에게 프로그래밍 언어를 먼저 배우라고 권하는 이유가 여기 있습니다. 해킹이란, 프로그램(=커널 등을 포함한)의 구조와 원리를 역으로 추적하여 그 과정과 기술적 설계에 문제의 여지가 없는지를 찾아내는 학술이기 때문입니다. 하지만 꼭 프로그..
C에 존재하는 함수 strcmp, strncmp는 String Compare 기능을 제공한다. 이 함수들은 1) 두 문자열의 동일 여부를 확인할 수 있게 2) 두 문자열을 하나씩 비교해 다른 문자가 있을 경우 그 차를 반환 한다. 그러므로 프로그래머는 오직 이 함수들을 통해 두 문자가 다른지 여부만 확인할 수 있다. 이를 조금 손봐서, 1) 두 문자열 간의 다른 문자가 존재하는 최초 위치를 제공하며 2) 동시에 탐색시간을 조금 단축시켜보는 트윅을 해보려고 한다. int glibc_strncmp (const char *s1, const char *s2, size_t n) { uintptr_t s1_ori = (uintptr_t)s1; unsigned char c1 = '\0'; unsigned char c..
Git/복구 : GyparkWiki [edit]1. 커밋까지 한 상태에서 git-reset --hard 옵션으로 덮어써 버린 경우 커밋 개체들이 아직 .git 디렉토리 아래에 남아 있기 때문에 복구가 그다지 어렵지 않다 (시간이 흐르면 - 며칠? 한달? 정확히 모르겠으나 아주 짧진 않다 - 가비지 컬렉션에 의해 없어지니 주의) git-reflog 로 HEAD가 가리켰었던 커밋 객체들의 목록을 볼 수도 있고 다음 섹션에 언급할 git-fsck 를 써서 찾을 수도 있고 등등. 어떻게든 해당 커 gypark.pe.kr 1. 커밋까지 한 상태에서 git-reset --hard 옵션으로 덮어써 버린 경우 커밋 개체들이 아직 .git 디렉토리 아래에 남아 있기 때문에 복구가 그다지 어렵지 않다 (시간이 흐르면 - ..