Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
15 / 14 / 4
Регистрация: 22.05.2013
Сообщений: 524

Алгоритм шифрования ROT13 на Ассемблере

08.06.2013, 17:33. Показов 2772. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите с Алгоритмои шифрования ROT13 на Ассемблере masm 32. нужно написать программу. пожалуйста помогите!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.06.2013, 17:33
Ответы с готовыми решениями:

Программа шифрования методом гаммирования (XOR), длина гаммы равна длине текста
Помогите. Задание такое: написать программу которая будет шифровать введенное слово МЕТОДОМ ГАММИРОВАНИЯ (если просто считать слово по...

Программа для шифрования английского текста шифром ROT13
Доброго времени суток, формучане! Очень нужна ваша помощь, не могу понять, как написать программу для шифрования текста шифром ROT13. В С++...

Алгоритм шифрования
Здравствуйте, посоветуйте алгоритм шифрования, которым можно в билдере зашифровать, а на PHP расшифровать. Но чтобы en/de coding происходил...

6
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
08.06.2013, 18:04
В гугле забанили?
http://www.manhunter.ru/assemb... blere.html
0
15 / 14 / 4
Регистрация: 22.05.2013
Сообщений: 524
08.06.2013, 18:06  [ТС]
Цитата Сообщение от Charles Kludge Посмотреть сообщение
В гугле забанили?
http://www.manhunter.ru/assemb... blere.html
а как же! но это на fasm а мне нужно на masm 32
0
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
08.06.2013, 18:18
Офигенно сложно переделать:
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
.386
.model  flat, stdcall
.code
;-----------------------------------------------------------------------
; Функция шифрования строки по алгоритму ROT13
; Copyright (C) ManHunter / PCL
; [url]http://www.manhunter.ru[/url]
;-----------------------------------------------------------------------
; Параметры:
;      lpData - указатель на строку
;      dSize  - длина строки
;-----------------------------------------------------------------------
ROT13   proc     lpData:DWORD, dSize:DWORD
        pusha
 
        ; Длина строки
        mov     ecx, dSize
        or      ecx,ecx
        jz      @loc_ret
 
        ; Указатели на строку
        mov     esi,lpData
        mov     edi,esi
@loc_crypt:
        ; Получить символ из строки
        lodsb
        inc     edi
 
        ; Сохранить бит регистра
        mov     ah,al
        and     ah,20h
 
        ; Символ в верхний регистр
        and     al,0FFh-20h
        cmp     al,'A'
        ; Кодировать не надо
        jb      @no_crypt
        cmp     al,'Z'
        ; Кодировать не надо
        ja      @no_crypt
 
        sub     al,13
        ; Cимвол первой половины алфавита?
        cmp     al,'A'
        jae     @f
        add     al,26
@@:
        ; Восстановить бит регистра
        or      al,ah
        dec     edi
        ; Записать измененный символ
        stosb
@no_crypt:
        ; Следующий символ
        loop    @loc_crypt
@loc_ret:
        popa
        ret
ROT13   endp
end
1
15 / 14 / 4
Регистрация: 22.05.2013
Сообщений: 524
08.06.2013, 18:29  [ТС]
я не очень в ассемблере! спасибо!


огромное Вам спасибо!!!!! извините я ламер в ассемблере! подскажите как сделать из этого когда экзешник? или его не реально сделать на масме?
0
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
08.06.2013, 20:21
Цитата Сообщение от SENDEJER Посмотреть сообщение
или его не реально сделать на масме?
На этот раз мне самому было интересно. Я чувствовал, что писать под вынь(не консоль) на масм32 - это зопа. Так оно и есть. Вобщем, проба пера, так сказать:
Code
1
2
ml -c -coff rot13.asm
Link /SUBSYSTEM:WINDOWS /OPT:NOREF rot13.obj
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
      .486                      ; create 32 bit code
      .model flat, stdcall      ; 32 bit memory model
      option casemap :none      ; case sensitive
 
      include \masm32\include\dialogs.inc
      include rot13.inc
  ID_TXT = 100
  ID_ROT13 = 101
    
      DialogProc PROTO :DWORD,:DWORD,:DWORD,:DWORD
 
;---------------------------------------------
 
.data?
 
buff    db 500h dup(?)
 
;---------------------------------------------
 
.code
 
start:
      mov hInstance, FUNC(GetModuleHandle,NULL)
        call    main
;        invoke  DialogBoxParam,eax,37,HWND_DESKTOP,DialogProc,0
        invoke  ExitProcess,0
;---------------------------------------------
main proc
 
    Dialog "ROT13 Demo","MS Sans Serif",10, \            ; caption,font,pointsize
            WS_OVERLAPPED or WS_CAPTION or WS_SYSMENU or DS_CENTER or DS_SYSMODAL, \     ; style
            3, \                                            ; control count
            0,0,190,55, \                                 ; x y co-ordinates
            1024                                            ; memory buffer size
 
    DlgEdit WS_VISIBLE or WS_BORDER or WS_TABSTOP or ES_AUTOHSCROLL,5,7,177,13, ID_TXT
    DlgEdit WS_VISIBLE or WS_BORDER or ES_READONLY or ES_AUTOHSCROLL,5,19,177,13, ID_ROT13
    DlgButton "Exit",WS_TABSTOP,135,37,50,15,IDCANCEL
 
    CallModalDialog hInstance,0,DialogProc,NULL
 
    ret
 
main endp
 
;-----------------------------------------------------------------------
; Функция шифрования строки по алгоритму ROT13
; Copyright (C) ManHunter / PCL
; [url]http://www.manhunter.ru[/url]
;-----------------------------------------------------------------------
; Параметры:
;      lpData - указатель на строку
;      dSize  - длина строки
;-----------------------------------------------------------------------
ROT13   proc     lpData:DWORD, dSize:DWORD
        pusha
 
        ; Длина строки
        mov     ecx, dSize
        or      ecx,ecx
        jz      @loc_ret
 
        ; Указатели на строку
        mov     esi,lpData
        mov     edi,esi
@loc_crypt:
        ; Получить символ из строки
        lodsb
        inc     edi
 
        ; Сохранить бит регистра
        mov     ah,al
        and     ah,20h
 
        ; Символ в верхний регистр
        and     al,0FFh-20h
        cmp     al,'A'
        ; Кодировать не надо
        jb      @no_crypt
        cmp     al,'Z'
        ; Кодировать не надо
        ja      @no_crypt
 
        sub     al,13
        ; Cимвол первой половины алфавита?
        cmp     al,'A'
        jae     @f
        add     al,26
@@:
        ; Восстановить бит регистра
        or      al,ah
        dec     edi
        ; Записать измененный символ
        stosb
@no_crypt:
        ; Следующий символ
        loop    @loc_crypt
@loc_ret:
        popa
        ret
ROT13   endp
;---------------------------------------------
 
DialogProc proc hwnddlg,msg,wparam,lparam
        push    ebx 
        push    esi 
        push    edi
        mov eax, msg
        cmp     msg,WM_INITDIALOG
        je      @wminitdialog
        cmp     msg,WM_COMMAND
        je      @wmcommand
        cmp     msg,WM_CLOSE
        je      @wmclose
        xor     eax,eax
        jmp     @finish
@wminitdialog:
        jmp     @wmencode
@wmcommand:
        cmp     wparam,BN_CLICKED shl 16 + IDCANCEL
        je      @wmclose
        cmp     wparam,EN_CHANGE shl 16 + ID_TXT
        je      @wmencode
        jmp     @processed
 
@wmencode:
        invoke  GetDlgItemText,hwnddlg,ID_TXT, ADDR buff,255
        invoke  lstrlen,ADDR buff
        invoke ROT13,ADDR buff,eax
 
        invoke  SetDlgItemText,hwnddlg,ID_ROT13,ADDR buff
        jmp     @processed
 
@wmclose:
        invoke  EndDialog,hwnddlg,0
@processed:
        mov     eax,1
@finish:
        pop     edi 
        pop esi 
        pop ebx
        ret
DialogProc  endp
 
end start
Вложения
Тип файла: zip rot13.zip (3.3 Кб, 25 просмотров)
0
15 / 14 / 4
Регистрация: 22.05.2013
Сообщений: 524
08.06.2013, 20:54  [ТС]
большое спасибо!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.06.2013, 20:54
Помогаю со студенческими работами здесь

Алгоритм шифрования
Доброго времени суток. Есть исходный код, который расшифровывает строку по ключу (5BCC2D6A95D4DF04A005504E59A9B36E). Возможно ли...

Алгоритм шифрования
Всех с прошедшими праздниками! Выручите пожалуйста ребят. 1). В шифруемой фразе определяется количество символов, затем это число ...

Алгоритм шифрования
Нужен алгоритм шифрования и дешифрования строки. Два метода. Шифруем строку с помощью пароля. Дешифруем тоже с помощь пароля. public...

Алгоритм Шифрования
Добрый вечер. У меня такой к вам вопрос, Самый безопасный шифральшик паролей. Чтобы безопасно мог шифровать пароли, безопасная...

Алгоритм шифрования
Доброго времени суток. Имеется программа, которая шифрует данные собственным алгоритмом. Есть пример зашифрованных данных (вместе с...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru