Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
PowerShell-Pro-Obfuscator-Python — PowerShell 스크립트 소스 코드 난독화 및 가상화를 유연한 Web API로 자동화하는 Python(pip 패키지) 도구입니다. | Kitploit
도구/GitHubGitHub/pelock/powershell-pro-obfuscator-python
Code AnalysisScripting & AutomationUtilities & Frameworks
GitHubpelock/powershell-pro-obfuscator-python

PowerShell-Pro-Obfuscator-Python

PowerShell 스크립트 소스 코드 난독화 및 가상화를 유연한 Web API로 자동화하는 Python(pip 패키지) 도구입니다.

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트
2242개월 전아직 검토되지 않음

PowerShell Pro Obfuscator — PowerShell 코드 난독화 및 가상화

PowerShell Pro Obfuscator는 독점 .ps1 스크립트를 이름 변경, 다형성 문자열 및 정수 암호화, 제어 흐름 평탄화, 유한 상태 오토마타(FSA), VM 엔진, 자체 방어 무결성 검사, 보호 링커, 그리고 안티 디버깅 프로브로 보호합니다.

다형성 문자열 암호화, VM 엔진, 유한 상태 오토마타 변환, 자체 무결성 및 안티 디버깅 검사를 통해 PowerShell .ps1 스크립트를 난독화, 가상화 및 보호하세요 — GUI, CLI, 온라인 도구 또는 API를 통해 사용할 수 있습니다.

더 자세한 기술 정보, 다운로드, 문서는 다음에서 확인하세요:

https://www.pelock.com/products/powershell-pro-obfuscator

PowerShell Pro Obfuscator Windows Client

Windows 및 Linux에서 사용할 수 있습니다:

  • https://www.pelock.com/products/powershell-pro-obfuscator/download

다양한 프로그래밍 API 사용 가능:

  • https://www.pelock.com/products/powershell-pro-obfuscator/api

온라인 난독화 인터페이스:

  • https://www.pelock.com/powershell-pro-obfuscator/

PowerShell 스크립트에 난독화가 필요한 이유는 무엇인가요?

스크립트는 일반적으로 일반 .ps1 파일로 배포되거나 모듈에 포함됩니다. 이러한 편의성 때문에 파일에 접근할 수 있는 사람이라면 누구나 전체 로직을 읽고, 문자열에서 자격 증명이나 API 키를 찾아내며, 의도를 숨기기 위한 추가 조치를 취하지 않는 한 알고리즘을 도용할 수 있습니다.

PowerShell은 .NET 기반의 크로스 플랫폼 셸이자 스크립팅 언어입니다. Windows와 Linux에서 자동화, 구성, DevOps 파이프라인 및 엔드포인트 관리에 널리 사용됩니다.

난독화 전략

PowerShell Pro Obfuscator는 다양한 고급 난독화, 가상화 및 보호 전략을 제공합니다. 보호 수준과 크기 및 성능 간의 균형을 쉽게 조정할 수 있습니다.

PowerShell Obfuscation options

Obfuscation 강력한 난독화

PowerShell Pro Obfuscator는 다형성 문자열 암호화, 정수 및 부동소수점 암호화, 디코이 노이즈 삽입과 같은 최첨단 난독화 전략을 사용합니다. 그 결과 리터럴과 구조를 숨기면서도 검증된 런타임 동작을 유지합니다.

Processor 코드 가상화

선택된 명령문은 셔플된 switch 케이스, 디코이 opcode 및 난독화된 디스패처 루프가 포함된 무작위 생성 VM 엔진 opcode로 변환됩니다. 분석가는 일반 PowerShell을 읽는 대신 가상 머신을 해석해야 합니다.

Node 유한 상태 오토마타(FSA)

유한 상태 오토마타(FSA) 난독화는 선형 PowerShell 명령문 블록을 불투명 스케줄러와 셔플된 디스패치 핸들러가 있는 이중 상태 오토마타로 재작성합니다. 분석가는 코드를 위에서 아래로 읽는 대신 숫자 상태, 전이 테이블 및 디코이 경로를 따라 원래 순서를 재구성해야 합니다.

Bug 안티 디버깅

안티 디버깅 보호는 연결된 디버거, PowerShell 중단점, 디버그 기본 설정 및 추적 모드, 관련 호스트 신호를 감지하는 다형성 프로브를 삽입합니다. 검사가 트리거되면 난독화된 스크립트는 대화형 분석 중에 보호된 로직을 노출하는 대신 조용히 종료됩니다.

System monitor 자체 무결성 검사

부트스트랩 프로브는 디스크에 있는 스크립트 형태(함수 수 및 무결성 토큰)를 검증하고 파일이 난독화된 빌드와 더 이상 일치하지 않을 때 변조 키를 설정합니다. 문자열 복호화기는 해당 키를 사용하므로 패치된 스크립트는 평문 대신 쓰레기 값을 반환합니다. 이 자체 방어 계층은 일반적인 역난독화 및 파일 편집 비용을 높입니다.

Brick link 보호 링커

후반 패스에서 허니팟 리졸버, 무작위 인수를 가진 가짜 헬퍼 호출 및 부트스트랩 완료 전에만 활성화되는 얕은 스택 트립와이어를 연결합니다. 추출된 스니펫은 정적 검토에서 실제처럼 보이는 노이즈 호출 표면을 유지합니다. 무결성 검사 성공 후의 정상 실행은 변경되지 않습니다.

난독화 전후 비교

이 예시를 살펴보세요 — 동일한 스크립트가 난독화 후에는 한눈에 읽기 어려워집니다.

