Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
PowerShellArsenal — 리버스 엔지니어링에 특화된 PowerShell 모듈 | Kitploit
도구/GitHubGitHub/mattifestation/powershellarsenal
Static AnalysisDynamic Analysis (Sandboxing)Encryption/Decryption ToolsMemory ForensicsReverse EngineeringDebuggersForensicsMalware AnalysisBinary Analysis
GitHubmattifestation/powershellarsenal

PowerShellArsenal

리버스 엔지니어링에 특화된 PowerShell 모듈

90020565년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
저장소 보기
공유

PowerShellArsenal은 리버스 엔지니어를 지원하는 PowerShell 모듈입니다. 이 모듈은 관리 코드 및 비관리 코드 디스어셈블, .NET 악성코드 분석, 메모리 분석/스캔, 파일 형식 및 메모리 구조 파싱, 내부 시스템 정보 획득 등에 사용할 수 있습니다. PowerShellArsenal은 다음 도구로 구성됩니다:

디스어셈블리 (Disassembly)

네이티브 및 관리 코드 디스어셈블.

Get-CSDisassembly

Capstone Engine 디스어셈블리 프레임워크를 사용하여 바이트 배열을 디스어셈블합니다.

Get-ILDisassembly

MethodInfo 개체에서 전달된 원시 MSIL 바이트 배열을 Ildasm과 유사한 방식으로 디스어셈블합니다.

악성코드 분석 (MalwareAnalysis)

악성코드 분석 시 유용한 도구.

New-FunctionDelegate

X86 또는 X86_64 함수에 대한 실행 가능한 래퍼를 제공합니다.

Invoke-LoadLibrary

현재 PowerShell 프로세스에 DLL을 로드합니다.

New-DllExportFunction

관리되지 않는 내보내기 함수 주변에 실행 가능한 래퍼 델리게이트를 생성합니다.

Get-HostsFile

HOSTS 파일을 파싱합니다.

New-HostsFileEntry

HOSTS 파일에 항목을 바꾸거나 추가합니다.

Remove-HostsFileEntry

HOSTS 파일에서 항목 또는 일련의 항목을 제거합니다.

Get-AssemblyStrings

.NET 실행 파일에서 모든 문자열을 출력합니다.

Get-AssemblyResources

.NET 어셈블리에서 관리되는 리소스를 추출합니다.

Remove-AssemblySuppressIldasmAttribute

.NET 어셈블리에서 SuppressIldasmAttribute 특성을 제거합니다.

Get-AssemblyImplementedMethods

어셈블리에서 MSIL로 구현된 모든 메서드를 반환합니다.

메모리 도구 (MemoryTools)

프로세스 메모리를 검사하고 분석합니다.

Get-ProcessStrings

프로세스의 사용자 모드 메모리에서 인쇄 가능한 모든 문자열을 출력합니다.

Get-VirtualMemoryInfo

kernel32!VirtualQueryEx에 대한 래퍼입니다.

Get-ProcessMemoryInfo

사용자 메모리의 모든 고유 페이지 집합에 대한 가상 메모리 정보를 검색합니다. 이 함수는 !vadump WinDbg 명령과 유사합니다.

Get-StructFromMemory

임의 프로세스의 관리되지 않는 메모리 블록에서 지정된 유형의 새로 할당된 관리 객체로 데이터를 마샬링합니다.

파서 (Parsers)

파일 형식 및 메모리 내 구조를 파싱합니다.

Get-PE

디스크 및 메모리 내 PE 파서 및 프로세스 덤퍼입니다.

Find-ProcessPEs

적법한 방식으로 로드되었는지 여부에 관계없이 메모리에서 휴대용 실행 파일을 찾습니다.

Get-LibSymbols

Windows LIB 파일의 기호 정보를 표시합니다.

Get-ObjDump

Windows 개체(OBJ) 파일에 대한 정보를 표시합니다.

Windows 내부 (WindowsInternals)

저수준 Windows OS 정보를 획득하고 분석합니다.

Get-NtSystemInformation

