![]() |
eXeL@B —› Программирование —› Opera's wand |
Посл.ответ | Сообщение |
|
Создано: 16 марта 2009 04:40 · Поправил: Rainbow · Личное сообщение · #1 Пытаюсь написать unwand для оперы на только я не могу понять как это всё реализовать на masm. Есть си сорец для декрипта пассов md5.Init(); md5.Update(m_pDecryptedMP,m_dwMPSize); md5.Update(&pData[4],dwKeySize); md5.Final(pKey3); // md5.Init(); md5.Update(pKey3,MD5_DIGESTSIZE); md5.Update(m_pDecryptedMP,m_dwMPSize); md5.Update(&pData[4],dwKeySize); md5.Final(hash); memcpy(pKey3+MD5_DIGESTSIZE,hash,8); // des.SetKey3(pKey3,pDesKey); memcpy(iv,hash+8,8); des.CbcDecrypt3((des_cblock *)(&pData[dwKeySize+8]), (des_cblock *)(&pData[dwKeySize+8]),dwDataSize,pDesKey,&iv); P.S. Используется OpenSSL Я не могу понять, каким образом здесь получают ключ для DES (вроде бы размер блочного ключа 56 бит но тут 2 хэша) и как его можно использовать в своей программе для CryptDecrypt в качестве hKey?, в исходнике есть ещё вектор, а CryptDecrypt вроде бы как аргумент его не принимает (возможно он входит в состав ключа)? P.S.S. MD5 уже реализовано через CryptoAPI Если нужно, могу выложить полный исходник на сях Помогите плз, си для меня густой лес ![]() |
|
Создано: 16 марта 2009 07:13 · Личное сообщение · #2 |
|
Создано: 16 марта 2009 07:25 · Личное сообщение · #3 |
|
Создано: 16 марта 2009 09:23 · Личное сообщение · #4 |
![]() |
eXeL@B —› Программирование —› Opera's wand |