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

[求助] 关于手机号加密

  •  
  •   forever139 · 2016-07-21 15:08:40 +08:00 · 8364 次点击
    这是一个创建于 3051 天前的主题,其中的信息可能已经有所发展或是发生改变。
    抓了下 58 的通信,
    http://app.58.com/api/detail/cat/26728112367433?appId=3&format=json&localname=cd&platform=ios&version=7.1.1 这手机号的加密看不出来啊( phonenum 字段)


    加密前: 15258772433
    加密后: C4AC67A843EED4C5033F1CFC8849B82F


    有知道的朋友来讨论讨论啊!
    第 1 条附言  ·  2016-07-21 15:55:24 +08:00
    ps: 手机版网页确实能看到手机号
    应要求再加一对
    E9996B3DA643692A0B44B1E3BC71A563
    17078164702
    第 2 条附言  ·  2016-07-23 08:35:46 +08:00
    感谢 @luobailiang ,确实如他所说
    aes ecb 加密,密钥 crazycrazycrazy 加一位数字
    38 条回复    2017-05-27 17:00:27 +08:00
    metowolf
        1
    metowolf  
       2016-07-21 15:23:29 +08:00   ❤️ 1
    加 salt 的 md5
    we000
        2
    we000  
       2016-07-21 15:26:52 +08:00   ❤️ 2
    @metowolf 楼主说的是加密, 不是哈希.
    metowolf
        3
    metowolf  
       2016-07-21 15:32:17 +08:00
    @we000 看太快了,这长度看着太像 md5 了。
    forever139
        4
    forever139  
    OP
       2016-07-21 15:33:36 +08:00
    @metowolf @we000 反正我解不出来,如果真是 salt md5 的话,那希望渺茫了。
    felixzhu
        5
    felixzhu  
       2016-07-21 15:39:07 +08:00   ❤️ 1
    不应该是哈希,哈希的话客户端这边也没法解析啊,应该是对称加密的结果
    metowolf
        6
    metowolf  
       2016-07-21 15:39:34 +08:00
    @forever139 md5 不可反解,既然是加密,就排除这种可能了。
    crab
        7
    crab  
       2016-07-21 15:44:51 +08:00   ❤️ 1
    如果你是要提取手机号码,直接访问手机页面就有了。
    mdzz
        8
    mdzz  
       2016-07-21 15:49:19 +08:00   ❤️ 1
    多来点明文密文对,只有一对没什么头绪
    forever139
        9
    forever139  
    OP
       2016-07-21 15:51:06 +08:00
    @crab 哈哈哈,确实如此,不过加密就没头绪了!
    zhujinliang
        10
    zhujinliang  
       2016-07-21 16:19:16 +08:00   ❤️ 1
    16 字节 128bit ,有可能是 AES
    iF2007
        11
    iF2007  
       2016-07-21 16:22:57 +08:00   ❤️ 1
    Client 和 Server 都没有共享 key ,怎么加密
    应该是带 Salt 的 HASH ,看长度是 MD5
    greenman0007
        12
    greenman0007  
       2016-07-21 16:38:13 +08:00   ❤️ 1
    应该是 AES
    luobailiang
        13
    luobailiang  
       2016-07-21 16:49:59 +08:00   ❤️ 7
    aes ecb 加密,密钥 crazycrazycrazy 加一位数字
    sc3263
        14
    sc3263  
       2016-07-21 17:30:09 +08:00
    @luobailiang 用 python 试了下,还真是这个密钥。。。好强。。。
    raysonx
        15
    raysonx  
       2016-07-21 17:45:08 +08:00 via Android
    @luobailiang
    @sc3263
    居然不使用非对称加密,震惊了。
    21grams
        16
    21grams  
       2016-07-21 18:13:25 +08:00
    @luobailiang 这个牛啊,怎么算出来的?
    Troevil
        17
    Troevil  
       2016-07-21 18:20:21 +08:00
    @luobailiang 厉害
    20150517
        18
    20150517  
       2016-07-21 18:39:26 +08:00 via Android
    @luobailiang 拜牛人,能解释下怎么算出来的吗?
    20150517
        19
    20150517  
       2016-07-21 18:42:12 +08:00 via Android   ❤️ 1
    哦明白了 ecb 如果同一密钥加密两个 block 是可以反推的
    RqPS6rhmP3Nyn3Tm
        20
    RqPS6rhmP3Nyn3Tm  
       2016-07-21 18:45:45 +08:00 via Android
    xylophone21
        21
    xylophone21  
       2016-07-21 19:05:05 +08:00
    @20150517 不至于吧,有相关资料吗?
    jefferyfan
        22
    jefferyfan  
       2016-07-21 19:47:36 +08:00
    @luobailiang 厉害! aes 没那么容易推出来的吧,不然现在 aes 都没法用了啊。 求具体的破解的步骤 学习学习
    rekulas
        23
    rekulas  
       2016-07-21 19:59:52 +08:00   ❤️ 1
    ecb 是最弱的加密模式,其他模式现在还是比较安全的
    kevin1852
        24
    kevin1852  
       2016-07-21 20:11:58 +08:00 via iPhone
    @luobailiang 厉害,同求解释
    luobailiang
        25
    luobailiang  
       2016-07-21 20:27:56 +08:00 via Android   ❤️ 1
    @blackshow 反编译 app,密钥在里面
    iF2007
        26
    iF2007  
       2016-07-21 20:55:33 +08:00
    @luobailiang 厉害。居然密钥硬编码
    Citrus
        27
    Citrus  
       2016-07-21 20:56:48 +08:00
    既然是对称加密,那怎么都能在客户端抓到密钥。。。
    zmj1316
        28
    zmj1316  
       2016-07-21 21:14:01 +08:00   ❤️ 1
    @Citrus 一般都会加个壳防的...
    Citrus
        29
    Citrus  
       2016-07-21 21:27:31 +08:00   ❤️ 1
    @zmj1316 Android 上面估计愿意加壳的人不多=。= 估计认为用 C 写个 so 就不容易被找出来吧。。。
    luobailiang
        30
    luobailiang  
       2016-07-21 21:38:25 +08:00   ❤️ 1
    @Citrus 他这个就是在 so 里面,反编译 app 是找到整个加密过程,最后是调用 so 里面的加解密函数,密钥在原生函数里
    Citrus
        31
    Citrus  
       2016-07-21 21:52:33 +08:00   ❤️ 1
    @luobailiang 是的,我找到这个 so 里面写的密钥了。我的意思是可能 58 觉得用 C 写个 So 比用 Java 难搞一点?
    luobailiang
        32
    luobailiang  
       2016-07-21 22:26:55 +08:00   ❤️ 1
    @Citrus 可能认为放哪都一样就简单放里面了。像微信那些做的好一点的 app 会有自己的混淆算法
    allenhu
        33
    allenhu  
       2016-07-21 22:34:10 +08:00 via Android
    省省吧
    SharkIng
        34
    SharkIng  
       2016-07-22 10:02:21 +08:00
    这种加密多半都有 Salt 之类的吧?要是随便让你解出来还加蜜干啥
    luobailiang
        35
    luobailiang  
       2016-07-22 12:07:18 +08:00
    @SharkIng 客户端能解就都能解啊
    tangdou
        36
    tangdou  
       2017-03-25 08:47:12 +08:00   ❤️ 1
    @luobailiang 您好,现在 58app 还能反编译出解密方法吗?求指点。。。
    101054110
        37
    101054110  
       2017-05-27 16:59:52 +08:00
    @luobailiang 您说的“ aes ecb 加密,密钥 crazycrazycrazy 加一位数字 ” 我没看懂,密钥到底是什么啊
    101054110
        38
    101054110  
       2017-05-27 17:00:27 +08:00
    @forever139 找到密钥了吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5114 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 01:12 · PVG 09:12 · LAX 17:12 · JFK 20:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.