刚开始学逆向 我在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。解决方案:
- 使用
execjs的encoding选项指定编码方式:
import execjs js_code = """ // your js code here """ python_code = execjs.compile(js_code, encoding='utf-8')- 使用
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)- 使用
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 代码使用了复杂的编码方式或特殊字符,你可能需要使用其他方法来解决编码问题。
提示
在逆向工程中,需要注意编码问题和特殊字符的处理。如果你遇到了其他问题,请提供更多的信息和代码,我将尽力帮助你解决问题。
解决 无用评论 打赏 举报- 使用