使用Frida跟踪CCCrypt调用

2024-07-05 09:09:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我在试着理解一个密码。使用Frida,我能够获得相关信息,如

密钥,IV,用于应用程序进行的任何CCCrypt调用。我看到这些调用是在AJAX调用发生时触发的

我的印象是,这个CCCrypt负责在应用程序ajax调用中生成signatureval

我能够得到Key和IV。使用Key和IV,我如何使用python中的算法来创建相同的加密值

enter image description here

不确定,缓冲区中的内容在这里对加密起作用

我的python算法如下所示

data = b'9217977535687062886'
key = codecs.decode('3f2c593b7d469602af5a6fb718bc92cc', 'hex')
cipher = AES.new(key, AES.MODE_CBC) # Create a AES cipher object with the key using the mode CBC
ciphered_data = cipher.encrypt(pad(data, AES.block_size)) # Pad the input data and then encrypt
print(b64encode(ciphered_data))

我不确定这里到底发生了什么。在上面的屏幕截图中是否会显示In Buffer

我的问题是-给定密钥,IV和缓冲区中如何使用python加密密钥

对于下面的屏幕截图,加密密钥最终看起来像signature

params = (
    ('app_version', '12.85.0'),
    ('cc', 'US'),
    ('device_type', 'iPhone8,2/13.5.1'),
    ('guest_user_tokens', '[]'),
    ('lang', 'en'),
    ('locale', 'en_US'),
    ('potential_transactions', '[]'),
    ('time', '1620627621'),
)

我的印象是签名基本上是参数的hash值,但我尝试了 类似这样的东西也会散列(params)并将此值传递给mydata

enter image description here

我的签名最终应该是24个字符长


Tags: thekey算法应用程序data密钥aes缓冲区