![]() |
Алгоритм шифрования скрипта в Mob файлах. - Версия для печати +- Город Джунов (https://www.gipat.ru/forum) +-- Форум Обсуждение Проклятых Земель (https://www.gipat.ru/forum/forum-19.html) +--- Форум Новости (https://www.gipat.ru/forum/forum-15.html) +--- Темы: Алгоритм шифрования скрипта в Mob файлах. (/thread-1810.html) Страницы:
1
2
|
Алгоритм шифрования скрипта в Mob файлах. - Jet - 19.02.2004 Сегодня мы решили опубликовать алгоритм шифрования скрипта в .MOB файлах. Вы можете загрузить исходные коды этого алгоритма, на языке C++ и Delphi из раздела: файлы. -> Файлы -> Tools -> Mod -> Mob Crypt Алгоритм шифрования скрипта в Mob файлах. - Slother - 19.02.2004 А что такое алгоритное шифрования (не щетайте меня диб <_< <_< илом) просто не понел ![]() Алгоритм шифрования скрипта в Mob файлах. - Mephisto - 19.02.2004 Есть такие файлы в пз, называются мобы. Так вот именно в них прописывается скрипт, отвечающий за квест. Этот скрипт по умолчанию зашифрован, зашифрован нивальским алгоритмом. Как им воспользоваться? Тут уж я не помошник точно. Алгоритм будет давать пользу только тем, кто имеет представление как им пользоваться ![]() Алгоритм шифрования скрипта в Mob файлах. - heller - 19.02.2004 Это и есть функция расшифровывающая/зашифровывающая (симметричный) скрипты в мобах... и понять его совсем не сложно... Алгоритм шифрования скрипта в Mob файлах. - Talarasha - 19.02.2004 Угу, все интуитивно понятно... Алгоритм шифрования скрипта в Mob файлах. - Александр - 19.02.2004 И всё-таки что-то народное мнение значит ![]() Эх,будем разбираться ![]() Алгоритм шифрования скрипта в Mob файлах. - CAHEK7 - 19.02.2004 Вроде почти все понятно, только один вопросик, там тип PBYTEArray это массив байтов, типа если на VB, то Dim A() as Byte и вместо переменной buf использовать A? Алгоритм шифрования скрипта в Mob файлах. - CAHEK7 - 19.02.2004 И еще... Откуда берется dwKey? Алгоритм шифрования скрипта в Mob файлах. - ALtair - 19.02.2004 из моба: <заголовок скрипта (ACCEECCB)><длина скрипта><Ключ скрипта (тот самый dwKey)><сам скрипт> Алгоритм шифрования скрипта в Mob файлах. - heller - 20.02.2004 Цитата:Dim A() as Byte и вместо переменной buf использовать A? Думаю так выйдет... Алгоритм шифрования скрипта в Mob файлах. - CAHEK7 - 21.02.2004 и еще меня смущает вот эта строка buf[i]:= buf[i] xor dwTmpKey; Если buf это массив byte, a TmpKey это DWORD, то при операции Xor в итоге должен получиться тип больше чим Byte, если TmpKey будет больше 255, а соответственно должно получиться или не совпадение типов или переполнение. И еще: в VB вроде нет функций Shl и Shr, поэтому пришлось их создавать... Как я понял эти функции делают сдвиг на несколько бит, например 5 (00000101) Shl 2 даст в итоге 20 (00010100), а 5 (00000101) Shr 2 даст 1 (00000001). Вопрос в том, правильно ли я думаю... P.S. К сожалению я не могу проверить этот код ни на Дельфи, ни на Си поэтому возникают такие вопросы... Алгоритм шифрования скрипта в Mob файлах. - heller - 21.02.2004 Все правильно shl (<<) , shr (>>) сдвиг влево и вправо соотвественно. Даже не верится что этого нет в VB. Никакого перенолнения не происходит... Алгоритм шифрования скрипта в Mob файлах. - Jet - 21.02.2004 Кстати, вместо shl, shr, << и >> можно использовать деление и умножение, таким образом можно значительно упростить функцию. ![]() Я думаю, что Нивал их и использовал у себя в алгоритме, мы ведь эту функцию восстанавливали из Assembler'а. Думаю в C++ исходниках Нивала алгоритм имел такой вид: Код: PBYTE cryptScript( PBYTE buf, DWORD dwKey, DWORD dwSize) А это, код на C#: Код: public string ReadCodedString() Алгоритм шифрования скрипта в Mob файлах. - CAHEK7 - 21.02.2004 вот я и пытаюсь перевести это на ВБ, но пока не очень получается Алгоритм шифрования скрипта в Mob файлах. - heller - 21.02.2004 На VB можно забить, там нету беззнаковых типов... Алгоритм шифрования скрипта в Mob файлах. - Jet - 21.02.2004 Зато есть double, в котором можно хранить без знаковое целое, и в ручную обрабатывать переполнение. Так что возможности есть, вот для того, чтобы это реализовать нужно опыт иметь, так с лету не получится. ![]() Может у нас на форуме найдутся профи, которым это под силу? Алгоритм шифрования скрипта в Mob файлах. - CAHEK7 - 22.02.2004 я возможно реализую все это на ВБ, но я не все понимаю в этих функциях, т.к. си я не знаю совершенно, поэтому возникают некоторые вопросы, вот например строчка buf[i] ^= (BYTE)(dwKey / 65536 % 256); , я так и не понял что означеат (BYTE) , а % в си обозначают остотак от деления или целочисленное деление? А с C# этот знак ^ обзоначает возведение в степень или xor или чтото еще? Jet давай с тобой в аське свяжемся и там все обсудим? Алгоритм шифрования скрипта в Mob файлах. - Jet - 22.02.2004 (BYTE) - пеиведение к типу байт % - остаток от деления, это для того чтобы небыло переполнения ^ - означает XOR У меня аська не установлена, если можно, то лучше по MSN или IRC irc.mastak.ru #gipat или выходи в чат сайта Алгоритм шифрования скрипта в Mob файлах. - CAHEK7 - 22.02.2004 А вот и на VB: Код: Public Sub ScriptCrypt(ByRef Script() As Byte, ByVal Key As Long) проверил быстродействие: около 20 - 50 ms (миллисекунд) на 7 кб скрипта Спасибо Jet'у помог очень... Алгоритм шифрования скрипта в Mob файлах. - CAHEK7 - 22.02.2004 А как можно определить зашифрованный скрипт или нет? Вот например Zone20.mob. Там после CAECCEAC идет только размер, и сразу незашифрованный скрипт. |