|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 7, 2004 15:49:23 Приветствую! У меня вопросик о том как с помощью xor`а зашифровать строку? Давным-давно, во времена dos`а это можно было сделать так: crypt db 'c'xor 03, 'r'xor 03, 'y'xor 03, 'p' xor 03, 't' xor 03, 'e' xor 03, 'd' xor 03,13,10 Подскажите пожалуйста, а как проделать аналогичное, но для FreeBSD и с at&t синтаксисом :) Заранее спасибо за ответы :) p.s. да, ссылки на дополнительную литературу всегда приветствуются!!! |
|
|
Дата: Июл 7, 2004 16:41:36 · Поправил: Anonimka Аналог твоей строчки для GNU Assembler - crypt: .byte 'c'^3, 'r'^3 и т.д. Upd: А вообще, руководство читать надо. Даже на форуме (UNIX->GAS FAQ) ссылки есть. |
|
|
Дата: Июл 8, 2004 10:20:23 Большое спасибо за ответ. Все получилось :-) |
|
|
Дата: Июл 8, 2004 20:15:49 А, вообще-то, советую не извращаться так, т. к. если объем текста большой - за... ну, того, а написать рядом маленький криптер и не знать проблем. Ну, а в рантайме строки шифровать, я думаю, ты и сам сумеешь... |
|
|
Дата: Июл 8, 2004 23:37:35 Не знаю, как в AT&T, а в масме можно сделать макрос и шифровать целые строки. Для xor так точно можно. |
|
|
Дата: Июл 9, 2004 10:25:24 2 diver - я толко учусь поэтому сам поку немогу написать маленький криптор. И примеров я тоже нигде не нашел. |
|
|
Дата: Июл 9, 2004 21:01:54 · Поправил: diver 2 diver - я толко учусь поэтому сам поку немогу написать маленький криптор. И примеров я тоже нигде не нашел. Ну, если тебя интересует сама процедура, то я могу привести маленький пример... Только я пишу на асмах intel'овского синтаксиса. Вот, накатал примерчик... Наверное не очень оптимизированно, но все же. crypt: ; в bl ключ ; в edi указатель на шифруемую строку ; строка должна содержать по крайней мере 1 символ, нет, вру - не должна :) mov esi, edi loop_crypt: lodsb ; IA-32 SDM: Load byte at address DS:(E)SI into AL. test al, al jz near exit_crypt xor al, bl stosb ; IA-32 SDM: Store AL at address ES:(E)DI. inc edi inc esi jmp near loop_crypt exit_crypt: retn Написано на nasm. Хотя, тут пофиг... |
|
|
Дата: Июл 9, 2004 21:13:24 Нечто похожее, но на масме: ; A fastcall subroutine ; EAX == input string ; EDX == length ; --------------------- @@XOR: xor DWORD PTR [eax],XOR_MASK add eax,DWORD dec edx jnz @@XOR retn |
|
|
Дата: Июл 12, 2004 11:33:38 Большое спасибо! Буду рзбираться. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.110 |