js 逆向到底难在哪?

232 天前
 stonesirsir

最近一段时间 js 逆向比较感兴趣,作为一个新手,想向各位前辈请教一些经验!

最近练手了一些网站,使用的方法有:

目前觉得还有阻碍的地方:

  1. 在断点调试中,经常遇到跳来跳去的情况,同一个地方可能反复停止多次,看不懂,很头痛
  2. 找到的变量的生成那一步,把代码抠出来也很困难,除非遇到标准的 webpack ,ob 或者 ast 混淆还可以,但是这种很少见

各位逆向大佬是我的姿势不对吗?求指教!

1233 次点击
所在节点    问与答
8 条回复
zhy321
232 天前
来早啦 等会再来看看
dhb233
232 天前
个人感觉是,js 代码写起来相对容易,逆向的收益不是很明显。如果代码量非常大的情况下,那就纯粹是体力活,不是难不难的问题。如果代码是混淆之后的,是会比较麻烦,各种语言都一样,目的就是为了增加逆向的工作量
stonesirsir
232 天前
@dhb233 那这么说 rpc 是最优解吗🙃
otakustay
232 天前
先把压缩的代码格式化,然后拿其中一个函数给 ChatGPT ,跟它说这是压缩后的,帮忙还原一下试试。你可能会有惊喜
junan
232 天前
op 都是怎么学的,有教程推荐吗
stonesirsir
229 天前
@junan 网上找一些实战教程,跟着学哇
hff123
168 天前
我也是新手
很多 Web 的 JS 逆向貌似都是补环境和纯算两种思路。

补环境就是将整个生成加密参数的 js 文件或代码片段放在本地运行生成加密参数,但是过程中缺失的 BOM 和 DOM 对象还有一些 function 要自己补充。

纯算就是加密算法还原。一般就是通过各种插桩调试,和解混淆去还原加密逻辑。

感觉相比较而言补环境如果有一套自己的补环境框架,就是将浏览器环境中的 BOM 和 DOM 对象都补充完善,当然这些对象的属性值应该是可配置的或者可随机生成的,应该算是一个比较通用的解决方案。
stonesirsir
164 天前
@hff123 感谢兄弟

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1038967

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX