Éditeur de code hexadécimal. Éditeurs hexadécimaux vs. malware : sélection d'un éditeur hexadécimal pour analyser les binaires

Après avoir terminé la série avec l'article « Les meilleurs outils Pentester », l'éditeur a reçu de nombreuses lettres demandant une sélection d'éditeurs hexadécimaux. L’intérêt, bien entendu, n’est pas la possibilité d’éditer des données binaires, mais des fonctionnalités supplémentaires telles que la reconnaissance automatique des structures de données et le désassemblage du code. Pour faire un aperçu, nous avons découvert les opinions des personnes qui doivent le plus souvent bricoler de tels outils - les analystes de virus. Et c'est ce qu'ils nous ont dit.

Tout éditeur hexadécimal vous permet d'examiner et de modifier un fichier à un niveau bas, en fonctionnant avec des bits et des octets. Le contenu du fichier est présenté au format hexadécimal. Il s'agit d'une fonctionnalité de base. Cependant, certains éditeurs offrent bien plus aux utilisateurs, leur permettant de comprendre exactement ce qu'il y a dans cet ensemble de caractères incompréhensible qui apparaît lors de l'ouverture d'un fichier. Pour ce faire, les chaînes ASCII et Unicode sont automatiquement extraites, les modèles connus sont recherchés, les structures de données de base sont reconnues et bien plus encore. Il existe de nombreux éditeurs hexadécimaux, mais si nous décidons de les considérer dans le contexte de l'étude d'échantillons de logiciels malveillants, il est facile d'en souligner certains. Seuls quelques-uns s'avèrent vraiment utiles pour analyser le code malveillant et examiner les documents infectés (par exemple, PDF).

McAfee FileInsight

FileInsight est un éditeur hexadécimal gratuit pour Windows de McAfee Labs. Le produit exécute bien entendu toutes les fonctionnalités standard qui accompagnent un tel logiciel, offrant une interface pratique pour visualiser et éditer des fichiers en modes hexadécimal et texte. Mais ce n’est qu’une goutte d’eau dans l’océan si l’on considère toutes ses fonctionnalités. Cela vaut la peine de commencer par le fait que FileInsight est capable d'analyser la structure des binaires exécutables pour Windows (fichiers PE), ainsi que des objets OLE de Microsoft Office. Non seulement cela, mais l'utilisateur se voit proposer un désassembleur x86 intégré. Sélectionnez simplement la partie du fichier que vous souhaitez afficher sous forme de code lisible, et FileInsight affichera ce fragment sous la forme d'une liste d'instructions d'assemblage. Le désassembleur est particulièrement utile lors de la recherche de shellcode dans des fichiers malveillants. D'autres options que les inverseurs apprécieront incluent la possibilité d'importer des déclarations de structure. Pour ce faire, le programme doit simplement spécifier un fichier d'en-tête avec des déclarations telles que :

struct ANIHeader (
DWORD cbSizeOf ; // Nombre d'octets dans AniHeader
Cadres DWORD ; // Nombre d'icônes uniques
DWORD cÉtapes ; // Nombre de Blits
};

Dans ce cas, le programme analysera lui-même ces structures. Cependant, de nombreux algorithmes intuitifs de traitement de code sont proposés par défaut. Nous parlons tout d'abord du décodage de nombreuses méthodes d'obscurcissement (xor, add, shift, Base64, etc.) - les scripts intégrés font d'une telle protection cryptographique un doublé. Il convient de noter ici que l’objet de la recherche ne doit pas nécessairement être un binaire ; il peut aussi s’agir d’une page Web ordinaire qui éveille des soupçons. Le programme vous permet d'automatiser de nombreuses actions à l'aide de simples scripts JavaScript ou de modules Python, dont beaucoup ont déjà été écrits. Hélas, avec tous ses avantages, FileInsight présente également un sérieux inconvénient, à savoir l'incapacité de traiter des fichiers volumineux. Par exemple, si vous essayez de transmettre un fichier d'une taille de 400 à 500 Mo à l'utilitaire, l'erreur « Échec de l'ouverture du document » apparaît.

Éditeur hexadécimal Neo

Il existe deux versions de cet éditeur hexadécimal de HDD Software : une version gratuite simple et une version commerciale avancée. La version gratuite est un éditeur HEX solide, mais banal, doté d'une interface sympa et personnalisable avec prise en charge de différents schémas de couleurs. Rien de plus. Mais la version professionnelle de Hex Editor Neo propose plusieurs options utiles qui peuvent être extrêmement utiles lors de l'analyse de binaires. Par exemple, l'utilisateur a la possibilité de décoder le code crypté à l'aide des algorithmes les plus courants. De plus, il devient possible d'afficher et de modifier les ressources locales telles que les flux NTFS, les disques locaux, la mémoire de processus et la RAM. La version la plus complète inclut également la prise en charge d'un langage de script, qui vous permet d'automatiser de nombreux processus à l'aide de scripts en VBScript et JavaScript. Mais le meilleur, c'est que vous disposez d'un désassembleur intégré qui fonctionne avec les binaires x86, x64 et .NET ! Une autre fonctionnalité est la création rapide de correctifs basés sur la comparaison de deux binaires. Cela semble impressionnant, mais est-ce meilleur que FileInsight ? Probablement pas. FileInsight semble globalement plus fonctionnel. D'un autre côté, même la version gratuite de Hex Editor Neo fonctionne très bien même avec des fichiers très volumineux et vous permet de rechercher des chaînes ASCII et Unicode. Le désassembleur ici ne se limite pas à la plate-forme x86, et l'éditeur de ressources intégré est très pratique. Il y a beaucoup de choses à penser.

FlexHex

FlexHex est un puissant éditeur hexadécimal commercial de Heaventools Software qui inclut bon nombre des mêmes fonctionnalités que celles trouvées dans Hex Editor Neo. La seule chose qui manque ici est peut-être la prise en charge des scripts. Mais cet éditeur complet gère également bien les binaires, les fichiers OLE, les disques physiques et les flux NTFS alternatifs. Ce dernier est particulièrement important car FlexHex vous permet de modifier des données que d'autres éditeurs ne verront peut-être même pas. De plus, vous ressentez immédiatement l'accent mis sur le travail avec de grandes quantités d'informations : quelle que soit la taille du fichier, la navigation dans celui-ci s'effectue sans aucun décalage ni frein. Pour encore plus de commodité, il existe un système de signets pratiques. Dans le même temps, FlexHex conserve en permanence un historique de toutes les opérations - vous pouvez annuler n'importe quelle action simplement en la sélectionnant dans la liste des modifications (la liste d'annulation n'est pas limitée) ! FlexHex prend en charge toutes les opérations nécessaires avec les données binaires, en recherchant les chaînes ASCII et Unicode. Si vous devez traiter une structure avec un format préalablement connu, définir ses paramètres n'est pas difficile à l'aide d'outils spéciaux. En conséquence, nous obtenons un excellent éditeur hexadécimal, mais toujours bien inférieur à FileInsight. La seule option notable est le traitement des fichiers OLE, mais il y a aussi des problèmes ici. Plusieurs fois, en essayant d'ouvrir un OLE infecté, le programme s'est écrasé avec l'erreur « Le fichier doc a été corrompu ».

010 Éditeur

010 Editor est un produit commercial bien connu développé par SweetScape Software. Si nous le comparons aux trois outils précédents, il peut tout faire : il prend en charge le travail avec des fichiers très volumineux, offre des fonctionnalités intéressantes pour fonctionner avec des données, vous permet d'éditer des ressources locales et dispose d'un système de script pour automatiser les actions de routine (plus de 140 fonctions différentes à votre service). Et 010 Editor a également une particularité, une fonctionnalité unique. L'éditeur s'occupe de tout le monde grâce à la possibilité d'analyser différents formats de fichiers à l'aide de sa propre bibliothèque de modèles (les soi-disant modèles binaires). Ici, il n'a pas d'égal. De nombreux passionnés du monde entier travaillent sur des modèles, élaborant divers formats et structures de données. En conséquence, le processus de navigation dans différents formats de fichiers devient transparent et compréhensible. Cela s'applique également au traitement des binaires Windows (fichiers PE), des fichiers de raccourci Windows (LNK), des archives Zip, des fichiers de classe Java et bien plus encore. Beaucoup ont pu réaliser toute la beauté de cette fonctionnalité lorsque le célèbre spécialiste de la sécurité Didier Stevens a créé un modèle d'analyse des fichiers PDF pour 010 Editor. Avec d'autres utilitaires, cela a grandement simplifié l'analyse des documents PDF infectés, qui, au cours des six derniers mois, n'ont cessé d'étonner par le nombre d'endroits à partir desquels le programme de lecture peut être exploité. Nous ajoutons ici un outil sympa pour comparer les binaires, une calculatrice avec une syntaxe de type C, convertissant les données entre les formats ASCII, EBCDIC, Unicode, et nous obtenons un outil très attrayant avec des fonctionnalités uniques.

