A repository of LIVE malwares for your own joy and pleasure
Switch branches/tags
Nothing to show
Clone or download
j j
Latest commit a789551 Aug 1, 2018
Failed to load latest commit information.
conf DB --> 220601082018 Aug 1, 2018
imports Addressing issue #67 May 7, 2018
malwares DB --> 220601082018 Aug 1, 2018
.gitattributes MalwareDB 0.42 Feb 2, 2014
.gitignore DB --> 220601082018 Aug 1, 2018
README.md remarks for later Nov 29, 2017
prep_file.py OceanLotus Nov 8, 2017
requirements.txt So, Python3 as well Dec 14, 2016
theZoo.py Resolved -u bug Mar 16, 2017



theZoo is a project created to make the possibility of malware analysis open and available to the public. Since we have found out that almost all versions of malware are very hard to come by in a way which will allow analysis, we have decided to gather all of them for you in an accessible and safe way. theZoo was born by Yuval tisf Nativ and is now maintained by Shahak Shalev.

theZoo is open and welcoming visitors! Disclaimer

theZoo's purpose is to allow the study of malware and enable people who are interested in malware analysis (or maybe even as a part of their job) to have access to live malware, analyse the ways they operate, and maybe even enable advanced and savvy people to block specific malware within their own environment.

Please remember that these are live and dangerous malware! They come encrypted and locked for a reason! Do NOT run them unless you are absolutely sure of what you are doing! They are to be used only for educational purposes (and we mean that!) !!!

We recommend running them in a VM which has no internet connection (or an internal virtual network if you must) and without guest additions or any equivalents. Some of them are worms and will automatically try to spread out. Running them unconstrained means that you will infect yourself or others with vicious and dangerous malware!!!


theZoo - the most awesome free malware database on the air Copyright (C) 2015, Yuval Nativ, Lahad Ludar, 5fingers

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Documentation and Notes


theZoo's objective is to offer a fast and easy way of retrieving malware samples and source code in an organized fashion in hopes of promoting malware research.

Root Files:

Since version 0.42 theZoo has been undergoing dramatic changes. It now runs in both CLI and ARGVS modes. You can call the program with the same command line arguments as before. The current default state of theZoo runtime is the CLI. The following files and directories are responsible for the application's behaviour.


The conf folder holds files relevant to the particular running of the program but are not part of the application. You can find the EULA file in the conf and more.


Contains .py and .pyc import files used by the rest of the application


The actual malwares samples - be careful!


Malware source code :)

Directory Structure:

Each directory is composed of 4 files:

  • Malware files in an encrypted ZIP archive.
  • SHA256 sum of the 1st file.
  • MD5 sum of the 1st file.
  • Password file for the archive.

Structure of maldb.db

maldb.db is the DB which theZoo is acting upon to find malware indexed on your drive. The structure is as follows:

  • UID - Determined based on the indexing process.
  • Location - The location on the drive of the malware you have searched for.
  • Type - Sorts the different types of malware there are. So far we sort by: Virus, Trojans, Botnets, Ransomware, Spyware
  • Name - Just the name of the malware.
  • Version - Nothing to say here as well.
  • Author - ... I'm not that into documentation...
  • Programming Language - The state of the malware in regard to source, bin, or which type of source. c/cpp/bin...
  • Date - See 'Author' section.
  • Architecture - The arch the platform was build for. Can be x86, x64, arm7....
  • Platform - Win32, Win64, *nix32, *nix64, iOS, android and so on.
  • Comments - Any comments there may be about the item.
  • Tags - Tags matching the item.

An example line will look as follow:


Bugs and Reports

The repository holding all files is currently https://github.com/ytisf/theZoo

Submit Malware

Get the file you want to submit and just run python prep_file.py file_tosubmit.exe. It will create a directory for you. Then just submit that along with the changes to the conf/maldb.db so that we know which malware it is.

Change Log for v0.60:

  • Moved DB to SQLite3.
  • Searching overhaul to a freestyle fashion.
  • Fixed "get" command.
  • More & more malwares.

Change Log for v0.50:

  • Better and easier UI.
  • Aligned printing of malwares.
  • Command line arguments are now working.
  • Added 10 more malwares (cool ones) to the DB.

Change Log for v0.42:

  • Fix EULA for proper disclaimer.
  • More precise searching and indexing including platform and more.
  • Added 10 new malwares.
  • Git update of platform and new malware.
  • Fix display of search.
  • Enable support for platform and architecture in indexing.
  • Separate between database and application.
  • UI improvements.

Change Log for v0.43:

  • Verify argv to be working properly. (fixes in v0.5)
  • Virus-Total upload and indexing module. - Not possible due to restrictions of VT.
  • Automatic reporting system for malwares which are not indexed in the framework.

Change Log for v0.50:

  • Malware analysis pack has been removed to reduce clone size.
  • More documentation has been added.
  • Removed debugging function which were dead in the code.

Predicted Change Log for v1.0

  • Fix auto-complete for malware frameworks. (thanks to 5fingers)
  • Consider changing DB to XML or SQLite3. (Sheksa - done :))
  • Better UI features.
  • Fix and make 'light' version without malwares with _MalwareFetch function.

If you have any suggestions or malware that you have indexed (in the manner laid out in the documentation) please send it to us to - yuval[]morirt [dot]com - so we can add it for everyones enjoyment.