|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Апр 14, 2004 23:50:09 · Поправил: Безпощадный даос Он состоит из двух стадий: 1. Смена местами символов пароля (слева направо), и XOR их все на 5Ah; 2. Раскидывание битов по сторонам. Алгоритм шифровки, который я выцепил (на асме) суда пихать не буду, т.к. он занимает офигительно много места. Я приведу сырец проги (с алгоритмами шифровки и расшифровки), который я перевёл с ассемблера на паскаль. Для более наглядного примера я приведу схемы шифрования. 1. Стадия - смена местами символов пароля и их всех на XOR 5Ah (слева ещё прилепляется информация о длине пароля): Password->drowssaP-(XOR 5Ah)-> -> 3E,28,35,2D,29,29,3B,0A -> -> F7,FF,FF,FF,3E,28,35,2D,29,29,3B,0A | (FF-08) 08 - длина пароля 2. Расскидывание битов. Одна итерация цикла обрабатывает до трёх символов, преобразовывая их в четыре. Итак, обработка начинается с чисел F7,FF,FF, но для наглядности возьмём три символа самого пароля 3E,28,35 и покажем как они раздолбываются: 3E 28 35 0 0 1 1 1 1 1 0 0 0 1 0 1 0 0 0 0 0 1 1 0 1 0 1 |_________| |__| |_____| |_____| |_| |_________| \ \__ \ \__ | \___ \ \__ \ \___ \ \___ ____\____ \_ _\___ _\___ | ___\_____ | | | || | | | | | | | 0 0 0 0 1 1 1 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 1 | | | | 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 1 1 0 1 1 0 Каждый полученный байт инкриментируется. Далее берётся символ из базы, номер которого равен полученному байту, и вставляется в поле зашифрованного пароля. |
|
|
Дата: Апр 15, 2004 00:38:55 |
|
|
Дата: Июн 11, 2004 10:31:27 Сорри за поздний ответ, алгоритм дешифровки: 1. base64 декритп по этому алфавиту "+-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" 2. -(первый dword результата после шага 1) = длина пароля 3. Пропускаем первый dword и ксорим результат с 0x5a - получаем пароль |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.044 |