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
[MIX 2010] - RETOUR D'EXPéRIENCE DéVELOPPEMENT SEESMIC SUR WINDOWS PHONE 7[MIX 2010] - RETOUR D'EXPéRIENCE DéVELOPPEMENT SEESMIC SUR WINDOWS PHONE 7 par redo
En avant première, Loic le retour d'expérience de Loïc Le Meur du portage de l'application http://seesmic.com/ sur plateforme Windows Phone 7 . c'était d'ailleurs une des rares opportunités de tester, voir toucher le nouveau device . voyez par vous-même :...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - LE KEYNOTE DAY 1 DISPONIBLE ONLINE ![MIX 2010] - LE KEYNOTE DAY 1 DISPONIBLE ONLINE ! par redo
Si tout comme moi, vous avez manqué de peu le premier keynote du Microsoft Mix 2010, je vous invite à prendre deux heure et le consulter ci-dessous . Visionnez le Keynote à l'url suivante : http://www.microsoft.com/Presspass/events/mix/videoGallery.aspx?c...
Cliquez pour lire la suite de l'article par redo VISUAL STUDIO TALK SHOW: EF4VISUAL STUDIO TALK SHOW: EF4 par Matthieu MEZIL
La semaine dernière, j'étais à Montréal pour y animer des conférences sur Entity Framework. J'en ai profité pour enregister un podcast Visual Studio Talk Show que vous pouvez retrouver ici ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [MIX 2010] - WINDOWS PHONE 7 EN SUPER STAR DU MICROSOFT MIX 2010 ![MIX 2010] - WINDOWS PHONE 7 EN SUPER STAR DU MICROSOFT MIX 2010 ! par redo
Me voici enfin arrivé au Microsoft Mix 2010, je dois vous avouer être arrivé un peu plus tard que d'habitude, ce qui explique que je n'ayez vu aucune info passer quant au premier keynote . certains événements sont plus importants que tout, ce qui était mo...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - LIVRE GRATUIT SUR PROGRAMMER WINDOWS PHONE 7 SERIES ![MIX 2010] - LIVRE GRATUIT SUR PROGRAMMER WINDOWS PHONE 7 SERIES ! par redo
Disponible gratuitement : (153 pages) PDF Version : http://download.microsoft.com/download/7/C/8/7C820C6F-C205-4ECF-B9F3-1505DD13F9BF/ProgWinPhonePreview.pdf XPS Version : http://download.microsoft.com/download/E/3/5/E359FC51-1CF5-47F1-9BF3-74AB09D3339B/P...
Cliquez pour lire la suite de l'article par redo
Forum
RE : CSHARPRE : CSHARP par ghuysmans99
Cliquez pour lire la suite par ghuysmans99 CSHARPCSHARP par nano16
Cliquez pour lire la suite par nano16
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|