Vue d'ensemble

Hiew, en termes de mode de distribution, n'est pas très différent de ses confrères - il s'agit également d'un produit commercial développé par notre compatriote Evgeny Suslikov. Ayant une longue histoire, le programme est très apprécié par de nombreux spécialistes de la sécurité de l'information. Il y a des raisons assez évidentes à cela : de puissantes capacités de recherche et d'édition de la structure et du contenu des fichiers exécutables de Windows (PE) et des binaires pour Linux (ELF). Une autre fonctionnalité très utile pour l'ingénierie inverse est l'assembleur et le désassembleur x86-64 intégrés. Ce dernier prend même en charge les instructions ARM. Inutile de dire que l'éditeur digère parfaitement les fichiers volumineux et vous permet d'éditer des disques logiques et physiques. De nombreuses tâches peuvent être facilement automatisées à l'aide d'un système de macros clavier, de scripts et même d'une API de développement d'extensions (Hiew Extrenal Modules). Mais avant de vous lancer dans la bataille, gardez à l’esprit que l’interface Hiew est une fenêtre de type DOS, ce qui est assez peu pratique à utiliser si vous n’y êtes pas habitué. Mais vous pourrez découvrir tout le charme de la vieille école.

Radare

Radare est un ensemble d'utilitaires gratuits pour la plate-forme Unix qui offrent des fonctionnalités intéressantes d'édition de fichiers en mode HEX. Il inclut l'éditeur hexadécimal lui-même (radare) avec la possibilité d'ouvrir des fichiers locaux et distants. Le programme analyse les fichiers exécutables de différents formats, à la fois Linux (ELF) et Windows (PE). En plus de l'édition, le package Radare comprend un outil de comparaison de fichiers binaires (radiff) et un assembleur/désassembleur intégré. Et personnellement, un outil pour générer des shellcodes (rasc) s'est avéré utile à plusieurs reprises. Toutes les opérations peuvent être facilement automatisées et personnalisées à l'aide d'un système de script. Parmi les inconvénients, encore une fois, nous pouvons noter l'absence d'interface graphique - toutes les actions sont effectuées à partir de la ligne de commande et vous ne pouvez travailler pleinement avec les utilitaires qu'après avoir lu la documentation. D'autre part, le site propose des screencasts visuels démontrant à la fois les points principaux et les petits secrets (comme la connexion d'un plugin Python).

Alors que choisir ?

Nous avons examiné plusieurs éditeurs hexadécimaux puissants qui incluent des options utiles pour analyser les fichiers suspects. De tous les produits, on distingue FileInsight qui, malgré toutes ses fonctionnalités (et c'est vraiment impressionnant), reste gratuit. 010 Editor fournit un grand nombre de modèles pour traiter une grande variété de fichiers, y compris les documents PDF. C’est une méga fonctionnalité à ne pas négliger. J'utilise ces deux éditeurs tout le temps ; Pour le travail d'analyste, ils sont peut-être les mieux adaptés. Si nous parlons de travailler sous la plate-forme Unix, nous ne pouvons bien sûr pas oublier Radare. Le package offre des fonctionnalités très puissantes, bien qu’il soit difficile à utiliser car il s’exécute à partir de la ligne de commande. Hiew n'est pas non plus très convivial, même si ses capacités vous permettent certainement d'effectuer diverses opérations avec les binaires. De plus, Hiew est le choix d'un grand nombre de vrais pros, et cela vaut beaucoup (et signifie beaucoup). Quant à Hex Editor Neo, cela vaut la peine de le reprendre si vous êtes intéressé par la possibilité de désassembler le code x86, x64 et .NET.

Bonne journée à tous.

Pour une raison quelconque, de nombreuses personnes pensent que travailler avec des éditeurs hexadécimaux est le domaine des professionnels et que les utilisateurs novices ne devraient pas les essayer. Mais, à mon avis, si vous avez au moins des compétences de base en PC et une idée de la raison pour laquelle vous avez besoin d'un éditeur hexadécimal, alors pourquoi pas ?!

En utilisant un programme de ce type, vous pouvez modifier n'importe quel fichier, quel que soit son type (de nombreux manuels et guides contiennent des informations sur la modification d'un fichier particulier à l'aide d'un éditeur hexadécimal) ! Certes, l'utilisateur doit avoir au moins une compréhension de base du système hexadécimal (les données de l'éditeur hexadécimal y sont présentées précisément). Cependant, des connaissances de base en sont enseignées dans les cours d'informatique à l'école, et probablement beaucoup en ont entendu parler et en ont une idée (c'est pourquoi je ne commenterai pas cela dans cet article). Voici donc les meilleurs éditeurs hexadécimaux pour débutants (à mon humble avis).

1) Éditeur hexadécimal gratuit Neo

L'un des éditeurs les plus simples et les plus courants pour les fichiers hexadécimaux, décimaux et binaires pour Windows. Le programme vous permet d'ouvrir n'importe quel type de fichier, d'apporter des modifications (l'historique des modifications est enregistré), de sélectionner et de modifier facilement un fichier, de déboguer et d'analyser.

Il convient également de noter un très bon niveau de performances associé à une faible configuration système pour la machine (par exemple, le programme vous permet d'ouvrir et d'éditer des fichiers assez volumineux, tandis que d'autres éditeurs se bloquent simplement et refusent de fonctionner).

Entre autres choses, le programme prend en charge la langue russe et dispose d'une interface bien pensée et intuitive. Même un utilisateur novice pourra le comprendre et commencer à travailler avec l'utilitaire. En général, je le recommande à tous ceux qui commencent à se familiariser avec les éditeurs hexadécimaux.

2) WinHex

Cet éditeur, malheureusement, est un shareware, mais il est l'un des plus polyvalents, prenant en charge un certain nombre d'options et de fonctionnalités différentes (dont certaines sont difficiles à trouver chez les concurrents).

En mode éditeur de disque, il permet de travailler avec : des disques durs, des disquettes, des lecteurs flash, des DVD, des disques ZIP, etc. Prend en charge les systèmes de fichiers : NTFS, FAT16, FAT32, CDFS.

Je ne peux m'empêcher de noter les outils d'analyse pratiques : en plus de la fenêtre principale, vous pouvez en connecter d'autres avec diverses calculatrices, des outils de recherche et d'analyse de la structure des fichiers. De manière générale, il convient aussi bien aux débutants qu’aux utilisateurs expérimentés. Le programme prend en charge la langue russe ( sélectionnez le menu suivant : Aide / Configuration / Russe ).

WinHex, en plus de ses fonctions les plus courantes (qui prennent en charge des programmes similaires), vous permet de « cloner » des disques et d'en supprimer des informations afin que personne ne puisse jamais les récupérer !

3) Éditeur hexadécimal HxD

Un éditeur de fichiers binaires gratuit et assez puissant. Prend en charge tous les principaux encodages (ANSI, DOS/IBM-ASCII et EBCDIC), les fichiers de presque toutes les tailles (d'ailleurs, l'éditeur permet, en plus des fichiers, d'éditer la RAM et d'écrire directement les modifications sur le disque dur !).

Vous pouvez également noter une interface bien pensée, une fonction pratique et simple pour rechercher et remplacer des données, un système de sauvegarde et de restauration étape par étape et à plusieurs niveaux.

Après le lancement, le programme se compose de deux fenêtres : à gauche se trouve le code hexadécimal, et à droite se trouve la traduction du texte et le contenu du fichier.

Parmi les inconvénients, je soulignerais le manque de langue russe. Cependant, de nombreuses fonctions seront claires même pour ceux qui n'ont jamais appris l'anglais...

4) HexCmp

HexCmp - ce petit utilitaire combine 2 programmes à la fois : le premier permet de comparer des fichiers binaires entre eux, et le second est un éditeur hexadécimal. Il s'agit d'une option très utile lorsque vous devez trouver des différences entre différents fichiers, vous aidant à explorer les différentes structures d'une grande variété de types de fichiers.

