Information générale

lARP64Free est un emballeur des exécutables et des DLL's pour l'architecture x64. Il est basé sur une technologie  de compression LZMA améliorée et légèrement personnalisée. Cette version suffira au cas où il n'y aura aucune protection exigée, c.-à-d. pour réduire le temps de téléchargement pour le freeware.

Les dossiers comprimés avec l'emballeur de 64 bits libre fonctionnent exactement comme avant. Ceci -également- rend vos programmes et bibliothèques plus petits et diminue le temps de téléchargement.

Des versions illimitées en leur fonction de lARP64Free sont disponibles pour le téléchargement. Le protecteur professionnel a été équipé de possibilités d'évaluation sans péremption. lARP64Free est en effet libre à tout usage mais remarquez que lARP64Pro est indiqué au cas où il y a une nécessité de protection.

lARP64Free soutient presque tous les types d'applications x86 64-bit compilées (pas de dotNET). Les programmes protégés sont compatibles avec tous les systèmes Windows en 64 bits: Windows XP jusqu'à Serveur 2008.

lARP64'ing n'affecte pas l'application original et n'exige pas de codage additionnel. Le déballage et le décryptage sont effectués automatiquement. Ce processus entier n'est pas noté par l'application emballée ou protégée. En outre, les programmes emballés ou protégés fonctionnent sans extraire des dossiers sur disque.



Trouvez plus d'info sur la protection du logiciel x64: la technologie.


Aide - film 
      
Un film pour vous aider à utiliser et à comprendre le fonctionnement du compresseur est disponible en anglais.

lARP64Free: LE COMPRESSEUR FREEWARE


Fonctionnement



Copyright (c) 2006-2010 lARP64Tech Software                                             All rights reserved

lARP64Tech
x64 software protection shield
x64 compression
x64 protection
La compression en général


Le problème
Tandis que les PCs modernes tendent à être équipé d'unités de disque dur assez grandes, il est encore trop facile detomber sans espace libre. Un autre problème est quand vous envoyez ou recevez des dossiers par moyens de l'internet. Il peut prendre un bon moment d'envoyer un grand dossier, particulièrement sur un raccordement lent, mais que peut être fait pour remédier? La réponse est de comprimer les dossiers, ainsi ils prennent moins de place et moins de temps d'envoi.

La compression, c'est quoi?
La compression est le processus de conversion réversible ou irréversible qui sert à réduire la taille d'un dossier en codant son information des données, exécutée de sorte que les données puissent être stockées ou transmises plus efficacement. Cette compression peut être réalisée sur des données mais également sur un genre spécial de données: le dossier binaire sous forme d'exécutable ou de DLL ou de tout autre genre de dossier binaire. De toute façon, le résultat doit être une réduction du nombre de bytes, menant à une plus petite taille du fichier. La taille des données sous la forme comprimée relativement à son format original est connue comme le taux de compression. Ces taux peuvent différer selon l'algorithme utilisé et selon la nature du dossier à comprimer.

Comment employer la compression ?
Une manière est d'employer les programmes qui sont conçus pour comprimer et décomprimer des dossiers. Une fois comprimés, des dossiers ne peuvent pas généralement être employés jusqu'à ce qu'ils soient décomprimés. En soi, la compression est bonne pour l'archivistique et pour l'envoi par courrier électronique. Un exemple d'une technologie de compression bien connu est le format ZIP qui est devenu une norme commune pour les fichiers de données de compression. Pour des binaires, cette manière de compression n'est pas possible parce que l'exécutable comprimé ne fonctionnerait plus (voyez ci-dessous comment ceci est résolu dans les binaires).

La compression est également employée dans beaucoup de cas sans que l'utilisateur se le réalise. Un modem emploie une forme de compression quand il envoie et reçoit des données. Même si relié avec 32K qui limite les vitesses de téléchargement en théorie à autour de 3.5k par seconde, on voit souvent le double de cette vitesse en téléchargeant le texte ou autres dossiers fortement compressibles. On voit se passer ceci aussi avec des dossiers graphiques.

Comment la compression fonctionne-t-elle ?
Quand vous avez un dossier contenant du texte, il peut y avoir des mots simples, des combinaisons de mots et des expressions réitérés qui épuisent l'espace mémoire improductive. Ou il peut y avoir des médias tels que des images graphiques qui occupent trop d'espace. Pour réduire cette inefficacité électroniquement, on peut comprimer le document.

La compression est faite en employant des algorithmes de compression (formules) qui réarrangent et réorganisent l'information des données de sorte qu'elle puisse être stockée plus économiquement. En codant l'information, des données peuvent être stockées utilisant moins de place. Ceci est fait en employant un programme de compression/décompression qui change la structure des données temporairement pour transporter, restructurer, archiver, économiser, etc.

