V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vvchen
V2EX  ›  程序员

这种字符串如何解码

  •  
  •   vvchen · 2017-07-20 18:10:36 +08:00 · 3039 次点击
    这是一个创建于 2668 天前的主题,其中的信息可能已经有所发展或是发生改变。

    抓包分析到客户端 post 这样的数据:

    {"json":"uTJERxU6soa0lbJZaAWEYGGwp4xOe0nN\/wORZ1Rnf5EJ2Z\/yc8UOWD1SDzTwXf1B"}
    
    {"json":"ppWzKIag6L\/nM6Dp5JFR1QAKcvxK9DFwIy49LbCHUWedfnvGhs4xYuivb+oF0q0r7TmofgGpk8tGUik1nB5HSilHzZDQIb2ay577V2bs8dKQKy\/KfWMLs1\/sVqg+Lgsvps7RTyK7jvxkTkZ6LldrkQ=="}
    

    感觉是 base64 编码的,可解码总是无效或者为乱码。观察到里面总是会出现一组\和 /字符。请教各位,这究竟是什么编码格式,以及能否还原出原始的数据?

    第 1 条附言  ·  2017-07-20 21:40:26 +08:00
    从服务器端的角度来看,会如何去解析这样的数据?
    16 条回复    2017-07-23 10:02:50 +08:00
    sagaxu
        1
    sagaxu  
       2017-07-20 18:15:35 +08:00
    这跟 JSON 有什么关系呢?
    vvchen
        2
    vvchen  
    OP
       2017-07-20 18:19:08 +08:00 via iPhone
    @sagaxu 不好意思,标题起的不恰当。只是它用了 json 作为 key。
    vvchen
        3
    vvchen  
    OP
       2017-07-20 18:22:11 +08:00 via iPhone
    @sagaxu 而且我揣测它编码前的数据可能是 json 格式的,所以好奇如何能还原出原始的数据。
    xspoco
        4
    xspoco  
       2017-07-20 18:24:26 +08:00
    iyangyuan
        5
    iyangyuan  
       2017-07-20 19:31:47 +08:00 via iPhone
    反编译客户端
    Kisesy
        6
    Kisesy  
       2017-07-20 19:46:54 +08:00   ❤️ 1
    通常 bash64 还用来编码二进制数据,所以不一定可读
    Kisesy
        7
    Kisesy  
       2017-07-20 19:48:18 +08:00
    擦,写错 base 了
    zbinlin
        8
    zbinlin  
       2017-07-20 20:25:37 +08:00
    base64 binary 吧
    eminemcola
        9
    eminemcola  
       2017-07-20 20:33:33 +08:00 via Android
    解码 16 位格式试试
    vvchen
        10
    vvchen  
    OP
       2017-07-20 20:50:19 +08:00
    @Kisesy @zbinlin 我试了转成二进制,但出来的 0、1 数据,是不是并没有什么意义?所以这个问题就无解了?

    @eminemcola 我再试试
    Kisesy
        11
    Kisesy  
       2017-07-20 20:58:55 +08:00
    @vvchen 不是这个二进制....十六进制数据能明白吧
    weyou
        12
    weyou  
       2017-07-20 20:59:12 +08:00 via Android
    base64 本来就包含 /啊,\是 json 加的转义符。不可读很可能原本就是 binary 数据,一般可读字符串是没有必要进行 base64 编码的。还有种可能是使用了自定义的码表。
    FanWall
        13
    FanWall  
       2017-07-20 21:10:56 +08:00   ❤️ 1
    看两段数据的长度( n*128 ),很大可能性是 AES/DES 之类的对称加密,找到密钥就行了。
    vvchen
        14
    vvchen  
    OP
       2017-07-20 21:33:20 +08:00
    @iyangyuan 以反编译,但无从找起。这种情况下,有没有什么逆向技巧?
    @Kisesy 你说的是二进制文件的概念吗?但是这样的话,是不是也就意味着无法还原原数据?
    @weyou 如果是二进制文件的话,有没有可能还原可读格式的文件?
    @FanWall 对 AES/DES 不是很了解。但发现类似于第一组数据,变动的只有最后十几个字符。像这种情况,会是 AES/DES 加密出来的结果吗?
    FanWall
        15
    FanWall  
       2017-07-23 01:41:45 +08:00   ❤️ 1
    @vvchen
    “变动的只有最后十几个字符”
    应该说这正是这两种对称加密的鲜明特性,以我的经验七八成的可能性就是 AES/DES 啦。
    vvchen
        16
    vvchen  
    OP
       2017-07-23 10:02:50 +08:00 via iPhone
    @FanWall 确实,是 DES3。醍醐灌顶,十分感谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2852 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 13:29 · PVG 21:29 · LAX 05:29 · JFK 08:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.