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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
RunPE — 비관리 바이너리용 C# 리플렉티브 로더. | Kitploit
도구/GitHubGitHub/nettitude/runpe
Impersonation ToolsPost-ExploitationPenetration TestingRed TeamingPayload DevelopmentAdversarial Attack
GitHubnettitude/runpe

RunPE

비관리 바이너리용 C# 리플렉티브 로더.

저장소 보기
447653년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

RunPE

비관리 바이너리를 위한 C# 리플렉티브 로더입니다.

사용법

root@kitploit:~
Usage: RunPE.exe <file-to-run> <args-to-file-to-run>
        e.g. RunPE.exe C:\Windows\System32\net.exe localgroup administrators

Alternative usage: RunPE.exe ---f <file-to-pretend-to-be> ---b <base64 blob of file bytes> ---a <base64 blob of args>
        e.g: RunPE.exe ---f C:\Windows\System32\svchost.exe ---b <net.exe, base64 encoded> ---a <localgroup administrators, base64 encoded>

빌드 구성 옵션

컴파일 기호를 편집하여 프로그램 흐름을 신속하게 조정하세요: (Visual Studio에서 프로젝트를 마우스 오른쪽 버튼으로 클릭 -> 속성 -> 빌드 -> 조건부 컴파일 기호)

  • DEBUG (디버그 모드에서 자동으로 추가됨) -> 매우 상세한 로깅
  • BREAK_TO_ATTACH -> "Press Enter to continue..."를 출력하고 디버거를 연결할 수 있도록 입력을 대기합니다

PE 컴파일 제한 사항

RunPE를 통해 실행되는 실행 파일은 StdOut 및 StdErr 리디렉션이 올바르게 작동하려면 정적으로 링크되어야 합니다. Visual Studio에서 이 설정을 변경하려면:

  • 프로젝트의 속성을 엽니다.
  • 구성 속성 -> C/C++ -> 코드 생성(으)로 이동합니다.
  • 런타임 라이브러리 값을 다중 스레드(/MT) 또는 다중 스레드 디버그(/MTd)로 변경합니다.
  • 프로젝트를 다시 컴파일합니다.

인수 제한 사항

인수 구문 분석을 위해 Windows API CommandLineToArgvW를 사용하지 않는 실행 파일은 RunPE를 통해 인수가 제대로 전달되지 않습니다. 운영자가 컴파일을 제어할 수 있는 PE를 실행하는 경우에는 이 API를 사용하여 인수 구문 분석 지원을 추가하는 것이 좋습니다.

예를 들어, 다음 코드는 프로그램을 독립적으로 실행할 때는 작동하지만, "foo"가 argv[2]로 이동되었기 때문에 RunPE에 전달하면 실패합니다.

root@kitploit:~
if (argv[1] == "foo") {
    bar();
}

argv를 CommandLineArgvW로 리팩터링하는 예제:

root@kitploit:~
#include <stdio.h>
#include <Windows.h>

int main(int argc, char* argv[]) {
	int nArgs;
	LPWSTR *szArglist;
	
	szArglist = CommandLineToArgvW(GetCommandLineW(), &nArgs);

	for (int i = 0; i < nArgs; i++) {
		printf("argv[%d]: %ws\n", i, szArglist[i]);
	}

	return 0;
}
도구 다운로드