일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- uftrace
- Obfuscator
- Linux custom packer
- OSR
- v8 optimizing
- LLVM Obfuscator
- android inject
- Android
- on-stack replacement
- pinpoint
- 난독화
- pthread
- so inject
- Linux packer
- linux debugging
- LLVM
- custom packer
- Injection
- tracing
- v8 tracing
- TLS
- apm
- anti debugging
- on stack replacement
- 안티디버깅
- tracerpid
- initial-exec
- thread local storage
- LLVM 난독화
- linux thread
- Today
- Total
목록전체 글 (142)
Why should I know this?

오픈소스에서 원하는 코드를 쉽게 찾는 방법을 알아보겠습니다. 이번에 찾고자 하는 코드는 gdb에서 특정 함수를 호출할 수 있게 해주는 로직! 예를 들면, gdb에서는 다음과 같은 명령을 수행할 수 있습니다 (gdb) call (void *)dlopen("/home/m/signal-checker.so", 2) I am 18500 Hello, I'm loaded!! $1 = (void *) 0x55555555a2d0 위의 명령처럼 target process context에서 특정 함수의 호출이 가능합니다. 예제에서는 dlopen을 통해 so를 로드했고, 그 결과 so의 init에서 출력해주는 메시지를 볼 수 있습니다. 1. gdb 를 tracing 가능한 형태로 컴파일한다! m@Hanbum:~/binutil..

nox 탐지 이건 빼박캔트 nox 뿐 아니라 vbox 사용하는 x86 계열 에뮬레이터 다 잡을 수 있는 시그니처 핵심은 탐지하고자 하는 대상에서 결코 사용하지 않을 수 없는 부분을 찾는 것. i8042 는 가상머신과 리얼머신간 키보드 연결을 위해 사용하되는 가상화 디바이스. 즉, 가상머신이 키보드를 사용하지 않기로 하지 않은 이상 없어질 수 없다. (동시에 i8042는 구형 IBM/PC의 키보드 스펙이므로 리얼머신에 존재할리 없다. 모바일은 더더욱)
https://docs.microsoft.com/en-us/windows/wsl/wsl-config#in-preview-options-1 Configure Linux distributions A reference guide to help you manage and configure multiple Linux distributions running on the Windows Subsystem for Linux. docs.microsoft.com WSL 2 setting preview options These options are only available in the latest preview builds if you are on the latest builds of the Windows Insiders ..
C/C++ 에서 특수한 목적으로 함수의 크기를 구하려고 한다면 셋 중 하나의 결과가 나온다. 1. 컴파일 된 binary를 nm 등을 사용해 symbol 주소와 크기를 구한다. 이런 방식으로 함수의 크기를 사용하려면 컴파일 한 후 binary에 writing해주는 과정이 필요하다. 2. 선언된 함수 뒤에 크기 계산용 더미 함수를 추가하여 주소를 계산한다. 아래와 같은 방식이다. static void fn_need_to_know_size() { return 0; } static void fn_to_mark_end() { return 0; } unsigned long size = (unsigned long)&fn_need_to_know_size - (unsigned long)&fn_to_mark_end; 하..

0. Control-flow integrity 란 무엇인가? 아래 글은 redhat blog에서 퍼온 글입니다. "CFI, or Control-flow integrity, may refer to any mechanism which tries to ensure the execution flow is valid when calling or returning from functions during the software’s runtime. Some of the hardenings mentioned earlier in the introduction can be considered CFI protection. Most of them are implemented by both GCC and Clang, howeve..

본문 작성에 앞서 해당 난독화 기법의 모티브를 소개합니다. engineering.linecorp.com/ko/blog/code-obfuscation-compiler-tool-ork-2/ 오크(ORK) – 난독화 컴파일러 도구 2편 - LINE ENGINEERING 안녕하세요. LINE에서 클라이언트 보호 솔루션인 AIR ARMOR 개발을 담당하고 있는 정상민입니다. 지난 1편에선 예제 소스 코드의 컴파일 과정을 살펴보며 난독화가 실행되는 단계를 확인했습니다. engineering.linecorp.com Line에서 자체 개발 중인 난독화 기법 중에 Control Flow Graph Flattening 이라고 소개된 기법이 있습니다. 말하자면, 뭐 이것은 Line에서도 쓰는 기법이다! 라고 호가호위 해보려..