jsunpack.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:tvalacarta 作者: tvalacarta 项目源码 文件源码
def unpack(source):
    """Unpacks P.A.C.K.E.R. packed js code."""
    payload, symtab, radix, count = _filterargs(source)
    logger.info("payload="+repr(payload))
    logger.info("symtab="+repr(symtab))
    logger.info("radix="+repr(radix))
    logger.info("count="+repr(count))

    if count != len(symtab):
        raise UnpackingError('Malformed p.a.c.k.e.r. symtab.')

    try:
        unbase = Unbaser(radix)
    except TypeError:
        raise UnpackingError('Unknown p.a.c.k.e.r. encoding.')

    def lookup(match):
        """Look up symbols in the synthetic symtab."""
        word  = match.group(0)
        return symtab[unbase(word)] or word

    source = re.sub(r'\b\w+\b', lookup, payload)
    return _replacestrings(source)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号