基于剪贴板的文件传输方案

文章目录

  • 背景
  • 原理
  • 步骤
    • 获取待上传文件的十六进制数据
    • 格式转换
    • 输出

背景

某次误删了环境上的C库之后想到的
什么都不可用了,但当前的ssh连接还在,echo命令和重定向符还可以使用
这就催生了我的想法:直接用echo -en “\xab\xcd” > file这样直接把C库给恢复回来

原理

当前的ssh连接已经被加载到了内存中运行,所以当前连接还在

echo命令不是一般的可执行文件,是bash的内建命令,当前bash也被加载到了内存中,所以当前bash还可用

echo -en “\xab\xcd” > file 输出二进制形式的数据再重定向到文件

步骤

获取待上传文件的十六进制数据

首先把待上传文件以十六进制打印出来,比如我要恢复C库,就去其他一样的环境上找一个C库

od -xvAn file > origin.bin,-x 以 16进制打印, -v verbose 不省略全0行, -An 不打印偏移量

这样就输出了全部的二进制数据到origin.bin文件

格式转换

上一步输出的十六进制数据还需要转换,需要每个字节前插入一个\x转义符,按内存序重排、移除空格和换行符

在这里插入图片描述

这个字符插入+顺序重排写个代码随便就搞定了,我的源代码不在这台电脑上,有空了补一下

输出

用本地环境的文本编辑器打开重排后的文件,全选 复制
然后在目标环境上打印出echo -en “” > target_file,粘贴到引号中间

静静等待复制完成

因为一个字节会被扩展为两个16进制数且插入了\x符号,所以原本2~3MB大小的文件会被扩大到约10MB大小,但是不用担心,剪贴板是很可靠的,即使10兆个字符它也一样不会有一个误码

10MB字节我复制约需5分钟,时间长短可能和本地电脑、目标主机性能、网速有关

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/472594.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

林浩然与杨凌芸的Java时光魔法:格式化历险记

林浩然与杨凌芸的Java时光魔法:格式化历险记 The Java Time Odyssey of Lin Haoran and Yang Lingyun: A Formatting Adventure 在编程世界的一隅,有一个名叫林浩然的程序员。他是个Java大侠,对代码世界的法则了如指掌,尤其擅长驾…

后端接口如何部署到前端

先跑通后端 把后端接口路径写入前端两个env.js中的BASE_API 这里以后要替换成个人域名,目前就可以对前端进行打包,改了代码记得先重新打包

luigi,一个好用的 Python 数据管道库!

🏷️个人主页:鼠鼠我捏,要死了捏的主页 🏷️付费专栏:Python专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 前言 大家好,今天为大家分享一个超级厉害的 Python 库 - luigi。 Github地址:https://github.com/spotify/luigi 在大数据时代,处理海量数据已经成…

LeetCode 0103.二叉树的锯齿形层序遍历:层序遍历 + 适时翻转

【LetMeFly】103.二叉树的锯齿形层序遍历:层序遍历 适时翻转 力扣题目链接:https://leetcode.cn/problems/binary-tree-zigzag-level-order-traversal/ 给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往…

机器学习面试:请你谈谈逻辑回归的用法?

逻辑回归可用于以下几个方面: (1)用于概率预测。用于可能性预测时,得到的结果有可比性。比如根据模型进而预测在不同的自变量情况下,发生某病或某种情况的概率有多大。 (2)用于分类。实际上跟预测有些类似,也是根据模型,判断某人属…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Marquee组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Marquee组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Marquee组件 跑马灯组件,用于滚动展示一段单行文本,仅当…

天猫平台数据查询(天猫数据分析):床上用品市场规模达335亿,床品消费呈现功能化趋势

作为人们的生活必需品之一,床上用品的市场规模庞大。近年来,越来越多消费者购物习惯发生转变,线上客流大幅提升,面对这一变化,许多家纺企业开始借助线上平台开展销售,不断创新营销模式,通过短视…

基于RBF神经网络的自适应控制器simulink建模与仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1自适应控制器 4.2 RBF神经网络模型 5.完整程序 1.程序功能描述 在simulink中,使用S函数编写基于RBF神经网络的自适应控制器,然后实现基于RBF神经网络的自适应控制…

牛客网SQL进阶128:未完成试卷数大于1的有效用户

官网链接: 未完成试卷数大于1的有效用户_牛客题霸_牛客网现有试卷作答记录表exam_record(uid用户ID, exam_id试卷ID, st。题目来自【牛客题霸】https://www.nowcoder.com/practice/46cb7a33f7204f3ba7f6536d2fc04286?tpId240&tqId2183007&ru%2…

C#,二进制数的按位旋转(Bits Rotate)算法与源代码

1 二进制数的按位旋转 二进制数的按位旋转(翻转)是编程中常见的按位运算方法。 二进制数的按位旋转分为左转、右转。 左转意味着数据变大,右转意味着数据变小(有损)。 2 源程序 using System; using System.Text; us…

社区养老|社区养老服务系统|基于springboot社区养老服务系统设计与实现(源码+数据库+文档)

社区养老服务系统目录 目录 基于springboot社区养老服务系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员部分功能 (1) 用户管理 (2)服务种类管理 (3)社区服务管理 &#xff08…

多线程的基本原理学习

由一个问题引发的思考 线程的合理使用能够提升程序的处理性能,主要有两个方面,第一个是能够利用多核cpu以及超线程技术来实现线程的并行执行;第二个是线程的异步化执行相比于同步执行来说,异步执行能够很好的优化程序的处理性能提…