文档章节

UPX 压缩最终文件的尝试

神秘的农夫
 神秘的农夫
发布于 02/27 17:57
字数 342
阅读 151
收藏 0
UPX

来源

https://github.com/upx/upx

UPX 命令详解

以下命令源于UPX 3.96

  • 用法
upx [-123456789dlthVL] [-qvfk] [-o file] file...
  • 命令
-1    快速压缩
-9    更好压缩
-d    解压缩
-l    压缩文件列表
-t    测试压缩文件
-V    显示版本号
-h    帮助
-L    显示软件许可
  • 选项
-q        安静模式
-v        详细模式
-o FILE   写输出到"FILE"
-f        强制压缩可疑文件
-k        保持备份文件
file... 可执行文件

测试C++编译后文件压缩

  • 源文件
#include <iostream>

int main(int argc,char* args[]){
    std::cout << "Hello World" << std::endl;
    return EXIT_SUCCESS;
}

C:\Users\lotuso\Desktop\upx-3.96-win64>.\upx.exe -9 C:\Users\lotuso\Desktop\a.exe                                                             
Ultimate Packer for eXecutables                                                                                            
Copyright (C) 1996 - 2020                                                                     
UPX 3.96w       Markus Oberhumer, Laszlo Molnar & John Reiser   Jan 23rd 2020
     File size         Ratio      Format      Name
--------------------   ------   -----------   -----------
  56882 ->     42034   73.90%    win64/pe     a.exe  

Packed 1 file.

C:\Users\lotuso\Desktop\upx-3.96-win64>   

测试Golang编译后文件压

  • 源代码
package main

import "fmt"

func main(){
	fmt.Println("Hello World")
}

PS C:\Users\lotuso\Desktop> go build .\hello.go 
PS C:\Users\lotuso\Desktop> c:\Users\lotuso\Desktop\upx-3.96-win64\upx.exe -9 .\hello.exe
                       Ultimate Packer for eXecutables
                          Copyright (C) 1996 - 2020
UPX 3.96w       Markus Oberhumer, Laszlo Molnar & John Reiser   Jan 23rd 2020

        File size         Ratio      Format      Name
   --------------------   ------   -----------   -----------
   2143744 ->   1100288   51.33%    win64/pe     hello.exe

Packed 1 file.
PS C:\Users\lotuso\Desktop> 

© 著作权归作者所有

神秘的农夫
粉丝 5
博文 49
码字总数 27455
作品 0
武汉
后端工程师
私信 提问
加载中

评论(0)

UPX为APK加壳中.init段相关问题

感谢UPX的维护者们.最近在读UPX源码,目的是为.so文件加壳玩. 在此之前阅读了大部分我能搜到的中文相关内容.很多语焉不详,所以综合了一下,编译出了Linux下的版本. 本文简单说明了以下内容: 为...

RenKaidi
2016/02/04
953
5
减小 golang 编译出程序的体积

-ldflags go build 编译程序时可以通过 来指定编译参数。 的作用是去掉符号信息。 的作用是去掉调试信息。 测试加与不加 -ldflags 编译出的应用大小。 UPX 压缩 在某些设备上动辄接近 10MB 的...

solate
2019/05/17
196
0
UPX 3.94 发布,超级压缩工具

UPX 3.94 发布了,UPX(the Ultimate Packer for eXecutables)是一个非常全面的可执行文件压缩软件,支持 dos/exe、dos/com、dos/sys、djgpp2/coff、watcom/le、win32/pe、rtm32/pe、tmt/ada...

局长
2017/05/15
6.5K
11
UPX 3.05 发布 - 超级压缩工具

UPX(the Ultimate Packer for eXecutables)是一个非常全面的可执行文件压缩软件,支持dos/exe、dos/com、dos/sys、djgpp2/coff、 watcom/le、win32/pe、rtm32/pe、tmt/adam、atari/tos、linux......

红薯
2010/04/29
443
1
UPX源代码中那些模块负责ARM SO的压缩?

@fallrain 您好,想跟您请教个问题: 我在学习UPX的源代码,按照您的博文编译了最新的UPX项目。但是我所找到和编译的ARM SO文件一直被提醒“未知文件格式”。我怀疑我的.so文件的头部字段存在...

RenKaidi
2016/01/22
628
1

没有更多内容

加载失败,请刷新页面

加载更多

.NET Core 3 WPF MVVM框架 Prism系列之命令

原文: .NET Core 3 WPF MVVM框架 Prism系列之命令 本文将介绍如何在.NET Core3环境下使用MVVM框架Prism的命令的用法 一.创建DelegateCommand命令# 我们在上一篇.NET Core 3 WPF MVVM框架 Pr...

osc_4dady4pk
8分钟前
13
0
Asp.Net Core下的开源任务调度平台ScheduleMaster—快速上手

原文: Asp.Net Core下的开源任务调度平台ScheduleMaster—快速上手 概述 ScheduleMaster是一个开源的分布式任务调度系统,它基于Asp.Net Core平台构建,支持跨平台多节点部署运行。 它的项目...

osc_3grma05a
8分钟前
8
0
php数组转字符串 加单双引号和逗号

$Arr = array(a,b,c,d,e,f,g) #join$str = " ' " . join("','", array_values($Arr) ) . " ' "; // 使用需要的符号拼接#str_replace$str = " ' ".str_replace( ",","','", impl......

啥都不会的程序员
10分钟前
11
0
性能计数器在.NET Core中的新玩法

原文: 性能计数器在.NET Core中的新玩法 传统的.NET Framework提供的System.Diagnostics.PerformanceCounter类型可以帮助我们收集Windows操作系统下物理机或者进程的性能指标,基于Performan...

osc_dg21zk4i
10分钟前
5
0
【WPF学习】第六十三章 理解WPF中的自定义元素

原文: 【WPF学习】第六十三章 理解WPF中的自定义元素   尽管可在任意WPF项目中编写自定义元素,但通常希望在专门的类库程序集(DLL)中放置自定义元素。这样,可在多个WPF应用程序之间共享自...

osc_5h77wdgp
11分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部