皮皮虾837 2025-03-28 08:55 采纳率: 0%
浏览 14

逆向工程菜ji求帮助大lao怎么把js里的解密执行到python中

刚开始学逆向 我在js文件里可以正常执行js代码 但是通过execjs转为python代码时一直失败 报错说编码方式gbk不能编码全部js文件 但是我用的编码方式是utf-8 有没有大lao能解答一下 卡我好久了这个问题

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-03-28 08:55
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    逆向工程JS到Python的解决方案

    你遇到的问题是使用 execjs 将 JS 代码转换为 Python 代码时,遇到了编码问题。execjs 默认使用 GBK 编码,而你使用的编码方式是 UTF-8。

    解决方案:

    1. 使用 execjsencoding 选项指定编码方式:
    import execjs
    
    js_code = """
        // your js code here
    """
    
    python_code = execjs.compile(js_code, encoding='utf-8')
    
    1. 使用 chardet 库来检测编码方式:
    import chardet
    
    js_code = """
        // your js code here
    """
    
    encoding = chardet.detect(js_code.encode('utf-8'))['encoding']
    python_code = execjs.compile(js_code, encoding=encoding)
    
    1. 使用 re 库来将 JS 代码转换为 Python 代码:
    import re
    
    js_code = """
        // your js code here
    """
    
    python_code = re.sub(r'\\u([0-9a-fA-F]{4})', lambda x: chr(int(x.group(1), 16)), js_code)
    

    这些解决方案都可以帮助你将 JS 代码转换为 Python 代码。但是,如果你的 JS 代码使用了复杂的编码方式或特殊字符,你可能需要使用其他方法来解决编码问题。

    提示

    在逆向工程中,需要注意编码问题和特殊字符的处理。如果你遇到了其他问题,请提供更多的信息和代码,我将尽力帮助你解决问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月28日