首页
社区
课程
招聘
[已解决] AES 解密咨询 50.00雪花
发表于: 2024-5-16 13:46 2719

[已解决] AES 解密咨询 50.00雪花

2024-5-16 13:46
2719

这个解密的部分搞不清怎么解的:

   cipher.init(2, new SecretKeySpec(JHSHanziDatabase.f8514e.a(o.f12942g.d() + "LegacyIndexes"), "AES"), new IvParameterSpec(bArr));
        byte[] doFinal = cipher.doFinal(a2);

这个是解密assets下的index6.data
我想知道的是:

1.能否还原这个解密过程。

附件:
链接: https://pan.baidu.com/s/18vqr9J6GDYs7bqszF2WT0w?pwd=qxfb 提取码: qxfb 



[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2024-5-16 13:47 被我来好好学习编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 117
活跃值: (3047)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
解密的KEY 是: o.f12942g.d() + "LegacyIndexes"
至於這個 o.f12942g.d() 回什麼字串,看你如何找出來
另一個是IV,也要找出來 : bArr 的內容。
這兩個都知道,就可以解了。
2024-5-16 22:57
0
雪    币: 81
活跃值: (108)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
 o.f12942g.d() 是 "dict.shuowen"
iv就是16个0
重点是JHSHanziDatabase.f8514e.a 这个方法搞不清
2024-5-16 23:32
0
雪    币: 890
活跃值: (870)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
var Base64 = Java.use('android.util.Base64')
var JHSHanziDatabase_a = Java.use("com.jinghaoshe.ihanzi.data.JHSHanziDatabase$a");
JHSHanziDatabase_a.a.overload('java.lang.String').implementation = function (arg_0) {
    console.log("JHSHanziDatabase_a->a (argType: java.lang.String): " + arg_0);
    var retval = this.a(arg_0)
    console.log('aes_key_base64_encode:', Base64.encodeToString(retval, 2))
    return retval;
}
JHSHanziDatabase_a->a (argType: java.lang.String): dict.shuowenLegacyIndexes
aes_key_base64_encode: Vg5KUHaHs/U/UZK6BdifMFM4OY0mXjeaJwYIbcWD98s=


2024-5-17 00:35
0
雪    币: 890
活跃值: (870)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
from Crypto.Cipher import AES
import base64


key = base64.b64decode('Vg5KUHaHs/U/UZK6BdifMFM4OY0mXjeaJwYIbcWD98s=')
iv = b'\x00'*16

crypto = AES.new(key, iv=iv, mode=AES.MODE_CBC)
encrypted_data = open('index6.data', 'rb').read()
decrypted_data = crypto.decrypt(encrypted_data)
with open('index6.out', 'wb') as fo:
    fo.write(decrypted_data)


2024-5-17 00:45
0
雪    币: 81
活跃值: (108)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
xjohjrdy var Base64 = Java.use('android.util.Base64') var&nbs ...
是Frida 框架来动态修改的吗
2024-5-17 12:32
0
雪    币: 890
活跃值: (870)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我来好好学习 是Frida 框架来动态修改的吗
是的,用frida hook密钥生成的函数,获取其结果就行,使用xposed也是可以的,这是最快捷的方法。
静态分析的话,也能分析出来:
md5('dict.shuowenLegacyIndexes'+'V3') -> de53f3befd679b5530d5337027733263
sha256('com.jinghaoshe.ihanzi?android?v3?de53f3befd679b5530d5337027733263?1109430655?2839048602?wx5ee9afce7ca85f37')
AES密钥HEX: 560e4a507687b3f53f5192ba05d89f305338398d265e379a2706086dc583f7c

2024-5-17 17:52
0
游客
登录 | 注册 方可回帖
返回
//