逆向碰到3des分析

1.ios 某個app碰到涉及3des的解密函數。ios

2.底層調用的庫函數。算法

3.對比CCCrypt的頭文件app

CCCryptorStatus CCCrypt(
    CCOperation op,            /* kCCEncrypt, etc. */
    CCAlgorithm alg,        /* kCCAlgorithmAES128, etc. */
    CCOptions options,        /* kCCOptionPKCS7Padding, etc. */
    const void *key,
    size_t keyLength,
    const void *iv,            /* optional initialization vector */
    const void *dataIn,        /* optional per op and alg */
    size_t dataInLength,
    void *dataOut,            /* data RETURNED here */
    size_t dataOutAvailable,
    size_t *dataOutMoved);    
    

參數2是對應的算法,當2時對應枚舉的值爲kCCAlgorithm3DES。函數

enum {
kCCAlgorithmAES128 = 0,
kCCAlgorithmDES,    
kCCAlgorithm3DES,    
kCCAlgorithmCAST,    
kCCAlgorithmRC4,
kCCAlgorithmRC2    
};

4.按照固定key以及向量填充後進行解密。發現祕鑰只有23位,進行解密失敗,CCCrypt爲24位,進行補0操做後解密成功。spa

相關文章
相關標籤/搜索