ntdll!NtQuerySystemInformation 함수를 호출하고 출력을 파싱하는 유틸리티입니다. 이 유틸리티는 일반적으로 사용자에게 표시되지 않는 내부 OS 정보를 쿼리하는 데 사용할 수 있습니다.

Get-PEB

프로세스의 프로세스 환경 블록(PEB)을 반환합니다.

Register-ProcessModuleTrace

로드된 프로세스 모듈의 추적을 시작합니다.

Get-ProcessModuleTrace

Register-ProcessModuleTrace 호출 이후 로드된 프로세스 모듈을 표시합니다.

Unregister-ProcessModuleTrace

실행 중인 프로세스 모듈 추적을 중지합니다.

Get-SystemInfo

kernel32!GetSystemInfo에 대한 래퍼입니다.

기타 (Misc)

기타 도우미 함수들.

Get-Member

기본 제공 Get-Member cmdlet을 확장하는 프록시 함수입니다. '-Private' 매개변수를 추가하여 비공개 .NET 멤버를 표시할 수 있습니다.

Get-Strings

유니코드와 ASCII 모두에서 파일의 문자열을 덤프합니다. 이 cmdlet은 Sysinternals의 strings.exe 기능을 복제합니다.

ConvertTo-String

파일의 바이트를 원래 파일 바이트와 1:1 매핑되는 문자열로 변환합니다. ConvertTo-String은 바이너리 정규 표현식을 수행하는 데 유용합니다.

Get-Entropy

파일 또는 바이트 배열의 엔트로피를 계산합니다.

라이브러리 (Lib)

일부 RE 함수에 필요한 라이브러리.

Capstone

Capstone 디스어셈블리 엔진 C# 바인딩.

De4dot

강력한 .NET 난독 해제 및 .NET PE 파싱 라이브러리.

PSReflect

메모리 내 enum, 구조체 및 Win32 함수를 쉽게 정의하는 데 사용되는 모듈.

Formatters

다양한 PowerShellArsenal 함수의 출력 형식을 지정하는 데 사용되는 ps1xml 파일.

라이선스 (License)

PowerShellArsenal 모듈 및 모든 개별 스크립트는 명시적으로 달리 명시되지 않는 한 BSD 3-Clause 라이선스를 따릅니다.

사용법 (Usage)

각 개별 스크립트의 주석 기반 도움말을 참조하여 자세한 사용법을 확인하세요.

모듈을 설치하려면 PowerShellArsenal 폴더 전체를 모듈 디렉터리 중 하나에 넣으세요. 기본 PowerShell 모듈 경로는 $Env:PSModulePath 환경 변수에 나열되어 있습니다.

기본 사용자별 모듈 경로는: "$Env:HomeDrive$Env:HOMEPATH\Documents\WindowsPowerShell\Modules" 기본 컴퓨터 수준 모듈 경로는: "$Env:windir\System32\WindowsPowerShell\v1.0\Modules"

모듈을 사용하려면 Import-Module PowerShellArsenal을 입력하세요.

가져온 명령을 보려면 Get-Command -Module PowerShellArsenal을 입력하세요.

PowerShell v3을 실행 중이고 '인터넷에서 다운로드한 스크립트를 실행하시겠습니까?'라는 성가신 경고를 제거하려면 PowerShellArsenal을 모듈 경로에 배치한 후 다음 한 줄을 실행하세요: $Env:PSModulePath.Split(';') | % { if ( Test-Path (Join-Path $_ PowerShellArsenal) ) {Get-ChildItem $_ -Recurse | Unblock-File} }

각 개별 명령에 대한 도움말은 Get-Help를 사용하세요.

참고: 이 모듈에 포함된 도구는 모두 개별적으로 실행될 수 있도록 설계되었습니다. 모듈에 포함시키는 것은 단순히 이식성을 높이기 위함입니다.

스크립트 스타일 가이드 (Script Style Guide)

