Pipelines/EXE.ps1
|
function Get-FoEXEPipeline { param([hashtable]$Context) $s = $Context.Settings $level = $s.Level $leanify = Get-FoLeanifyIterations -Level $level -Override $s.LeanifyIterations $upx = Get-FoUPXFlags -Level $level if ($level -ge 9) { $upx += ' --crp-ms=999999' } $gate = { -not $args[0].IsEXESFX } $steps = @() $steps += New-FoStep -Name 'Leanify (1/4)' -Executable 'leanify.exe' -Arguments "-q -p -i $leanify %TMPINPUTFILE%" -Mode TempInput -Gate $gate $steps += New-FoStep -Name 'PETrim (2/4)' -Executable 'petrim.exe' -Arguments '/StripFixups:Y %TMPINPUTFILE%' -Mode TempInput -Gate { -not $args[0].IsEXESFX -and -not $args[0].Settings.EXEDisablePETrim } $steps += New-FoStep -Name 'strip (3/4)' -Executable 'strip.exe' -Arguments '--strip-all -o %TMPOUTPUTFILE% %INPUTFILE%' -Mode TempOutput -Gate $gate $steps += New-FoStep -Name 'UPX (4/4)' -Executable 'upx.exe' -Arguments "--no-backup --force $upx %TMPINPUTFILE%" -Mode TempInput -Gate { -not $args[0].IsEXESFX -and $args[0].Settings.EXEEnableUPX } return $steps } |