À propos, les lieux après comparaison peuvent être peints de différentes couleurs, selon l'endroit où tout correspond et où les données sont différentes. La comparaison se fait à la volée et très rapidement. Le programme prend en charge les fichiers dont la taille ne dépasse pas 4 Go (ce qui est largement suffisant pour la plupart des tâches).

En plus de la comparaison habituelle, vous pouvez également comparer sous forme de texte (ou même les deux à la fois !). Le programme est assez flexible, il vous permet de personnaliser la palette de couleurs et de spécifier des boutons de raccourci. Si vous configurez le programme de manière appropriée, vous pouvez travailler avec lui sans souris ! En général, je recommande à tous les « vérificateurs » novices des éditeurs hexadécimaux et des structures de fichiers de le lire.

5) Atelier hexagonal

Hex Workshop est un éditeur de fichiers binaires simple et pratique, qui se distingue principalement par ses paramètres flexibles et sa faible configuration système. Grâce à cela, il peut être utilisé pour éditer des fichiers assez volumineux qui ne s'ouvrent tout simplement pas ou ne se figent pas dans d'autres éditeurs.

L'éditeur possède toutes les fonctions les plus nécessaires : édition, recherche et remplacement, copier, coller, etc. Le programme peut effectuer des opérations logiques, effectuer des comparaisons de fichiers binaires, afficher et générer diverses sommes de contrôle de fichiers, exporter des données vers des formats populaires : rtf et html.

L'éditeur dispose également d'un convertisseur entre les systèmes binaires, binaires et hexadécimaux. En général, un bon arsenal pour un éditeur hexadécimal. Le seul point négatif est peut-être que le programme est un shareware...

NOTE
Les images ne sont pas présentées sur cette page, mais vous pouvez les retrouver dans le livre.

Ce que nous allons faire maintenant est, de mon point de vue, très intéressant. Ce sera votre premier programme en code machine (et, très probablement, le seul))).

Assembly est un langage de bas niveau, mais reste un langage. Avez-vous essayé d'écrire un programme en code machine ? Essayons-le maintenant.

Vous pouvez écrire un programme sans aucun compilateur assembleur ou autre outil - en utilisant n'importe quel éditeur hexadécimal (ou éditeur hexadécimal ou éditeur hexadécimal).

Pourtant, analyser des programmes dans un éditeur hexadécimal est très utile. Surtout pour ceux qui vont travailler avec l'électronique - après tout, les microprocesseurs ne comprennent ni Pascal ni C++. Bien qu'il existe des appareils et des programmes spéciaux qui leur « expliquent » ces langues.

Pour commencer, vous aurez besoin d'un éditeur hexadécimal. Vous pouvez utiliser tout ce que vous avez sous la main. Cependant, j'utiliserai McAfee FileInsight v2.1 déjà mentionné. Cet éditeur hexadécimal peut être téléchargé gratuitement. Toutes les actions décrites ci-dessous sont valables pour cet éditeur.

Vous avez donc installé un éditeur hexadécimal. Lançons-le. Cliquez sur le bouton OUVRIR, recherchez l'un des fichiers COM que nous avons créés, par exemple debug_1.com, et chargez-le dans l'éditeur.

Lorsque le fichier est chargé, vous verrez ce qui suit dans l'éditeur (voir aussi Fig. 1.12) :

00000000 B4 02 B2 41 CD 21 CD 20 ...A.!. Vous pouvez ouvrir deux autres fichiers que nous avons créés : mycode.com (créé dans emu8086) ou ATEST.COM (que nous avons créé dans la section). Vous verrez la même chose. Cela signifie que tous les assembleurs produisent le même code machine. Autrement dit, les différences dans le texte des programmes ne sont pas fondamentales - elles sont dues uniquement aux différences entre les assembleurs eux-mêmes.

NOTE
Si dans votre cas vous voyez une image différente, alors soit vous avez ouvert un fichier différent, soit vous le visualisez en mode texte. Dans ce dernier cas, cliquez sur le bouton Afficher en hexadécimal dans la barre d'outils (voir Figure 1.12).

Que signifient ces chiffres ?

Tout est clair avec des zéros - c'est la première cellule mémoire dans laquelle le nombre B4 est écrit. Ce numéro sera ensuite écrit à l'adresse 0100h (pour le fichier COM). La ligne doit contenir 16 nombres, chacun étant composé de deux chiffres. Les nombres sont écrits sous forme hexadécimale. Mais notre programme est petit - seulement 8 octets, nous avons donc 8 nombres.

