Accueil > Forum > > > > [nasm] cryptage
[nasm] cryptage
mardi 3 août 2004 à 16:46:30 |
[nasm] cryptage

sirozz
|
Salut à tous ! J'ai fait un petit prog qui crypte (xor) un fichier passé en ligne de commande, mais j'ai fait ça avec le guide des interruptions sous les yeux et c'est de la pure bidouille. Ca marche mais c'est trop trop lent !! je crois que c'est parce que j'utilise justement trop d'appels aux interruptions. voila le source : -------------------------------------------------------------------------- key equ 12341234h [org 100h] mov cl, [80h] ; recup cmdline mov si, 82h mov di, cmdline rep movsb dec di mov [es:di], byte 0 mov ah, 3dh ; ouverture fichier mov al, 0h mov dx, cmdline int 21h mov [handle1], ax mov ah, 3ch ; creation fichier temp mov cx, 20h mov dx, cmdline + 1 int 21h mov [handle2], ax read mov ah, 3fh ; lecture de 4 octets mov bx, [handle1] mov cx, 4 mov dx, dwordBuf int 21h cmp ax, 0 je fin crypt mov eax, [dwordBuf] xor eax, key mov [dwordBuf], eax mov ah, 40h ; ecriture dans fichier temp mov bx, [handle2] mov cx, 4 mov dx, dwordBuf int 21h jmp read fin mov ah, 3eh ; ferme fichier source mov bx, [handle1] int 21h mov ah, 3eh ; ferme fichier temp mov bx, [handle2] int 21h mov ah, 41h ; supprime le source mov dx, cmdline int 21h mov ah, 56h ; renomme le temp mov dx, cmdline + 1 mov di, cmdline int 21h ret [segment .bss] cmdline resb 127 handle1 resw 1 handle2 resw 1 dwordBuf resd 1 -------------------------------------------------------------------------- Avez-vous une solution simple et plus rapide ? (je crois que les pros de l'assembleur vont pousser des hauts-cris en voyant mon code....faut bien commencer quelque part....) Merci d'avance.
|
|
mardi 3 août 2004 à 17:57:58 |
Re : [nasm] cryptage
|
mardi 3 août 2004 à 18:21:23 |
Re : [nasm] cryptage

sirozz
|
ok, merci pour le conseil mais peut tu me dire (en gros) comment faire ce genre de truc (lire et écrire par bloc), il faut que je fasse le cryptage en mémoire ? ou si ya déja un message sur ce forum qui traite du sujet, peut tu me poster le lien ? merci.
|
|
mardi 3 août 2004 à 18:47:42 |
Re : [nasm] cryptage

patatalo
|
re,
Buff resd 1024
.lp1 mov ah, 3fh ; lecture de 4 octets mov bx, [handle1] mov cx, 4096 lea dx, [Buff] int 21h ;jc ??
cmp ax,0 mov bx,ax je .end
push ax .lp2 xor dword [Buff+bx-4],key sub bx,4 ja .lp2 ; les derniers octets seront omis si - de 4 octets pop cx
mov ah, 40h ; ecriture dans fichier temp mov bx, [handle2] lea dx, [Buff] int 21h jnc .lp1
.end
ca devrait etre un truc comme ça ...
@++
|
|
mardi 3 août 2004 à 20:13:20 |
Re : [nasm] cryptage

sirozz
|
Ok, merci Patatalo ! je vais essayer ça.
|
|
mardi 3 août 2004 à 20:53:10 |
Re : [nasm] cryptage

sirozz
|
Réponse acceptée !
Excellent ! Merci beaucoup Patatalo ! Ca marche bien maintenant. Je pose le source : --------------------------------------------------------
key equ 12341234h
[org 100h]
mov cl, [80h] ; recup cmdline mov si, 81h mov di, cmdline rep movsb mov [es:di], byte 0
mov ah, 3dh ; ouverture fichier mov al, 0h mov dx, cmdline int 21h mov [handle1], ax
mov ah, 3ch ; creation fichier temp mov cx, 20h mov dx, cmdline + 1 int 21h mov [handle2], ax
read mov ah, 3fh ; lecture mov bx, [handle1] mov cx, 4096 mov dx, buffer int 21h mov bx, ax ; recup nb d'octets lus cmp ax, 0 je fin
push ax ; sauve nb octets lus crypt xor dword [buffer+bx-4], key sub bx, 4 ja crypt mov ah, 40h ; ecriture dans fichier temp mov bx, [handle2] pop cx ; recup ax = nb octets mov dx, buffer int 21h
jmp read
fin mov ah, 3eh ; ferme fichier source mov bx, [handle1] int 21h
mov ah, 3eh ; ferme fichier temp mov bx, [handle2] int 21h
mov ah, 41h ; supprime le fichier source mov dx, cmdline int 21h
mov ah, 56h ; renomme le fichier temp mov dx, cmdline + 1 mov di, cmdline int 21h
ret
[segment .bss] cmdline resb 127 handle1 resw 1 handle2 resw 1 buffer resd 1024
--------------------------------------------------
par contre ya un truc étrange, NASM ne compile pas avec les bons opcodes quand j'utilise "lea dx, buffer". mais ça marche bien avec "mov dx, buffer". @+
In tartiflette we trust !
|
|
mercredi 10 septembre 2008 à 06:59:03 |
Re : [nasm] cryptage

damahom
|
Je ne suis pas un expert en ASM, mais des que l'on crypte un fichier avec XOR le mot de passe apparait en répété spécialement si il y des zéro(0) car: Imaginons un mot de passe de 4bits(juste pour faire simple) par exemple : '1101'
essayons d'encoder un petit fichier de 16bits '1101100010110000' faisons comme ceci 1101100010110000 et copiant le passe 1101110111011101 et faisons le XOR 0000010101101101 les dernier 4 bit sont | zéro alors le passe ce répété--------------|
Ceci est un simple exemple, imaginez un fichier plein de zero.
Pour moi la solution serai de compresser le fichier par un methode de compression des bit repete.
|
|
Cette discussion est classée dans : fichier, int, mov, 21h, cmdline
Répondre à ce message
Sujets en rapport avec ce message
Lecture de DTA [ par mouadestla ]
Bonsoir , je débute en assembleur , j'esseye de coder en 16 bits un petit programme qui fait appele à l'interuptions 21h : 4Eh du DOS qui cherche un f
Mon fichier Mp3 [ par li2k ]
Salut!J'aimerai créer en assembleur un programme qui lance la lecture d'un fichier mp3 (Juste pour faire mon réveil personnalisé sur ordi)Mais bon le
Mini OS !! debut [ par Hardouz ]
salut a tous ! je debut en ASM je vx bosser un px en ASM je connais l'architechture ect !!! j'ai fais un pti programme mais il ya un probléme 1/ lors
probleme d'affichage d'une soustraction [ par calimerros ]
[u]Bonjour à tous et à toutes.[/u] Voici un programme que je réalise et je bloque au niveau de l'affichage d'une soustraction (SUB). Pour moi mon pr
tp assembleur i3 pour la FST [ par babbiverus ]
main proc mov ax,@Datamov ds, axmov si,offset tabmov cx, 16mov bx,0saisie: mov dx,offset commande;afficher "saisir un nombre"mov ah,9int 21hmov ah, 1
assembleur/ patronyme [ par maxverypainful ]
Bonjour, je suis nouveau en tant qu'étudiant en informatique de gestion et j'ai une question concernant un code que nous devons créer.Il a pour but de
Problème de restitution d'une chaîne. [ par Sawteeth ]
Bonsoir. Je viens de débuter l'assembleur et j'ai tenté de faire un petit programme qui lit une chaîne au clavier et l'affiche à l'écran. Le problème
un code en assembleur [ par tatouna ]
salut à tous, je suis débutante en asm donc j'ai un problème et je souhaite que vous m'aidiez j'ai une chaine de caractère (une date) et je veut la p
Saisie & Calcul de sa taille de caractère en tasm [ par baz13shaz ]
je veut saisir une chaine de caractère & calculer sa taille,et je veut charger la chaine saisie en mémoire centrale? que doit je faire? comment je peu
Voir si un caractère est dans une chaine [ par Wayth ]
Bonsoir, Je viens sur votre forum car je n'arrive pas à trouver un label fonctionnel pour voir si un caractère se trouve ou non dans une chaîne de ca
Livres en rapport
|
Derniers Blogs
[TECHDAYS2012] OUI J'Y SERAI![TECHDAYS2012] OUI J'Y SERAI! par JeremyJeanson
Bonsoir, Certes, je l'annonce avec un peu de retard, mais je serai effectivement au Techdays demain. Comme l'an dernier, je participerai au programme ATE (Ask The Expert). Si vous avez des questions Workflow, WCF, AppFabric ou plus généralement .net, n'hé...
Cliquez pour lire la suite de l'article par JeremyJeanson TFS INTEGRATION TOOLS - SUIVI DES SYNCHRONISATIONS AVEC REPORTING SERVICESTFS INTEGRATION TOOLS - SUIVI DES SYNCHRONISATIONS AVEC REPORTING SERVICES par vfabing
Afin de s'assurer du bon fonctionnement des différentes synchronisations effectuées par les TFS Integration Tools, 2 rapports sont présents dès l'installation. Il suffit alors d'effectuer les manipulations suivantes pour pouvoir les visualiser : Loca...
Cliquez pour lire la suite de l'article par vfabing CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|