JS 逆向实例

一、百度翻译(入门级)

  • 首先分析网络响应包,由名字和响应内容可知 v2transapi 是需要分析的包

    网络响应包

  • 点击启动器,根据经验,sendajax 都涉及 jquery 等源码,前端程序员不会轻易修改,因此需要分析的是下面的 langIsDeteced,跳转到引用的 js 代码

    启动器

  • 上下划拉代码,可以在上方发现和请求内容相近的代码结构


    js 代码
  • 经过测试(多次发送请求,查看响应内容)得知 from 是待翻译语言,to 是翻译后语言,query 是翻译内容,transtypesimple_means_flagtokendomain 都是不会变的常量,只需要搞懂 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 对称加密

https://www.luffycity.com/play/46228

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容