La compression réduit l'information par l'utilisation différente et des manières plus efficaces de représenter l'information. Les méthodes peuvent enlever simplement des caractères, peuvent utiliser un caractère simple pour identifier une corde de caractères répétés, ou substituer de plus petits caractères dans des séries de caractères périodiques. Quelques algorithmes de compression suppriment tout à fait des parties d'information pour réaliser une plus petite taille de fichier. Selon l'algorithme utilisé, des dossiers peuvent réduire peu ou beaucoup mais ça dépend aussi du format du dossier.

Si l'inverse du processus, la décompression, produit une reproduction exacte des données originales, on appelle la compression "lossless" (sans perte). La compression de "lossy" (avec perte) par contre est habituellement appliquée sur les données d'image, mais ne permet pas la reproduction exacte de l'image originale, bien que a un taux de compression plus élevé. Ainsi la compression de lossy permet seulement de reproduire à une approximation de l'original.

Compression de lossy
La compression de lossy rétrécit des dossiers en jettant des données qui ne sont pas strictement nécessaires. Le MP3 est un tel système. Il se fonde sur la manière psycho-acoustique que le cerveau interprète acoustique et emploie de divers tours pour produire quelque chose qui retentit presque la même chose mais qui manque en réalité pas moins de 90% des données. Un autre système de lossy est le JPEG ou le JPG, qui sont conçus pour fournir la compression élevée sur le type photographique images.

Par exemple, dans une image contenant un paysage vert avec un ciel bleu, on élimine toutes les nuances de bleu et de vert avec la compression. La nature essentielle de l'image est toujours présente parce que les couleurs essentielles sont toujours là. Les grandes parties de l'image seront de la mêmes couleur, mêmes des lignes entières. Plutôt que stocker une rangée entière de 800 pixels blancs qui a chaque fois besoin de deux bytes pour stocker la couleur (permettant un maximum de 65535 couleurs possibles) et qui aurait comme conséquence 2 x 800 ou 1600 bytes, vous pourriez stocker deux bytes pour la couleur et un byte pour le nombre de fois que la couleur est répété. Ceci finit en 4 bytes pour stocker les données ce qui était 1600 bytes avant la compression, une économie énorme.

Compression lossless
La compression lossless est un type de compression qui peut réduire des dossiers sans perte d'information dans le processus. Le dossier original peut être recréé exactement comme avant. Pour réaliser ceci, les algorithmes créent des points de référence (caractères de substitution). La compression sans perte est idéale pour des documents contenant du texte et des données numériques où chaque perte d'information est intolérable. Par exemple la compression ZIP est une compression lossless qui détecte des modèles de répétition et les remplace par un seul caractère. La compression LZMA est un autre exemple de compression lossless. C'est également le genre de compression utilisé dans lARP64Free et lARP64Pro (voir plus ci-dessous).

Cette tâche apparemment impossible se fonde sur le fait que la plupart des dossiers contient de grands nombres d'espace ou de données réitérées. Comme exemple, remarquez que dans ce morceau d'information que vous lisez en ce moment, le mot «compression» apparaît maintes fois, mais chacun prend 11 bytes de stockage. Un système de compression pourrait noter ceci et après la première occurrence, plutôt que stocker le mot réel, il peut stocker un byte pour indiquer que c'est un mot de répétition plus un byte pour indiquer quel mot c'est dans la rangée. Le résultat est que chaque occurrence de «compression» a maintenant besoin de 2 bytes au lieu de 11, une économie de 9 bytes et plus de 80% pour ce mot. Si vous répétez maintenant ce processus pour les 256 mots les plus communs, vous pouvez faire une différence importante à la taille du dossier. Quand vous décomprimez le dossier, le programme de décompression trouve ces codes pour des mots répétés et reconstitue les mots à leur endroit original.

Résultats
Le succès de la compression de données dépend en grande partie des données elles-mêmes. Les types de quelques données sont aussi plus compressibles que d'autres. Généralement quelques éléments dans les données sont plus communs que d'autres et la plupart des algorithmes de compression exploitent cette propriété, connue sous le nom de redondance. Au plus la redondance dans les données est grande, au plus la compression des données est susceptible de bien réussir. La vidéo digitale contient beaucoup de redondance et est ainsi très appropriée à la compression.

Un dispositif (logiciel ou matériel) qui compresse est connu comme encodeur ou codeur, tandis qu'un dispositif qui décomprime est connu comme décodeur. Un dispositif qui agit en tant que codeur et décodeur est connu comme codec.