PowerShellArsenal의 모든 기여자 및 향후 기여자 여러분, 스크립트/모듈을 작성할 때 이 스타일 가이드를 따라 주시기 바랍니다.

  • Write-Host는 절대 사용하지 마십시오. PowerShell 함수/cmdlet은 명령줄 유틸리티가 아닙니다! Write-Host를 사용하는 코드가 포함된 풀 리퀘스트는 고려되지 않습니다. 대신 사용자 지정 개체를 출력해야 합니다. 사용자 지정 개체 생성에 대한 자세한 내용은 다음 문서를 읽어보세요:

    • http://blogs.technet.com/b/heyscriptingguy/archive/2011/05/19/create-custom-objects-in-your-powershell-script.aspx
    • http://technet.microsoft.com/en-us/library/ff730946.aspx
  • 화면에 관련 디버깅 정보를 표시하려면 Write-Verbose를 사용하세요. 사용자는 언제든지 '-Verbose'를 추가하면 됩니다.

  • 모든 스크립트에 대해 설명적이고 주석 기반의 도움말을 항상 제공하세요. 또한 자신의 이름과 BSD 3-Clause 라이선스(BSD 라이선스 적용을 막는 특별한 상황이 없는 한)를 포함해야 합니다.

  • 모든 함수가 적절한 PowerShell 동사-명사 규칙을 따르는지 확인하세요. Get-Verb를 사용하여 PowerShell에서 사용하는 기본 동사를 확인하세요. 지원되는 동사에 대한 예외는 경우에 따라 검토됩니다.

  • 변수 이름은 대문자로 쓰고 가능한 한 설명적으로 작성하는 것을 선호합니다.

  • 코드 사이에 논리적 공백을 제공하세요. 가독성을 높이기 위해 코드를 들여쓰기하세요.

  • 코드를 반복하는 경우 함수를 작성하세요.

  • 예상되는 모든 오류를 Catch하고 의미 있는 출력을 제공하세요. 스크립트 실행을 중단해야 하는 오류가 있으면 'Throw'를 사용하세요. 실행을 중단할 필요가 없는 오류가 있으면 Write-Error를 사용하세요.

  • Win32 API와 인터페이스하는 스크립트를 작성하는 경우 Add-Type으로 C#을 인라인 컴파일하지 마세요. 가능하면 PSReflect 모듈을 사용하세요.

  • 하드코딩된 경로를 사용하지 마세요. 스크립트는 바로 사용할 수 있어야 합니다. 아무도 코드를 수정할 필요가 없어야 합니다(원하는 경우는 제외).

  • PowerShell v2 호환성은 매우 바람직합니다.

  • 위치 매개변수를 사용하고 적절한 경우 매개변수를 필수로 만드세요. 예를 들어 다음과 같은 형식을 선호합니다:

    • [Parameter(Position = 0, Mandatory = $True)]
  • 파이프라인 입력을 받는 경우가 아니라면 별칭을 사용하지 마세요. 별칭은 특정 별칭에 익숙하지 않은 사람들이 코드를 읽기 어렵게 만듭니다.

  • 명령이 너무 길게 실행되지 않도록 하세요. 예를 들어 파이프라인은 줄 바꿈에 자연스러운 위치입니다.

  • 인라인 주석을 과도하게 사용하지 마세요. 코드의 특정 측면이 독자에게 혼란을 줄 수 있는 경우에만 사용하세요.

  • 원치 않는/관련 없는 출력을 억제하기 위해 Out-Null을 사용하는 대신 원치 않는 출력을 $null에 저장하세요. 이렇게 하면 약간의 성능 향상이 있습니다.

  • 적절한 경우 매개변수에 기본값을 사용하세요. 이상적으로는 매개변수 없이도 작동하는 스크립트를 원합니다.

  • 함수에 대한 주석 기반 도움말에 필요한 모든 종속성과 선택적 종속성을 명시적으로 명시하세요. 모든 라이브러리 종속성은 'Lib' 폴더에 있어야 합니다.

  • 스크립트가 복잡한 사용자 지정 개체를 생성하는 경우 개체의 출력을 적절히 형식화하는 ps1xml 파일을 포함하세요. ps1xml 파일은 Lib\Formatters에 저장됩니다.

도구 다운로드