난독화 전 샘플 PowerShell 스크립트

function Get-Greeting {
    param([string]$Name)
    Write-Host "Hello World from $Name!"
}
Get-Greeting "PowerShell Pro Obfuscator"

난독화 후

$script:_HnJTskg = 0
$jwNTQ = 297 * 400 + 36
$x4e8bfda = [Math]::Abs($jwNTQ - 8074)
$_EvKocNn = [Math]::Max($jwNTQ, $x4e8bfda) - [Math]::Min($jwNTQ, $x4e8bfda)
[void]$_EvKocNn
$script:_jUoXkBYh = 0
function gnJjzMCN3V8P {
    param([int]$slot, [int]$salt, [int]$guard)
    if (-not ((Get-Variable -Name _HnJTskg -Scope Script -ErrorAction SilentlyContinue).Value)) { return '' }
    @('JFE', 'm0ao', 'R8Ysw') | ForEach-Object { $_.ToUpper() } | Out-Null
if ((((($slot * 31) + $salt) -band 65535) -ne $guard)) { return '' }
    $tk = (Get-Variable -Name _jUoXkBYh -Scope Script -ErrorAction SilentlyContinue).Value
    $IEm39CSpDOEFp = @{ 'Ouj1' = 455; 'vjzO' = 170; 'IQNV' = 291 }
$IEm39CSpDOEFp['R5LrM'] = $IEm39CSpDOEFp['Ouj1'] + $IEm39CSpDOEFp['vjzO']
$YWxSO = ($IEm39CSpDOEFp.Values | Measure-Object -Sum).Sum
[void]$YWxSO
if ($null -eq $tk) { [long]$tk = 0 }
    $v93a130f2e4 = 508
switch ($v93a130f2e4) {
    524 { $_GYF7IA14Go = 'H1Vph' }
    561 { $_GYF7IA14Go = 'HAWoB' }
    default { $_GYF7IA14Go = $v93a130f2e4 * 2 }
}
[void]$_GYF7IA14Go
$dk = (Get-Variable -Name vb6a18ffee4 -Scope Script -ErrorAction SilentlyContinue).Value
    try { $xgLN5KZyEusFo7 = [Math]::Sqrt(850) } finally { [void]$xgLN5KZyEusFo7 }
if ($null -eq $dk) { [long]$dk = 0 }
    $d = @(46866, 46865)
    if ((((-not 113))-and(([int](272 -ne 272) -eq 21)))-and(([Math]::Sign(-12) -eq 4))) { $w4iTzi2hooy1GW = @(711, 562, 665); $w4iTzi2hooy1GW = ($w4iTzi2hooy1GW | Measure-Object -Sum).Sum }
$r = ''
    for ($s9qOSpiZzufQlVyV = 0; $s9qOSpiZzufQlVyV -lt $d.Length; $s9qOSpiZzufQlVyV++) {
        [long]$v = [long]$d[$s9qOSpiZzufQlVyV]
        for ($jL9gL7PEtQeIS = 2; $jL9gL7PEtQeIS -ge 0; $jL9gL7PEtQeIS--) {
            for ($PsbomDHxAy = 2; $PsbomDHxAy -ge 0; $PsbomDHxAy--) {
                    [long]$v = [long]$v + ([long](https://github.com/pelock/powershell-pro-obfuscator-python/blob/main/230))
            }
        }
        for ($zhH33vzxjIzegl9 = 0; $zhH33vzxjIzegl9 -ge 0; $zhH33vzxjIzegl9--) {
                [long]$v = [long]$v + ([long]([int]((((((236 + (-3 * $s9qOSpiZzufQlVyV) + (3 * $zhH33vzxjIzegl9))) % 256) + 256) % 256))))
                [long]$v = [long]$v -bxor ([long](https://github.com/pelock/powershell-pro-obfuscator-python/blob/main/53766))
        }
        [long]$v = [long]$v - ([long]($salt + $slot + $tk + $dk + 0))
        if ([long]$v -ge 0 -and [long]$v -le 0xFFFF) { $r += [char][int][long]$v }
        elseif ([long]$v -ge 0x10000 -and [long]$v -le 0x10FFFF) { $r += [System.Char]::ConvertFromUtf32([int][long]$v) }
    }
    return $r
}
and more...

난독화된 텍스트만 있고 원본 스크립트 사본이 없다면 원래 의도를 여전히 알아볼 수 있을까요?

Obfuscated PowerShell script

PowerShell Pro Obfuscator는 어떻게 작동하나요?

엔진은 PowerShell 소스를 AST 트리로 파싱한 다음 선택 가능한 변환을 적용합니다: 식별자 이름 변경, 제어 흐름 평탄화, 유한 상태 오토마타(FSA), VM 가상화, 다형성 문자열 및 정수 암호화, 노이즈 및 디코이 삽입, 자체 방어 무결성 프로브, 보호 링커 및 안티 디버깅 검사. 많은 기법이 이 제품에 고유하며, 일부 아이디어는 당사의 다른 보호 도구와 공유됩니다.

PowerShell Pro Obfuscator Pipeline

모든 패스가 완료되면 엔진은 새로운 .ps1 파일을 생성합니다. PowerShell 문법 및 호스팅 환경의 엣지 케이스로 인해 항상 대상 런타임에서 출력을 테스트해야 합니다.

PowerShell 스크립트 및 알고리즘 보호

위험을 감수하지 마세요. PowerShell Pro Obfuscator를 사용하여 PowerShell 스크립트와 알고리즘을 난독화, 가상화 및 보호하세요.

도구 다운로드