Eh bien, qu'est-ce que le B4 ? Il s'agit de la commande : « Entrez une valeur dans le registre AN. » Quelle valeur entrons-nous ? Correct : 02 (le numéro suivant sur la ligne).

AX=0200 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0B72 ES=0B72 SS=0B72 CS=0B72 IP=0102 NV UP EI PL NZ NA PO NC 0B72:0102 B241 MOV DL,41 Voir B241 à la dernière ligne ? Cela ressemble à une combinaison familière ? Il s'agit du code de commande MOV DL, 41.

Il ne reste plus qu’à s’occuper des personnages mystérieux au bout du fil. Mais ici tout est simple : chaque chiffre du numéro correspond au code de caractère de la table ASCII, et ces caractères sont affichés dans le même ordre que les chiffres hexadécimaux. Dans ce texte, certains caractères sont remplacés par des points (.) - ce sont simplement des codes pour les caractères non alphabétiques.

Eh bien, maintenant écrivons et créons notre programme soigneusement étudié sans assembleurs ni éditeurs de liens. Ouvrez l'éditeur, créez un nouveau fichier (pour ce faire, cliquez sur le bouton NOUVEAU de la barre d'outils), puis cliquez sur le bouton Afficher en hexadécimal et saisissez les données :

00000000 B4 02 B2 41 CD 21 CD 20 Enregistrez le fichier sous le nom, par exemple, hex_1.com. Tous. Le programme est prêt. Vous pouvez maintenant le lancer et admirer à nouveau votre création. Le résultat sera le même que dans tous les cas précédents.

Et une autre agréable surprise de la part de l'éditeur McAfee FileInsight v2.1 : il possède son propre désassembleur ! Si vous chargez un fichier exécutable dans l'éditeur et sélectionnez l'onglet DÉMONTAGE dans le coin inférieur gauche, vous pouvez visualiser le code source du programme chargé en langage assembleur (Fig. 1.12).

Pourquoi avons-nous besoin d'éditeurs et de désassembleurs hexadécimaux ? C'est tellement difficile. Oui, ce n'est pas facile. Cependant, les pirates ne le pensent pas. C'est avec l'aide d'éditeurs hexadécimaux et de désassembleurs qu'ils cassent les programmes. Ils trouvent les endroits dont ils ont besoin dans le code et les corrigent selon leurs caprices de hacker.

Bien entendu, nous ne sommes pas des hackers. Nous ne briserons pas les programmes. Cependant, les désassembleurs et les éditeurs hexadécimaux sont très utiles pour les programmeurs respectueux des lois. Ils sont utilisés par exemple pour le débogage, l'étude des codes machine, etc. Par exemple, vous savez à quoi ressemble une commande en langage assembleur, mais vous souhaitez connaître son code machine. S'il n'y a pas de documentation, il n'y a qu'une seule issue : un éditeur hexadécimal et/ou un désassembleur. Cependant, il convient de garder à l'esprit que toutes les commandes ne correspondent pas à un code machine à deux chiffres. Certaines commandes sont assez complexes et nécessitent la représentation de plus de nombres dans le code machine.

HxD Hex Editor est un éditeur de données prenant en charge le codage ANCI. L'application utilise une représentation hexadécimale pour tous les fichiers ouverts, peut fonctionner avec des éléments de RAM et enregistrer les modifications sur le disque dur. Vous permet de rechercher et de remplacer des valeurs automatiquement ou manuellement. Comprend des outils pour exporter des données, créer des sommes de contrôle et effacer des fragments de code.

Le programme peut diviser les fichiers en parties de la taille requise et prend en charge le traitement d'une grande quantité d'informations. Utilise une interface modulaire avec la possibilité d'afficher le code standard et hexadécimal. Permet d'annuler les modifications apportées, contient des outils de navigation par contexte et adresse de ligne.

L'éditeur HEX est capable d'interagir avec tout type de fichier et peut être utilisé pour rechercher et remplacer les valeurs exécutables des processus en cours d'exécution.

Téléchargez gratuitement la version russe complète de HxD Hex Editor sur le site officiel sans inscription ni SMS.

Configuration système requise

  • Systèmes d'exploitation pris en charge : Windows 8.1, Vista, 10, 8, 7, XP
  • Profondeur de bits : 64 bits, x86, 32 bits

