首页 > 系统相关 >在CMD和PowerShell下如何制作图片马

在CMD和PowerShell下如何制作图片马

时间:2024-01-16 16:57:07浏览次数:37  
标签:文件 二进制 数据 CMD jpg Content 制作 PowerShell 图片

目录

图片马通常是在图片文件中嵌入其他信息,以隐藏额外的数据。当使用命令行工具(如 CMD 或 PowerShell)制作图片马时,copy 命令和 Get-Content(简写为 gc)命令的目标是将一段数据(可能是一段脚本或其他二进制数据)嵌入到图片文件中。以下是这两个命令在制作图片马时的关系:

在 CMD 中使用 copy 命令:

  1. 基本语法:

    copy /b Image.jpg + Payload.exe Output.jpg
    
    • /b 表示二进制模式,确保按照二进制方式处理文件。
    • Image.jpg 是原始图片文件。
    • Payload.exe 是要嵌入的二进制文件(可能是恶意代码)。
    • Output.jpg 是生成的图片马文件。
  2. 原理:

    • copy 命令通过 /b 参数启用二进制模式,将两个文件的二进制数据合并成一个新文件。
    • Payload.exe 的二进制数据直接附加到 Image.jpg 文件的末尾,生成的 Output.jpg 包含了原始图片和嵌入的二进制数据。

在 PowerShell 中使用 gc 命令:

  1. 基本语法:

    (Get-Content -Path Image.jpg -Encoding Byte) + (Get-Content -Path Payload.exe -Encoding Byte) | Set-Content -Path Output.jpg -Encoding Byte
    
    • Get-Content 用于读取文件的内容。
    • -Encoding Byte 确保文件以二进制方式读取。
    • + 运算符将两个文件的二进制数据连接在一起。
    • Set-Content 用于将合并的二进制数据写入新文件。
  2. 原理:

    • Get-Content 命令读取 Image.jpgPayload.exe 的二进制数据。
    • 通过 + 运算符将两个二进制数据集连接在一起。
    • 使用 Set-Content 命令将连接后的二进制数据写入 Output.jpg

总结:

  • copy 命令是 CMD 中用于合并二进制数据的方式。
  • Get-Content 命令是 PowerShell 中读取二进制数据的方式。
  • 两者都可以用于将二进制数据嵌入到图片文件中,制作所谓的图片马。
  • 制作图片马时,如果使用非二进制编码,可能会导致图片文件的内容被解释、修改,从而破坏图像的数据。在这种情况下,为确保数据的完整性和正确性,使用二进制编码是更为安全和可靠的选择。
  • 当使用二进制编码时,文件中的每个字节都会按照其原始的二进制值进行保存,而不会受到文本编码的影响。这对于包含嵌入式数据的文件非常重要,因为这些数据通常以二进制形式存在。

请注意,在实际应用中,制作和使用图片马涉及到法律和伦理问题,且可能违反法规。本笔记仅仅为喜欢技术的同学分享一些技术上的内容。

标签:文件,二进制,数据,CMD,jpg,Content,制作,PowerShell,图片
From: https://www.cnblogs.com/awzy/p/17968053

相关文章

  • 【视频编辑工具】上海道宁与剪映助力您更轻松制作出专业级的视频作品
     在当今的数字媒体时代从生活到学习视频已经成为人们获取外界信息必不可少的方式与之相对应的制作视频已经成为了企业商业宣传的重要方式  对于许多非专业人士来说视频制作可能是一项复杂且繁琐的任务剪映是一款强大且易用的视频编辑工具让每一个人或者......
  • 使用s3cmd工具访问对象存储
      近两天在测试某cloud的对象存储,使用客户端s3cmd工具在centos下部署。部署过程和常用功能如下:某cloud的对象存储下载和安装下载地址:https://s3tools.org/download   本次使用的是s3cmd-2.4.0.tar.gz文件。安装先解决依赖关系---- yuminstallpython-dateutil,否则会提示......
  • (2)Powershell开发工具
    (2)Powershell开发工具在上一节对Powershell进行了简单介绍,详细内容参考Powershell简介,这一节介绍Powershell的开发工具及其设置注意事项。本文包含以下知识点如何启动WindowsPowershell命令行开发工具WindowsPowershell命令行的简单设置如何启动WindowsPowershel......
  • (1)Powershell简介
    (1)Powershell简介本文会包含以下三个知识点什么是Powershell?学习Powershell有什么好处?学习Powershell需要哪些条件?什么是Powershell?Powershell(WindowsPowershell)是Microsoft为Windows设计的新的命令行程序,这个Windows内置的命令行shell包括交互式提示和脚本环......
  • 使用 Python 和 Pygame 制作游戏:第六章到第八章
    第六章:贪吃虫原文:inventwithpython.com/pygame/chapter6.html译者:飞龙协议:CCBY-NC-SA4.0    如何玩贪吃虫贪吃虫是Nibbles的克隆。玩家开始控制一个不断在屏幕上移动的短蠕虫。玩家无法停止或减慢蠕虫,但他们可以控制它转向的方向。红苹果随机出现在屏幕上,玩家必......
  • 使用 Python 和 Pygame 制作游戏:第九章到第十章
    第九章:推星星原文:inventwithpython.com/pygame/chapter9.html译者:飞龙协议:CCBY-NC-SA4.0         如何玩推星星推星星是Sokoban或“箱子推动者”的克隆。玩家位于一个房间,里面有几颗星星。房间中的一些瓷砖精灵上有星星标记。玩家必须想办法将星星推到有星......
  • 利用PowerShell修改网络配置
    title:利用PowerShell修改网络配置date:2022-03-30categories:编程tags:-PowerShell-网络-Windows前言修改IP、网关、子网掩码、DNS等配置时需要打开网络配置器配置,有些麻烦。尤其是经常需要重复性操作时(例如去学校图书馆蹭网)。用PowerShell脚本自动修改,方便简单而......
  • 【Powershell】管理DHCPServer
    欢迎购买课程:https://edu.51cto.com/course/35515.html适合人群:对Powershell和域控有一定基础和感兴趣的运维你将会学到:利用Powershell创建和管理DHCPServer课程简介:本课程将教你利用Powershell创建和管理DHCPServer,特别是管理DHCPFailover,详解故障转移中的负载均衡和热备模式的差......
  • 【Powershell】域用户提权
    适合人群:适合对Powershell和域有一定基础和感兴趣的运维。课程目标:利用Powershell和计划任务让普通用户能用管理员权限执行程序或脚本课程简介:以往都需要借助收费第三方软件来完成的事情,现在可以通过强大的Powershell完成。利用Powershell和计划任务让普通用户能用管理员权限执行......
  • P3243 [HNOI2015] 菜肴制作 题解
    前言今天考试考到这道题,挂惨了。题意有\(n\)道菜肴,编号为\(1\simn\)。有\(m\)个条件,形如\((i,j)\),表示菜肴\(i\)必须在菜肴\(j\)之前制作。需求出一个菜肴的制作顺序,满足:在满足所有限制的前提下,\(1\)号菜肴尽量优先制作。在满足所有限制,\(1\)号菜肴尽量优......