Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/gpoulios/ropinjector
漏洞利用IDS/IPS规避逆向工程Shellcode渗透测试二进制分析红队Shellcode 生成Payload 开发二进制利用
GitHubgpoulios/ropinjector

ROPInjector

将ROP编码的shellcode修补到PE中

186498年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库

ROPInjector

一款用C(Win32)编写的工具,可将任意Shellcode转换为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 <被感染文件> <Shellcode文件> <输出文件>* [选项]*

(* 表示可选参数)

例如:

root@kitploit:~
ropinjector.exe firefox.exe revshell.txt
  • 被感染文件 : 任意32位、未加壳的PE文件

  • Shellcode文件 : 要注入PE文件中的Shellcode

  • 输出文件(可选): 输出文件的名称。如果未指定, ROPInjector将选择一个合适的文件名,表明所执行的注入类型。

  • 选项:

root@kitploit:~
				
	text		强制将Shellcode文件作为文本文件读取。文本格式的Shellcode
				必须采用 \xHH\xHH\xHH 的形式。
	
	norop		不要将Shellcode转换为ROP。
	
	nounroll	不要展开SIB(Scale-Index-Base)。
	
	noinj		不要注入缺失的gadget。
	
	getpc		不要替换Shellcode中的getPC结构。
	
	entry		让Shellcode在原始PE代码之前运行。如果不指定此选项,
				ROPInjector将尝试挂钩ExitProcess()、exit()等函数,使得Shellcode
				在进程退出之前最后运行。
				
	-d<秒数>	在运行Shellcode前休眠指定的秒数。
				当指定此选项时,也会隐式启用"entry"。

ROPInjector最终会输出一些逗号分隔的统计数据。依次为:

  • 载体PE文件名
  • 生成的补丁文件输出名称
  • PE文件初始大小(字节)
  • Shellcode大小(字节)
  • 补丁大小(字节)
  • 是否执行展开
  • Shellcode是否已转换为ROP
  • Shellcode中的getPC结构是否被替换
  • 是在入口(先运行)还是出口(后运行)执行Shellcode
  • Shellcode运行前的延迟秒数
  • Shellcode中的初始指令数
  • 经过展开和其他处理之后(但尚未转换为ROP之前)的Shellcode指令数
  • 被ROP gadget替换的指令数(基于前一项指标,而非初始指令数)
  • 注入的gadget数量
  • gadget段数量
  • 被注入gadget替换的指令数

许可证

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

下载工具