전체 글 (36) 썸네일형 리스트형 삶의 본질을 담은 라면 끓이기: 완벽한 한 그릇을 향한 심오한 여정 누구나 쉽게 접근하지만, 그 누구도 완벽히 마스터하기 어려운 것들이 존재한다. '라면 끓이기'가 바로 그것이다. 단순히 면을 물에 넣고 끓이는 행위처럼 보이지만, 이 과정 안에는 시간과 공간, 물리학과 철학이 복잡하게 얽혀 있다.1. 준비: 의식의 시작먼저 냄비를 선택할 때부터 여정은 시작된다. 두꺼운 냄비는 열을 고르게 전달하여 라면의 맛을 깊게 하고, 얇은 냄비는 빠른 가열로 날카로운 맛을 구현한다. 라면을 끓이는 일은 선택의 연속이다. 삶 또한 그렇지 않은가?물을 붓는다. 이때 물의 양은 정확해야 한다. 물은 우리의 무의식과 같다. 너무 많으면 삶이 무의미하게 묽어지고, 너무 적으면 건조하고 힘든 날들이 이어진다. 라면 봉지 뒤편에 권장된 물의 양을 확인하고, 자신만의 취향을 더해 미세한 변화를 준.. llvm-tutorial chapter 8 - Kaleidoscope: Compiling to Object Code https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl08.html 8. Kaleidoscope: Compiling to Object Code — LLVM 21.0.0git documentationLLVM has native support for cross-compilation. You can compile to the architecture of your current machine, or just as easily compile for other architectures. In this tutorial, we’ll target the current machine. To specify the architecture that you want tl.. 🛡️ VMProtect 완전 분석: 바이트코드, IR, 그리고 최적화까지 출처: https://www.msreverseengineering.com/blog/2014/6/23/vmprotect-part-0-basics VMProtect, Part 0: Basics — Möbius Strip Reverse EngineeringOriginally published on August 6th, 2008 on OpenRCE This is part #0 of a four-part series on VMProtect. The other parts can be found here: Part 0: Basics Part 1: Bytecode and IR Part 2: Primer on Optimization Part 3: Optimizing and Compiling VMProtect iswww.. ObfusTree + Tigress 난독화 및 역난독화 결과 분석 적용 기법복잡도 증가율실행 시간 증가율LLM 역난독화 여부ObfusTree 단독+275%+54%✅ 성공Flatten 단독+875%+574%✅ 성공AddOpaque 단독+450%+57%✅ 성공Split 단독+300%+40%✅ 성공ObfusTree + Flatten+1650%+887%❌ 실패ObfusTree + Opaque+750%+51%❌ 실패ObfusTree + Split+600%+84%❌ 실패이전 글에서 소개한 original.c를 이용해 실험하고 그 결과를 담은 표이다.LLM 역난독화 여부에 대한 자세한 기준은: GPT-4o의 임시 채팅으로 역난독화를 부탁한다. 세 번 정도 돌렸을 때 역난독화를 실패했을 경우가 있을 때는 X로 표기한다. 즉 역난독화를 세 번 모두 성공했을 때는 O, 그게 아니면 X로.. VMProtect 2 가상머신 난독화 기법 학습노트 출처: https://core-research-team.github.io/2021-08-01/VMProtect-2-%EA%B0%80%EC%83%81%EB%A8%B8%EC%8B%A0-%EB%82%9C%EB%8F%85%ED%99%94-%EA%B8%B0%EB%B2%95 VMProtect 2 가상머신 난독화 기법라온화이트햇 핵심연구팀 권재승core-research-team.github.io 가상화: 보호하려는 코드를 자체 개발한 가상 머신(VM)용 바이트 코드로 변환CPU가 직접 실행하던 코드 -> VM 명령어(바이트 코드, 스택 머신 기반 명령)로 변환 -> 실행 시 CPU가 아닌 VM이 코드를 실행( 난독화된 구간만 VM 인터프리터(가상머신)가 바이트코드 해석); (일반 코드: CPU가 직접 실행)mov e.. 실험 및 Tigress와의 비교 테스트할 원본 코드와 Tigress 옵션(Flatten, AddOpaque, Split)이 바뀌었다.// original.c#include // Tigress 옵션을 사용하기 위한 헤더 파일#include #include int main() { int count = 0; int even_gt_2 = 0; int odd_gt_2 = 0; int value = 0; while (count 2) { value = value % 2; if (value == 0) { even_gt_2 = even_gt_2 + 1; } else { odd_gt_2 = odd_gt_2 + 1;.. Tigress 난독화 옵션 적용 및 평가지표 설계 위의 난독화 옵션 중에 Flatten, AddOpaque, Reoeder, RenameId을 각각 사용할 수 있도록 test.c를 작성하였다.#include int sub(int a, int b) { return a - b; }int main(){ int shouldSubtract = 1; int a = 10, b = 7; int result; if (shouldSubtract > 0) { if (a > b) result = sub(a, b); else result = sub(b, a); printf("Sub is %d\n", result); } else { printf(".. Tigress.wtf 빌드 및 사용 https://tigress.wtf/tigress-linux.html 공식 사이트를 통해 빌드를 할 수 있다(4.0.10 버전). 사용//test.c#include int main() { int a = 1; if (a == 1) printf("a is 1\n"); else printf("a is not 1\n"); return 0;}해당 코드를 tigress를 통해 난독화tigress \ --Transform=Flatten \ --Functions=main \ --out=obf_flatten.c \ test.c 옵션 설명tigressTigress 난독화 도구 실행 명령어--Transform=FlattenFlatten 기법 적용: 제어 흐름을 상태 기계.. 이전 1 2 3 4 5 다음