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
loader problème de code [ par TRAX44 ]
salut tout le monde !!g essayer de faire un loader (petit prog qui charge un autre prog) mais c un desartre je comprend pas très bien ce qui ne marche
Help : afficher une chaine de caractère "mémorisée" [ par did2604 ]
Bonsoir à tous. Mon problème peut vous paraître très simpliste, mais pour quelqu'un qui fait de la programmation assembleur depuis à peine 1 mois, tou
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : PIC 16F84RE : PIC 16F84 par pont
Cliquez pour lire la suite par pont RE : PIC 16F84RE : PIC 16F84 par belounis
Cliquez pour lire la suite par belounis RE : PIC 16F84RE : PIC 16F84 par pont
Cliquez pour lire la suite par pont
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|