Un grand nombre de techniques de compression ont été développées et quelques techniques lossless peuvent être appliquées sur n'importe quel type de données. Ces dernières années, le développement des techniques lossy -spécifiquement pour des données d'image- a contribué beaucoup à la réalisation des applications visuelles digitalisées.

Jusqu'ici pour la compression en générale, mais qu'est-ce que ça dit sur la compression des binaires ?

Compression des exécutables
La compression des exécutable consiste en tous les moyens de comprimer un dossier exécutable et de combiner les données comprimées avec du code de décompression dont l'ensemble a besoin. Ce code de décompression qui est ajouté aux données comprimées s'appelle souvent le "stub" de décompression. Le fonctionnement d'un exécutable comprimé signifie essentiellement que le stub de décompression déballe le code exécutable original avant de passer le commandement au binaire originale recomposée. L'effet est identique et se déroule comme si l'exécutable non comprimé original aurait été démarré. L'utilisateur occasionnel ne distingue pas de différence entre le fonctionnement des exécutables comprimés et non comprimés.

L'acte de comprimer un dossier exécutable est souvent mentionné comme le «emballage», puis un nom typique pour un programme de compression exécutable devient un «emballeur».

Un exécutable comprimé est un dossier "self-extracting" où les données comprimées sont empaquetées dans un dossier exécutable ensemble avec le stub de décompression. Ainsi, il n'y a aucun autre programme requis pour exécuter un dossier exécutable comprimé. La plupart des executables emballés décompriment directement dans la mémoire et n'ont pas besoin d'aucun espace libre de système de fichiers pour démarrer. Cependant, quelques stubs décompresseur sont connus pour écrire l'exécutable non comprimé au système de fichiers afin de le démarrer.

Les distributeurs de logiciel emploient la compression exécutable pour une série de raisons mais principalement pour réduire la place de stockage du logiciel. Des compresseurs exécutables sont spécifiquement conçus pour comprimer le code exécutable, c'est pourquoi ils réalisent souvent un meilleur taux de compression que les compresseurs de données en général. Ceci permet aux distributeurs de logiciel de rester dans les contraintes de leurs médias de distribution choisis. Cela permet aussi de réduire la largeur et le temps d'envoi que les clients exigent pour accéder au logiciel distribué par l'intermédiaire de l'Internet.

La compression de l'exécutable est également employée fréquemment pour décourager le cracking ou pour assombrir le contenu de l'exécutable par des méthodes de compression et/ou de chiffrage supplémentaire. Malware est connu pour être comprimé souvent, cela pour cacher leur présence des antivirus. La compression de l'exécutable peut être employée pour empêcher le désassemblage direct, pour masquer des constantes et pour modifier des signatures. Cependant, la compression de l'exécutable n'élimine pas la possibilité du cracking, il peut seulement rendre le processus plus dure. Généralement, la compression seule est certainement unsufficiante pour éviter la rétro-ingénierie.

Un exécutable comprimé exige moins d'espace et de mémoire dans le système des fichiers, ainsi il exige moins de temps de transférer des données à partir du système de fichiers vers la mémoire. D'une part, il a besoin d'un certain temps pour décomprimer les données avant que l'exécution commence. Cependant, la vitesse de divers supports de stockage n'a pas suivi le développement des vitesses du processeur moyen, ainsi le stockage est très souvent le perdant. La charge de l'exécutable comprimée va plus rapidement sur la plupart des systèmes communs. Sur les ordinateurs de bureau modernes, c'est rarement qu'il y ait une différence visible, à moins que l'exécutable soit exceptionnellement grand, ainsi la vitesse de chargement n'est pas une raison primaire pour ou contre comprimer un exécutable.

lARP64Free et lArp64Pro
lARP64Free en tant que programme de compression de logiciel de 64 bits et lArp64Pro en tant que programme de protection de logiciel de 64 bits ont tous les deux la compression intégrée basée sur l'algorithme à chaînes de Lempel-Ziv-Markov (LZMA). C'est un algorithme de compression utilisant un arrangement de compression de dictionnaire. Il montre un taux de compression élevé pour une petite taille de stub à une bonne vitesse de compression et de décompression qui lui fait l'idéal comme algorithme de compression de l'exécutable.

Pourquoi choisir LZMA?
LZMA est l'algorithme de compression qui met l'intéret en la taille. Il réalise un travail superbe de comprimer les dossiers exécutables, fournissant habituellement une meilleure compression que d'autres algorithmes, particulièrement sur de plus grands dossiers. LZMA est une adaptation de LZ77 avec le but de la grande compression et de la décompression rapide. Il emploie le codage de gamme (codage de Huffman) et utilise une taille de dictionnaire selon les besoins.

lARP64Tech a décidé pour LZMA parce qu'il offre tant d'avantages.