diff --git a/packages/autoit-ripper.vm/autoit-ripper.vm.nuspec b/packages/autoit-ripper.vm/autoit-ripper.vm.nuspec new file mode 100644 index 000000000..3bb431278 --- /dev/null +++ b/packages/autoit-ripper.vm/autoit-ripper.vm.nuspec @@ -0,0 +1,13 @@ + + + + autoit-ripper.vm + 0.0.0.20240607 + MichaƂ Praszmo + Extracts compiled AutoIt scripts from PE executables. + + + + + + diff --git a/packages/autoit-ripper.vm/tools/chocolateyinstall.ps1 b/packages/autoit-ripper.vm/tools/chocolateyinstall.ps1 new file mode 100644 index 000000000..b3a3a4681 --- /dev/null +++ b/packages/autoit-ripper.vm/tools/chocolateyinstall.ps1 @@ -0,0 +1,7 @@ +$ErrorActionPreference = 'Stop' +Import-Module vm.common -Force -DisableNameChecking + +$toolName = 'autoit-ripper' +$category = 'Packers' + +VM-Install-With-Pip -toolName $toolName -category $category diff --git a/packages/autoit-ripper.vm/tools/chocolateyuninstall.ps1 b/packages/autoit-ripper.vm/tools/chocolateyuninstall.ps1 new file mode 100644 index 000000000..e91913258 --- /dev/null +++ b/packages/autoit-ripper.vm/tools/chocolateyuninstall.ps1 @@ -0,0 +1,7 @@ +$ErrorActionPreference = 'Continue' +Import-Module vm.common -Force -DisableNameChecking + +$toolName = 'autoit-ripper' +$category = 'Packers' + +VM-Uninstall-With-Pip -toolName $toolName -category $category diff --git a/packages/common.vm/common.vm.nuspec b/packages/common.vm/common.vm.nuspec index 1f37764c8..2e381f5cc 100755 --- a/packages/common.vm/common.vm.nuspec +++ b/packages/common.vm/common.vm.nuspec @@ -2,7 +2,7 @@ common.vm - 0.0.0.20240531 + 0.0.0.20240607 Common libraries for VM-packages Mandiant diff --git a/packages/common.vm/tools/vm.common/vm.common.psm1 b/packages/common.vm/tools/vm.common/vm.common.psm1 index 8439f9403..680d8fcfc 100755 --- a/packages/common.vm/tools/vm.common/vm.common.psm1 +++ b/packages/common.vm/tools/vm.common/vm.common.psm1 @@ -1735,6 +1735,7 @@ function VM-Get-MSIInstallerPathByProductName { } } +# Install Python library with Pip function VM-Pip-Install { param ( [string]$package @@ -1742,5 +1743,49 @@ function VM-Pip-Install { # Create output file to log python module installation details $outputFile = VM-New-Install-Log ${Env:VM_COMMON_DIR} - Invoke-Expression "py -3.10 -m pip install $package --disable-pip-version-check 2>&1 >> $outputFile" + # Ignore warning with `-W ignore` to avoid warnings like deprecation to fail the installation + Invoke-Expression "py -3.10 -W ignore -m pip install $package --disable-pip-version-check 2>&1 >> $outputFile" +} + +# Install tool using Pip and create shortcut in the Tools directory +function VM-Install-With-Pip { + [CmdletBinding()] + [OutputType([System.Object[]])] + Param + ( + [Parameter(Mandatory=$true)] + [string] $toolName, # Example: magika + [Parameter(Mandatory=$true)] + [string] $category, + [Parameter(Mandatory=$false)] + [string] $arguments = "--help" + ) + try { + VM-Pip-Install $toolName + $executablePath = "$(where.exe $toolName)" + + VM-Install-Shortcut $toolName $category $executablePath -consoleApp $true -arguments $arguments + } catch { + VM-Write-Log-Exception $_ + } +} + +# Uninstall Python library with Pip +function VM-Pip-Uninstall { + param ( + [string]$package + ) + Invoke-Expression "py -3.10 -m pip uninstall $package -y --disable-pip-version-check 2>&1" +} + +# Uninstall tool using Pip and remove shortcut in the Tools directory +function VM-Uninstall-With-Pip { + param ( + [Parameter(Mandatory=$true)] + [string] $toolName, # Example: magika + [Parameter(Mandatory=$true)] + [string] $category + ) + VM-Pip-Uninstall $toolName + VM-Remove-Tool-Shortcut $toolName $category } diff --git a/packages/magika.vm/magika.vm.nuspec b/packages/magika.vm/magika.vm.nuspec index 15334d52a..a9a8da87e 100644 --- a/packages/magika.vm/magika.vm.nuspec +++ b/packages/magika.vm/magika.vm.nuspec @@ -2,11 +2,11 @@ magika.vm - 0.5.1 + 0.0.0.20240607 Yanick Fratantonio, Luca Invernizzi, Marina Zhang, Giancarlo Metitieri, Thomas Kurt, Francois Galilee, Alexandre Petit-Bianco, Loua Farah, Ange Albertini, Elie Bursztein Magika is an AI powered file type detection tool that uses deep learning to provide accurate detection. - + diff --git a/packages/magika.vm/tools/chocolateyinstall.ps1 b/packages/magika.vm/tools/chocolateyinstall.ps1 index a6102f63a..abf6812c1 100644 --- a/packages/magika.vm/tools/chocolateyinstall.ps1 +++ b/packages/magika.vm/tools/chocolateyinstall.ps1 @@ -1,16 +1,7 @@ $ErrorActionPreference = 'Stop' Import-Module vm.common -Force -DisableNameChecking -try { - $toolName = 'magika' - $category = 'File Information' +$toolName = 'magika' +$category = 'File Information' - VM-Pip-Install $toolName - - $executablePath = "$(where.exe $toolName)" - $arguments = "--help" - - VM-Install-Shortcut $toolName $category $executablePath -consoleApp $true -arguments $arguments -iconLocation $iconLocation -} catch { - VM-Write-Log-Exception $_ -} +VM-Install-With-Pip -toolName $toolName -category $category diff --git a/packages/magika.vm/tools/chocolateyuninstall.ps1 b/packages/magika.vm/tools/chocolateyuninstall.ps1 index f75bc5788..bd3266cc0 100644 --- a/packages/magika.vm/tools/chocolateyuninstall.ps1 +++ b/packages/magika.vm/tools/chocolateyuninstall.ps1 @@ -4,6 +4,4 @@ Import-Module vm.common -Force -DisableNameChecking $toolName = 'magika' $category = 'File Information' -Invoke-Expression "py -3.10 -m pip uninstall $toolName -y" - -VM-Uninstall $toolName $category +VM-Uninstall-With-Pip -toolName $toolName -category $category