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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ROPInjector — ROP 인코딩된 셸코드들을 PE 파일에 패칭하기 | Kitploit
도구/GitHubGitHub/gpoulios/ropinjector
ExploitationIDS/IPS EvasionReverse EngineeringShellcodePenetration TestingBinary AnalysisRed TeamingShellcode GenerationPayload DevelopmentBinary Exploitation
GitHubgpoulios/ropinjector

ROPInjector

18649108년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →

ROP 인코딩된 셸코드들을 PE 파일에 패칭하기

저장소 보기
공유

ROPInjector

C (Win32)로 작성된 도구로, 모든 셸코드를 ROP로 변환하여 지정된 포터블 실행 파일(PE)에 패치합니다. 32비트 대상 PE와 x86 명령어 집합만 지원합니다.

Blackhat USA 2015에서 발표됨, "ROPInjector: Using Return Oriented Programming for Polymorphism and Antivirus Evasion" 자세한 정보:

  • (백서) https://www.blackhat.com/docs/us-15/materials/us-15-Xenakis-ROPInjector-Using-Return-Oriented-Programming-For-Polymorphism-And-Antivirus-Evasion-wp.pdf
  • (발표 자료) https://www.blackhat.com/docs/us-15/materials/us-15-Xenakis-ROPInjector-Using-Return-Oriented-Programming-For-Polymorphism-And-Antivirus-Evasion.pdf

사용법

root@kitploit:~
  ropinjector <감염할-파일> <셸코드-파일> <출력-파일>* [옵션]*

(*는 선택적 인수를 나타냄)

예:

root@kitploit:~
ropinjector.exe firefox.exe revshell.txt
  • 감염할-파일 : 32비트, 비패킹 PE

  • 셸코드-파일 : PE 파일에 패치할 셸코드

  • 출력-파일 (선택 사항) : 출력 파일의 이름. 지정하지 않으면 ROPInjector가 수행된 주입 유형을 나타내는 적절한 파일 이름을 선택합니다.

  • 옵션 :

root@kitploit:~
				
	text		셸코드 파일을 텍스트 파일로 강제로 읽습니다. 텍스트 형식의 
				셸코드는 \xHH\xHH\xHH 형식이어야 합니다.
	
	norop		셸코드를 ROP로 변환하지 않습니다.
	
	nounroll	SIB를 언롤하지 않습니다.
	
	noinj		누락된 가젯을 주입하지 않습니다.
	
	getpc		셸코드에서 getPC 구문을 대체하지 않습니다.
	
	entry		셸코드가 원래 PE 코드보다 먼저 실행되도록 합니다. 이 옵션이 없으면
				ROPInjector는 ExitProcess(), exit() 등의 호출을 후킹하여
				셸코드가 프로세스 종료 직전에 마지막으로 실행되도록 합니다.
				
	-d<초>		셸코드를 실행하기 전에 Sleep()할 시간(초)입니다.
				이 옵션을 지정하면 "entry"도 암시적으로 사용됩니다.

ROPInjector는 마지막에 쉼표로 구분된 통계를 출력합니다. (나타나는 순서대로):

  • 캐리어 PE 파일 이름
  • 결과 패치 파일의 출력 파일 이름
  • PE 파일의 초기 크기(바이트)
  • 셸코드 크기(바이트)
  • 패치 크기(바이트)
  • 언롤 수행 여부
  • 셸코드가 ROP로 변환되었는지 여부
  • 셸코드에서 getPC 구문이 대체되었는지 여부
  • 셸코드에 접근 권한이 부여된 시점 (항목 진입 시(먼저 실행) 또는 종료 시(마지막 실행))
  • 셸코드가 실행되기 전 Sleep()하는 지연 시간(초)
  • 셸코드의 초기 명령어 수
  • 언롤 및 기타 조작 후, ROP 이전의 셸코드 명령어 수
  • ROP 가젯으로 대체된 명령어 수 (위 지표의 명령어 중에서, 초기 명령어 수는 아님)
  • 주입된 가젯 수
  • 가젯 세그먼트 수
  • 주입된 가젯으로 대체된 명령어 수

라이선스

GPLv2.0, http://www.gnu.org/licenses/old-licenses/gpl-2.0.html

도구 다운로드