Skip to content
Automated malware unpacker
Branch: master
Clone or download
malwaremuser Work around issue #6
Set 'bFollow' to 'False' in the debug.execl() call. Need to look in to the cause and fix it properly.
Latest commit c0483bb Mar 5, 2016
Type Name Latest commit message Commit time
Failed to load latest commit information. Update with file hash information Feb 15, 2016 Work around issue #6 Mar 5, 2016


WinAppDbg script to automate malware unpacking.


  • Detects certain unpacking behaviour (but not all)
    • Determines original entry point
      • Determines jump point to original entry point
    • Dumps unpacked code to a file
    • Attempts to find unpacking loop
  • Dumps memory decrypted by CryptDecrypt()
  • Dumps memory decompressed by RtlDecompressBuffer()
  • Attempts to detect process hollowing
    • Dumps injected memory blocks to a file
  • Dumps decrypted network traffic

More information

Automated Unpacking: A Behaviour Based Approach

Beyond Automated Unpacking: Extracting Decrypted/Decompressed Memory Blocks

File hashes

I'm testing a mechanism for verifying the integrity of my code downloaded from GitHub by storing the file hashes in my DNS zone. This has the advantage of preventing (or lessening the chance of) an attacker being able to modify the code and also modify the corresponding hashes.

To get the SHA256 hash for the zip download file (I'm only doing the zip downloads at the moment, because I have to enter all of this information manually), issue a DNS request for the TXT record

For instance, to obtain the SHA256 hash for, issue a DNS TXT record request for

You can’t perform that action at this time.