Community라이팅 & 에디팅github.com

lindytextual955/Anti-Detect-C-Sharp

.NET Core, .NET Framework 및 Native AOT 환경에서 C# 애플리케이션의 디버거, 메모리 스캐너, 인젝션 도구를 탐지하고 차단합니다.

Anti-Detect-C-Sharp란 무엇인가요?

이 스킬은 C# 애플리케이션에서 디버깅, 메모리 스캐닝, 코드 인젝션과 같은 보안 위협을 탐지하고 차단하기 위한 포괄적인 솔루션을 제공합니다. .NET Core, .NET Framework, Native AOT 환경을 모두 지원하며, 개발자가 단일 코드베이스로 다양한 플랫폼에서 보안을 강화할 수 있도록 합니다. 주요 기능으로는 IsDebuggerPresent와 같은 Win32 API를 활용한 디버거 탐지, PEB(Process Environment Block) 플래그 검사, 메모리 스캐너 탐지를 위한 DLL 리스트 및 핸들 검사, 그리고 Anti-Injection 기법이 포함됩니다. 이 스킬은 게임, 금융 소프트웨어, DRM 애플리케이션 등 높은 수준의 보호가 필요한 C# 기반 소프트웨어에 특히 유용합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add lindytextual955/Anti-Detect-C-Sharp

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Anti-Detect-C-Sharp은(는) 무엇을 하나요?

.NET Core, .NET Framework 및 Native AOT 환경에서 C# 애플리케이션의 디버거, 메모리 스캐너, 인젝션 도구를 탐지하고 차단합니다.

개요

이 스킬은 C# 애플리케이션에서 디버깅, 메모리 스캐닝, 코드 인젝션과 같은 보안 위협을 탐지하고 차단하기 위한 포괄적인 솔루션을 제공합니다. 다양한 .NET 런타임 환경과의 호환성을 보장하며, 강력한 보안 조치를 구현하는 데 필수적인 유틸리티 및 패턴을 포함합니다.

지원 플랫폼

  • .NET Core 3.1+
  • .NET Framework 4.6.1+
  • Native AOT (NativeAOT 및 ReadyToRun)

주요 기능

디버거 탐지

  • IsDebuggerPresent Win32 API 호출
  • PEB (Process Environment Block) BeingDebugged 플래그 검사
  • CheckRemoteDebuggerPresent API 사용
  • NtQueryInformationProcess를 통한 커널 디버거 탐지

메모리 스캐너 탐지

  • 의심스러운 DLL 목록 검사 (예: cheatengine-x86_64.dll)
  • 열린 핸들 및 프로세스 목록 스캔
  • 알려진 메모리 스캐너 패턴 탐지

인젝션 방지

  • SetWindowsHookEx 및 CreateRemoteThread와 같은 일반적인 인젝션 API 모니터링
  • 비정상적인 DLL 로드 시도 탐지
  • 프로세스 보호 강화 (Integrity Level 확인)

설치 및 사용법

NuGet 패키지 (권장)

dotnet add package AntiDetectCSharp

수동 설치

소스 코드를 다운로드하여 프로젝트에 직접 포함시킬 수 있습니다.

기본 사용 예제

using AntiDetect;

class Program
{
    static void Main()
    {
        // 모든 탐지 기능 초기화
        var antiDetect = new AntiDetect();
        
        // 결과 확인
        if (antiDetect.IsDebuggerPresent())
        {
            Console.WriteLine("디버거가 탐지되었습니다!");
            Environment.Exit(-1);
        }
        
        if (antiDetect.IsMemoryScannerDetected())
        {
            Console.WriteLine("메모리 스캐너가 탐지되었습니다!");
            Environment.Exit(-1);
        }
        
        // 정상 실행
        Console.WriteLine("애플리케이션이 안전하게 실행 중입니다.");
    }
}

API 참조

메서드설명지원 환경
IsDebuggerPresent()디버거 존재 여부 확인전체
CheckRemoteDebugger()원격 디버거 연결 확인Windows
DetectKernelDebugger()커널 디버거 탐지Windows
IsMemoryScannerDetected()알려진 메모리 스캐너 탐지전체
CheckSuspiciousDlls()의심스러운 DLL 로드 확인Windows
MonitorInjectionAttempts()인젝션 시도 모니터링Windows

구성 옵션

appsettings.json 또는 코드에서 직접 탐지 동작을 구성할 수 있습니다.

{
  "AntiDetect": {
    "EnableDebuggerDetection": true,
    "EnableMemoryScannerDetection": true,
    "EnableInjectionPrevention": true,
    "AutoExitOnDetection": true,
    "DetectionIntervalMs": 1000
  }
}

주의사항

  • 이 라이브러리는 정당한 보안 목적으로만 사용해야 합니다.
  • 일부 탐지 방법은 Windows 플랫폼에 종속적입니다.
  • Native AOT 환경에서는 일부 Win32 API가 제한될 수 있습니다.
  • 안티치트 시스템과 함께 사용할 경우 호환성을 반드시 확인하세요.

라이선스

MIT 라이선스에 따라 배포됩니다. 자세한 내용은 프로젝트 저장소의 LICENSE 파일을 참조하세요.

관련 스킬