一、百度翻译(入门级)
- 
首先分析网络响应包,由名字和响应内容可知 v2transapi是需要分析的包
 网络响应包
- 
点击启动器,根据经验, send和ajax都涉及jquery等源码,前端程序员不会轻易修改,因此需要分析的是下面的langIsDeteced,跳转到引用的 js 代码
 启动器
- 
上下划拉代码,可以在上方发现和请求内容相近的代码结构 
 js 代码
- 经过测试(多次发送请求,查看响应内容)得知 - from是待翻译语言,- to是翻译后语言,- query是翻译内容,- transtype、- simple_means_flag、- token、- domain都是不会变的常量,只需要搞懂- sign的来源即可
from: en
to: zh
query: apple
transtype: realtime
simple_means_flag: 3
sign: 704513.926512
token: 6497866f6ec9f4375ff3a9730c4a1bb7
domain: common
- 
回到代码,点击 sign: b(e)左侧的代码行,为其打上断点,在页面中重新输入任意单词(重新发送请求),注意到b()对应了某个函数,点击注解中的蓝色链接
 调试
- 
跳转到了具体的函数,也是说只要执行这个函数就可以获取 sign值,因此将其复制到本地,打算测试是否能正常运行
 跳转的函数
- 
使用 NodeJS 直接运行测试,发现不能直接运行,报错提示 r 未定义,于是回到浏览器的跳转函数中寻找 r,同样以打断点的方式调试,得到 r 竟然也是个字符串常量 "320305.131321201"
 本地代码
- 
在本地代码中用常量替换 r,继续使用 NodeJS 直接运行测试,但是依然报错,报错显示 n 未定义,回到浏览器跳转函数继续调试,找到了 n 函数,将其放进本地代码中,最终成功跑出结果 
 结果
- 据此,可以根据 - test.js文件配合- Python实现百度翻译的爬虫代码了,这个入门级 JS 逆向就算完成了
二、艺恩电影片票房(OB 混淆)
关键词:OB 混淆、花指令、AES 对称加密






