MostShittyAV - Usage Comparison

Two Ways to Use MostShittyAV

MostShittyAV offers two different components that can be used independently:

πŸ†• AMSI Provider DLL (New - System Integration)

File: MostShittyAVWrapper.dll

What it does:

Use Cases:

Requirements:

Installation:

# As Administrator
.\scripts\build_and_register.ps1 -BuildAndRegister

Testing:

# Start a new PowerShell window - provider auto-loads
Write-Host "MALWARE"  # Will be scanned by AMSI

Emergency Deregistration:

# If something goes wrong - run CMD.exe as Administrator
scripts\emergency_unregister.cmd

πŸ“¦ Standalone Scanner EXE (Original - No Installation)

File: nim_antimalware_sim.exe (release: MostShittyAVScanner.exe)

What it does:

Use Cases:

Requirements:

Usage:

# Scan a single file
.\src\nim_antimalware_sim.exe suspicious.exe

# Scan multiple files
.\src\nim_antimalware_sim.exe file1.ps1 file2.bat file3.dll

# Scan test files
.\src\nim_antimalware_sim.exe tests\02_signature\malware.ps1 tests\02_signature\trojan_sample.txt

Feature Comparison

Feature AMSI Provider DLL Standalone Scanner EXE
Installation Required Yes (registration) No
Admin Privileges Required Not required
System Integration Yes (AMSI) No
Automatic Scanning Yes No
On-Demand Scanning No Yes
Portable No Yes
Affects PowerShell Yes No
Works Without Restart No (needs new process) Yes (immediate)
Can Scan Multiple Files N/A (automatic) Yes
Learning/Testing βœ… See AMSI internals βœ… Simple scanner logic

Which One Should You Use?

Use the AMSI Provider DLL if you want to:

Best for: Security researchers, AMSI learning, system integration testing

Use the Standalone Scanner EXE if you want to:

Best for: Quick file scanning, testing scanner logic, casual use


Can I Use Both?

Yes! They work completely independently:

  1. Standalone Scanner can be used anytime without affecting the system
  2. AMSI Provider runs automatically when registered, affecting AMSI-aware apps
  3. Both use the same scanner logic from nim_antimalware_sim.nim

Examples

Example 1: Testing Scanner Logic (Use Standalone EXE)

# No installation needed
.\src\nim_antimalware_sim.exe tests\02_signature\malware.ps1

Output:

[2025-11-09 01:30:00] AMSI: Starting scan for file: tests\02_signature\malware.ps1
[2025-11-09 01:30:00] AMSI: Threat detected - Signature found
Result: MALICIOUS

Example 2: Testing AMSI Integration (Use DLL)

# Register (as Admin)
.\scripts\build_and_register.ps1 -BuildAndRegister

# Open NEW PowerShell window
# Type commands - they're automatically scanned
Write-Host "This is safe"  # No detection
$malware = "MALWARE"       # May trigger detection

Example 3: Scanning Multiple Files (Use Standalone EXE)

# Scan entire test directory
Get-ChildItem tests -Recurse -File | ForEach-Object {
    .\src\nim_antimalware_sim.exe $_.FullName
}

Example 4: Research AMSI Provider Loading (Use DLL + Process Monitor)

# Register provider
.\scripts\build_and_register.ps1 -BuildAndRegister

# Start Process Monitor with filters
# Launch new PowerShell
# Watch DLL load events in Process Monitor

# See TEST_REGISTERED_PROVIDER.md for detailed steps

Technical Details

Both Components Share:

Differences:

| Aspect | AMSI Provider DLL | Standalone Scanner | |——–|β€”β€”β€”β€”β€”β€”-|β€”β€”β€”β€”β€”β€”-| | Entry Point | DllRegisterServer, DllGetClassObject | main() | | Invocation | Called by AMSI automatically | Called by user manually | | Context | Runs in host process (PowerShell, etc.) | Runs in own process | | Input | AMSI scan requests | Command-line file paths | | Output | HRESULT codes | Console logs + exit code |


Summary

TLDR:

Both are included in the release package - choose what fits your needs!