Cet article parlera du travail dans l'éditeur hexadécimal gratuit Free Hex Editor Neo, en utilisant l'exemple de l'édition d'un fichier BkEnd.dll dès la livraison pour le bon fonctionnement de ce système avec .

1. Un peu sur les éditeurs et fichiers hexadécimaux

Comme vous le savez, tout fichier stocké sur le disque dur d’un ordinateur est une séquence de mots machine – des octets. Un octet, à son tour, se compose de 8 bits, chacun pouvant prendre la valeur « 0 » ou « 1 », ce qui signifie qu'un octet peut prendre 2 8 = 256 valeurs comprises entre 0 et 255. Le nombre est 256 10. écrit dans le système hexadécimal, est un nombre rond à trois chiffres - 100 16, c'est-à-dire que pour représenter n'importe quel nombre compris entre 0 et 255, pas plus de 2 chiffres seront nécessaires. Cela signifie qu'il est très pratique d'écrire la valeur de chaque octet sous la forme d'un nombre à deux chiffres dans le système numérique hexadécimal.

L'éditeur hexadécimal nous montre le fichier tel que la machine le « voit », c'est-à-dire sous la forme d'une séquence d'octets. Par exemple, en ouvrant un fichier dans l'éditeur, nous verrons une matrice composée de 16 colonnes et le nombre de lignes en fonction de la taille du fichier. Chaque valeur matricielle correspond à un octet, écrit sous la forme d'un nombre hexadécimal à deux chiffres. En modifiant la valeur de l'octet souhaité, nous pouvons, en conséquence, modifier le fichier lui-même.

De plus, à côté du tableau on peut voir :

  • A gauche de la matrice une ligne de nombres est affichée : chaque ligne correspond à un nombre indiquant l'adresse/offset du premier octet de cette ligne. Le pas d'adresse est égal au nombre de colonnes.
  • Une autre règle est affichée en haut de la matrice : au-dessus de chaque colonne est affiché le décalage de l'octet de cette colonne par rapport au premier octet de la ligne correspondante. La somme du nombre correspondant à la i-ème ligne et du nombre correspondant à la j-ème colonne est l'adresse/décalage de l'octet (i;j) situé à l'intersection de la ligne prise et de la colonne prise.
  • À droite de la matrice, les mêmes données sont affichées, mais dans une interprétation différente. L'alternative la plus courante consiste à afficher les données sous forme de texte ASCII, avec des octets dont les valeurs correspondent à des caractères non imprimables affichés sous forme de points (·). Vous pouvez également modifier les valeurs dans cette zone.

2. Installez gratuitement Hex Editor Neo

Par exemple, j'ai besoin d'un octet avec un décalage 000d9ccaécrire une valeur eb. Pour cela, je retrouve la ligne « 000d9cco » et la colonne « 0a », double-cliquez sur la cellule souhaitée et saisissez une nouvelle valeur.

En procédant de la même manière, j'apporte les modifications suivantes :

  1. Pour corriger l'erreur " Nécessite MS SQL Server 6.5 + Service Pack 5a ou supérieur !» changez les champs :
    par décalage 000d9cca signification 83 changer pour eb
    par décalage 000d9ccb signification e8 changer pour 15
    par décalage 000db130 signification 83 changer pour eb
    par décalage 000db131 signification e8 changer pour 10
  2. Pour corriger l'erreur " L'ordre de tri défini pour la base de données diffère de celui du système !»:
    par décalage 0018a79d signification 75 changer pour eb
  3. Pour corriger l'erreur " Syntaxe incorrecte à proximité du mot-clé « TRANSACTION »»
    Phrase DUMP TRANSACTION %s AVEC TRUNCATE_ONLY, qui est situé au décalage 002856B0 remplacer par une phrase MODIFIER LA BASE DE DONNÉES %s FIXER LA RÉCUPÉRATION SIMPLE
  4. Pour corriger l'erreur " La base de données ne peut pas être ouverte en mode mono-utilisateur", changez les champs :
    par décalage 0028549c signification 64 changer pour 6b
    par décalage 0028549d signification 62 changer pour 70

Une fois toutes les modifications apportées, enregistrez le fichier en cliquant sur " Déposer» — « Sauvegarder» .

Cet article vous a-t-il aidé ?



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :