Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 6
1

Шифрование пароля - xor-шифрование

02.06.2011, 00:32. Показов 3232. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Делаю программу запрашивающую пароль. При совпадении или несовпадении пароля выводится соответствующее сообщение. Вопрос возник в шифровании, хочу сделать чтобы отдельный фрагмент кода был зашифрован, а в ходе выполнения должен расшифровываться. Использую xor-шифрование.
Вопрос, как предварительно зашифровать участок кода. Пробовал с помощью скрипта Ida Pro, но как потом сохранить изменения. Возможно сделать с помощью Hiew , но не знаю как.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
.model small
.stack 100h
 
.data 
 prompt db 'please enter a password:',13,10,'$'
 error db 'error',13,10,'$'
 rightpass db 'password is right',13,10,'$'
 pass db  91h,89h,7dh,89h,81h,6dh,85h,6dh,91h,85h,79h,81h,81h,8dh
 buffer db 300 dup (?)
 crlf db 13,10,'$'     ; printf("\n");
 
 .code 
 start:
 mov ax,@data
 mov ds,ax
 mov es, ax
 xor si, si
 
 mov ah,09
 lea dx, prompt
 int 21h            
 
 
 scanf:
 mov ah,0h
 int 16h
 cmp al,13 ; ENTER key
 je exit
 
 skip:
 cmp al,8 ; BACKSPACE key
 jne char
  call check_char
 cmp si, 0
 je scanf
 dec si
 jmp scanf
 
 
char:
 mov buffer[si], al
 xor al, 61h
 add buffer[si], al
 mov dl,'*'
 mov ah, 02h
 int 21h
 
 inc si
 jmp scanf
 
 exit: 
 lea dx,crlf
 mov ah,09h
 int 21h ; printf("\n");
 
 
 LEA     si,beginCrypt           ; Расшифровываем с этого адреса 
 
Repeat: 
 xor     byte ptr [si] , 61h
 INC     si                                ; Переместить указатель         ¦ 
 CMP     si, offset endCrypt      ; ?Конец достигнут              ¦ 
  jbe    Repeat                      ; {SI<=offset endCrypt}
 
 xor di,di
 xor si, si
 mov di, offset pass
 mov si, offset buffer
 mov cx, 14
 cld
 repe cmpsb 
 jne  invalid_char
 
beginCrypt:          ; ?????отсюда долно быть зашифровано
                 
 lea dx, rightpass       ; если пароль совпадает
 
endCrypt:            ; до этого места
 
 jmp disp_msg
 
 invalid_char:   ; если пароль  не совпадает совпадает
 lea dx,error
 
 disp_msg: 
 mov ah,09h
 int 21h
 terminate:
 mov ah, 10h
 int 16h
 mov ax,4c00h
 int 21h
 
 
 check_char proc near ; al=ASCII char code
 push ax
 push bx
 push cx
 push dx
 
 mov ah,3
 mov bh,0
 int 10h ; get cursor pos.
 cmp dx,0400h ; start of next line (after msg)
 jz endz
 mov ah,2
 sub dx,1
 int 10h ; repos. cursor
 mov ah,0ah
 mov al,' '
 mov bh,0
 int 10h ; blanking char. without repos.
endz:
 pop dx
 pop cx
 pop bx
 pop ax
 ret
 check_char endp
 
 
 end start
Добавлено через 3 часа 12 минут
Разобрался с Hiew,зашифровал код, но вот косяк: программа не выводит сообщение если пароль правильный.
А когда код не зашифрован, программа работает как надо, хотя не должна О_о.
Что-то я упустил, подскажите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2011, 00:32
Ответы с готовыми решениями:

Шифрование пароля командой xor MASM32
Добрый день, нужна помощь в шифровании пароля с помощью команды xor. Задание состоит в том, чтобы...

Xor шифрование на Fasm
Собственно вот исходник Открываю файл, считываю в буфер содержимое. use16 ...

Шифрование данных с помощью пароля
Помогите разработать программку- шифрование данных с помощю пароля!!!

Как сделать правильнее простейшие шифрование XOR
Здравствуйте. Учи ASM, но не хватает времени, что бы читать учебники, поэтому приходится учится...

0
02.06.2011, 00:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.06.2011, 00:32
Помогаю со студенческими работами здесь

Шифрование
Предположим, мы имеем следующие простые алгоритм симметричного шифрования (в C / C + +, используя...

Шифрование сдвигом
Нужно зашифровать файл арифметическим сдвигом на 3 позиции данные сохраняются в файл символьном...

шифрование на ассемблере
Заинтересовался темой шифрования на ассемблере. У кого есть какие исходники шифровальщиков на...

Шифрование файла, ROR
задача: шифрование файла методом побитового сдвига вправо - ROR на 4 бита, т.е. одна прога и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru