Retour aux mises à jour
New releaseAug 12, 2026

TinyLoad v7.3

Packeur et crypter open source pour Windows x64 PE. Compresse et chiffre les exécutables avec une machine virtuelle personnalisée dans un stub auto-extractible.

Partager
github-social-preview

TinyLoad v7.3 - packer PE pour Windows

Version Actively Maintained Mentioned in Awesome

TinyLoad est un crypter/packer PE pour les exécutables x64 : il empaquette un exe d'entrée avec différentes couches de protection pour empêcher son ingénierie inverse. C'est un fichier .cpp unique et il n'a aucune dépendance externe.

comment ça fonctionne

TinyLoad ajoute votre charge utile à une copie de lui-même. Lorsque l'exe empaqueté s'exécute, il extrait la charge utile, la déchiffre et l'exécute directement en mémoire sans jamais écrire l'original sur le disque. À chaque empaquetage, les opcodes de la VM sont modifiés aléatoirement et répartis dans 4 sous-tables à clés indépendantes, de sorte que deux builds ne sont jamais identiques.

téléchargement

récupérez un binaire précompilé depuis les releases ou compilez-le vous-même.

compilation depuis les sources

vous avez besoin de MinGW (g++). lancez simplement :

g++ -o TinyLoad.exe TinyLoad.cpp -static -O2 -s

ou utilisez build.bat.

utilisation

TinyLoad.exe --i <input> [--o <output>] [--vm] [--c] [--veh]
optionrôle
--i <file>exe d'entrée à empaqueter
--o <file>chemin de sortie (par défaut : input_packed.exe)
--vmchiffrement VM
--ccompression LZ77
--vehdéchiffrement des défauts de page VEH
--noconsolesous-système GUI

vous avez besoin d'au moins 1 parmi --vm, --c ou --veh.

exemples

2026-08-1118-55-14-ezgif com-video-to-gif-converter

images DIE

die-gui-packed die-gui-entropy

compression

compression LZ77 personnalisée avec correspondance par chaîne de hachage et une fenêtre glissante de 64 Ko. La compression s'exécute d'abord, puis le chiffrement VM s'applique par-dessus afin que les motifs éventuels dans les données compressées soient également masqués.

chiffrement VM

machine virtuelle personnalisée de 28 opcodes qui s'exécute à l'intérieur du stub. Les opcodes sont placés aléatoirement dans 4 sous-tables de 8 chacun, et chaque sous-table est chiffrée par XOR avec une clé différente dérivée des données de la charge utile. Craquer 1 sous-table ne révèle au plus que 8 opcodes sur 28. Le chiffre lui-même est un chiffrement de flux 128 bits utilisant un mélange de clés rotl et rotr, exécuté entièrement dans l'interpréteur de la VM. La charge utile est chiffrée avec XXTEA.

déchiffrement des défauts de page VEH

avec --veh activé, toutes les pages des sections PE sont mappées en PAGE_NOACCESS. Lorsque le programme tente d'accéder à une page, cela déclenche une exception ; un gestionnaire d'exceptions vectorisé déchiffre uniquement cette page et définit la protection correcte. Un thread de surveillance s'exécute en arrière-plan et rechiffre toute page qui n'a pas été touchée depuis 200 ms. À tout moment, la majeure partie de votre programme reste chiffrée en mémoire, de sorte que les dumps mémoire ne capturent que ce qui a été récemment accédé.

anti-dump

les 4 API les plus critiques (GetModuleHandleA, GetProcAddress, ExitProcess, VirtualAlloc) sont redirigées via des fonctions wrapper à l'intérieur du stub. Une fois la charge utile chargée, tout le répertoire d'imports est mis à zéro afin que les dumps mémoire ne puissent pas reconstruire la table d'imports.

Graphique :

631688071-324a4b82-29fb-40cf-9b01-15687aba7cae-mh

licence

MIT

remarques

  • Il y a beaucoup de fonctionnalités que je n'ai pas mises dans le readme, vous pouvez lire le code vous-même ou consulter changelog.md
  • cela fonctionne sur la plupart des fichiers que j'ai testés ; si ça casse sur le vôtre, ouvrez une issue et je m'en occuperai
  • les suggestions et idées de fonctionnalités vont aussi dans les issues
  • si vous l'utilisez, une étoile aide beaucoup <3
  • consultez le blog à l'adresse https://iamsopotatoe-coder.github.io/TinyLoad/#blog pour les futures mises à jour
  • oui, les AV signalent les packers, c'est attendu. (Actuellement 9 détections sur virustotal ; n'importe quel fichier empaqueté avec cet outil obtient 9 détections, le contenu n'a pas d'importance)
  • veuillez ne pas empaqueter de malware avec cet outil, il est destiné à des usages légitimes

Catégories