dnSpy의 Analyzer 기능에서 제공하는 Assigned by, Used by, Uses, Read by와 같은 항목들은 코드의 흐름과 상호작용을 분석하는 데 유용한 정보를 제공한다.
Assigned by
- 특정 변수나 필드가 어디에서 값을 할당받는지 보여준다.
- string key = "secret"; // "Assigned by"에서 이 코드 위치를 표시
Used by
- 해당 변수, 메서드, 클래스 등이 어디에서 사용되고 있는지를 보여준다.
- Console.WriteLine(key); // "Used by"에서 key가 이 위치에서 사용됨을 표시
Uses
- 특정 메서드, 클래스, 혹은 변수 등이 어떤 다른 객체나 메서드를 참조하거나 호출하는지를 보여준다.
- public void Encrypt() {AES.Create();} // "Uses"에서 Encrypt가 AES.Create()를 호출함을 표시
Read by
- 특정 필드나 변수의 값이 어디에서 읽히는지를 보여준다.
- var x = key; // "Read by"에서 key가 읽히는 위치를 표시

악성코드
- Assigned by로 악성 키/값이 설정되는 지점 확인
- Used by로 의심스러운 값의 사용 위치 추적
취약점
- 입력 데이터 흐름을 파악하여 외부 입력이 변수에 할당되고 사용되는 경로 확인
- 암호화/복호화 프로세스를 추적하여 Uses로 어떤 암호화 API가 사용되는지 확인
디버깅
- Read by와 Assigned by를 통해 값의 변경 과정을 단계적으로 추적
- 복잡한 코드에서 메서드 간 상호작용 및 데이터 흐름을 빠르게 파악하여 분석 속도 향상
'분석 TIP > 동적분석' 카테고리의 다른 글
| EB FE 바이트 패치 활용 (0) | 2025.06.05 |
|---|---|
| ASP.NET 서버에서 돌아가는 DLL 파일 (0) | 2025.04.27 |
| 쉘코드 디버거로 분석하기 (0) | 2025.04.14 |
| IDA와 Debugger 주소 매칭 (0) | 2025.04.11 |
| IDA를 통해 리눅스 원격 elf 파일 디버깅 (0) | 2025.03.31 |