当前位置: 首页 > news >正文

Mac安装upx及不同os计算md5值

Mac安装upx

最近需要将exe文件打包到pod内部,为了减少包占用磁盘空间,需要借用upx对windows exe文件进行压缩。

1 概念:压缩工具

UPX 全称是 “Ultimate Packer for eXecutables”,是一个免费、开源、编写、可扩展、高性能的可执行程序打包程序。换句话说一个可执行文件的压缩工具。

  • UPX 可以压缩各种类型的可执行文件
  • 压缩后的文件可以直接由操作系统执行
  • 压缩过程不会修改源文件,也就意味着解压后直接可以得到原始文件
  • 不会产生额外的动态库调用

对于一些不法分子来说,也会通过upx对病毒和木马进行加壳以躲避病毒的查杀。

2 安装upx

网址:https://macappstore.org/upx/

因为我使用的是mac系统,所以首先想到通过brew install来进行安装。但发现过程中会报各种各样的问题。于是参考官网教程一步一步走,最后安装成功。

  1. 在终端复制如下命令
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. 输入配置到.zprofile配置文件
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
  1. 重新执行brew install upx,即可安装成功

在这里插入图片描述

3 使用

upx压缩命令很简单upx + 可执行文件名

upx aa.exe

拓展:

计算文件md5值

在文件传输过程中如果出现文件损坏或者打不开,第一时间应该计算文件md5值,查看是否在传输过程中有丢失

①linux:md5sum

md5sum + 文件名

在这里插入图片描述

②mac:md5

md5 + 文件名

在这里插入图片描述

③windows:Get-FileHash -Algorithm MD5

打开powershell(shift+鼠标右键)
Get-FileHash -Algorithm MD5 + 文件名

在这里插入图片描述

检查图片是否损坏

今天客户反馈说JPG图片无法在浏览器中打开,于是首先想到图片是否损坏。

检测图片是否损坏主要是看文件头是否正确,文件内容是否正确。我这里以检测JPG的文件头为例:

  • 分别读取JPG文件的头、尾字节。
  • JPG图片格式:FFD8 和FFD9

在这里插入图片描述

如果是mac可以直接通过安装工具检测:

# 安装图片检测工具
brew install imagemagick
# 检测图片是否损坏
magick identify -verbose example.jpg

如果图片未损坏则会出现下面结果:
在这里插入图片描述

http://www.lryc.cn/news/276061.html

相关文章:

  • Qt/C++编写视频监控系统82-自定义音柱显示
  • SpringBoot 如何 配置端口号
  • 跟随chatgpt从零开始安装git(Windows系统)
  • C++类与对象基础(6)
  • OS_lab——分页机制与内存管理
  • 【面试】Redis基础知识
  • CentOS 9 (stream) 安装 Docker
  • vite中配置服务代理
  • kotlin 中 any, all , none
  • 如何使用 Python、Node.js 和 Go 创建基于 YOLOv8 的对象检测 Web 服务
  • pod节点jar包替换流程
  • Pytorch:torch.nn.Module
  • 传统图像处理学习笔记更新中
  • Hyperledger Fabric Java App Demo
  • Doris 在工商信息商业查询平台的湖仓一体建设实践(02)
  • 218.【2023年华为OD机试真题(C卷)】攀登者2(动态规划-JavaPythonC++JS实现)
  • 【精通C语言】:分支结构switch语句的灵活运用
  • 数据结构和算法-数据结构的基本概念和三要素和数据类型和抽象数据类型
  • LeetCode 2353. 设计食物评分系统【设计,哈希表,有序集合;堆+懒删除】1781
  • Redis (三)
  • CompletableFuture超详解与实践
  • Maven之私服
  • #define宏定义的初探
  • 机器学习 -决策树的案例
  • 04、Kafka ------ 各个功能的作用解释(Cluster、集群、Broker、位移主题、复制因子、领导者副本、主题)
  • 1、C语言:数据类型/运算符与表达式
  • [ffmpeg系列 03] 文件、流地址(视频)解码为YUV
  • python算法每日一练:连续子数组的最大和
  • 一个vue3的tree组件
  • 新手练习项目 4:简易2048游戏的实现(C++)