当前位置: 首页 > 工具软件 > UPX > 使用案例 >

UPX 极限压缩 UPX命令行

楚畅
2023-12-01
@echo off
title UPX
cd /d %~dp1
set filepath="%~1"
set filename=%~n1
set "ps_cmd=powershell -c "[Timespan]::FromMilliseconds([Environment]::TickCount).totalseconds""

rem 获取开始时间
for /f %%i in ('%ps_cmd%') do (set s=%%i)

rem 执行任务代码
upx --ultra-brute %filepath% -o %filename%_u.exe
rem 任务代码结束

rem 获取结束时间
for /f %%i in ('%ps_cmd%') do (set e=%%i)

rem 计算所用时间,调用VBS计算结果,因为BAT不支持浮点数运算
set r=%e%-%s%
echo Wscript.echo %r%>"%temp%\t.vbs"
for /f %%a in ('cscript /nologo "%temp%\t.vbs"') do (set r=%%a)
echo.&echo 任务完成,耗时: %r% 秒

pause >nul

::                           Copyright (C) 1996 - 2020
::                        Ultimate Packer for eXecutables
:: UPX 3.96w       Markus Oberhumer, Laszlo Molnar & John Reiser   Jan 23rd 2020
:: 
:: 用法:upx [-123456789dlthVL] [-qvfk] [-o 文件] 文件..
:: 
:: 命令:
::   -1 压缩更快 -9 压缩更好
::   --best compress best (对于大文件可能会很慢)
::   -d 解压缩 -l 列出压缩文件
::   -t 测试压缩文件 -V 显示版本号
::   -h 提供此帮助 -L 显示软件许可证
:: 
:: 选项:
::   -q 安静 -v 详细
::   -oFILE 将输出写入“文件”
::   -f 强制压缩可疑文件
::   --no-color, --mono, --color, --no-progress 改变外观
:: 
:: 压缩调整选项:
::   --brute 尝试所有可用的压缩方法和过滤器 [慢]
::   --ultra-brute 尝试更多的压缩变体 [非常慢]
:: 
:: 备份选项:
::   -k, --backup 保留备份文件
::   --no-backup 不备份文件 [默认]
:: 
:: 叠加选项:
::   --overlay=copy 复制附加到文件的任何额外数据[默认]
::   --overlay=strip 删除附加到文件的任何额外数据 [危险]
::   --overlay=skip 不压缩带有覆盖的文件
:: 
:: djgpp2/coff 的选项:
::   --coff 产生COFF输出[默认:EXE]
:: 
:: dos/com 的选项:
::   --8086 使压缩的 com 在任何 8086 上工作
:: 
:: dos/exe的选项:
::   --8086 使压缩的 exe 在任何 8086 上工作
::   --no-reloc 不将重定位放入 exe 标头
:: 
:: dos/sys 的选项:
::   --8086 使压缩系统在任何 8086 上工作
:: 
:: ps1/exe 的选项:
::   --8-bit 使用 8 位大小压缩 [默认:32 位]
::   --8mib-ram 8 MB 内存限制 [默认值:2 MiB]
::   --boot-only 禁用客户端/主机传输兼容性
::   --no-align 不对齐到 2048 字节 [启用:--console-run]
:: 
:: watcom/le 的选项:
::   --le 产生 LE 输出 [默认:EXE]
:: 
:: win32/pe、win64/pe、rtm32/pe & arm/pe 的选项:
::   --compress-exports=0 不压缩导出表
::   --compress-exports=1 压缩导出表 [默认]
::   --compress-icons=0 不压缩任何图标
::   --compress-icons=1 压缩除第一个图标以外的所有图标
::   --compress-icons=2 压缩除第一个图标目录以外的所有目录 [默认]
::   --compress-icons=3 压缩所有图标
::   --compress-resources=0 根本不压缩任何资源
::   --keep-resource=list 不压缩列表指定的资源
::   --strip-relocs=0 不剥离重定位
::   --strip-relocs=1 保留重定位 [默认]
:: 
:: linux/elf 的选项:
::   --preserve-build-id 复制 .??gnu.note.build-id 到压缩输出
:: 
:: 文件..可执行文件(解)压缩
:: 
:: 该版本支持:
::     amd64-darwin.dylib                   dylib/amd64
::     amd64-darwin.macho                   macho/amd64
::     amd64-linux.elf                      linux/amd64
::     amd64-linux.kernel.vmlinux           vmlinux/amd64
::     amd64-win64.pe                       win64/pe
::     arm-darwin.macho                     macho/arm
::     arm-linux.elf                        linux/arm
::     arm-linux.kernel.vmlinux             vmlinux/arm
::     arm-linux.kernel.vmlinuz             vmlinuz/arm
::     arm-wince.pe                         arm/pe
::     arm64-darwin.macho                   macho/arm64
::     arm64-linux.elf                      linux/arm64
::     armeb-linux.elf                      linux/armeb
::     armeb-linux.kernel.vmlinux           vmlinux/armeb
::     fat-darwin.macho                     macho/fat
::     i086-dos16.com                       dos/com
::     i086-dos16.exe                       dos/exe
::     i086-dos16.sys                       dos/sys
::     i386-bsd.elf.execve                  bsd.exec/i386
::     i386-darwin.macho                    macho/i386
::     i386-dos32.djgpp2.coff               djgpp2/coff
::     i386-dos32.tmt.adam                  tmt/adam
::     i386-dos32.watcom.le                 watcom/le
::     i386-freebsd.elf                     freebsd/i386
::     i386-linux.elf                       linux/i386
::     i386-linux.elf.execve                linux.exec/i386
::     i386-linux.elf.shell                 linux.sh/i386
::     i386-linux.kernel.bvmlinuz           bvmlinuz/i386
::     i386-linux.kernel.vmlinux            vmlinux/i386
::     i386-linux.kernel.vmlinuz            vmlinuz/i386
::     i386-netbsd.elf                      netbsd/i386
::     i386-openbsd.elf                     openbsd/i386
::     i386-win32.pe                        win32/pe
::     m68k-atari.tos                       atari/tos
::     mips-linux.elf                       linux/mips
::     mipsel-linux.elf                     linux/mipsel
::     mipsel.r3000-ps1                     ps1/exe
::     powerpc-darwin.macho                 macho/ppc32
::     powerpc-linux.elf                    linux/ppc32
::     powerpc-linux.kernel.vmlinux         vmlinux/ppc32
::     powerpc64-linux.elf                  linux/ppc64
::     powerpc64le-darwin.macho             macho/ppc64le
::     powerpc64le-linux.elf                linux/ppc64le
::     powerpc64le-linux.kernel.vmlinux     vmlinux/ppc64le
::     UPX comes with ABSOLUTELY NO WARRANTY; for details visit https://upx.github.io

 类似资料: