神秘版本

作者: _String_ | 来源:发表于2017-06-07 11:34 被阅读0次

    题目描述:安全人员在应用市场发现一个版本信息异常的应用,要求试图找出该异常。
    app下载地址:https://pan.baidu.com/s/1jIGB7xk
    解题:
    下载应用通过dex2jar反编译该应用,通过JD-JUI查看代码发现versioncode及versionname字段,如下图:

    image.png

    查找key判断位置如下图,

    image.png

    读取用户输入内容,判断是否等于 versionname每个字符异或versioncode,因此通过反向计算得到正确key计算代码如下:

    #!/usr/bin/env python
    #auth :free
    #time :2017.6.7
    def useKey():
        versionName = 'X<cP[?PHNB<P?aj'
        flagKey = ""
        versionCode = 15
        for i in range(0,len(versionName)):
            rst=ord(list(versionName)[i])^versionCode
            flagKey=flagKey+chr(rst)
    
        print flagKey
    
    
    if __name__ == '__main__':
        useKey()
    

    相关文章

      网友评论

        本文标题:神秘版本

        本文链接:https://www.haomeiwen.com/subject/vnpofxtx.html