前端应用后期维护问题!

2023-02-13 09:56:54 +08:00
 acbot

一个在线的运行项目由于漏洞等原因想升级一下基础框架版本,由于手上只有打包发布后的文件,这种文件代码的 JS 可读性很差,加之自己对前端也不是很熟悉,一些问题请教一下各位前端大佬:

  1. 如何知道该 app.js 使用了的什么基础框架,或者说能反编译这个文件吗
  2. 如果该框架版本有漏洞,或者是该框架应用的第三方 JS 库有漏洞,如何在只有 app.js 的情况下能简单的升级版本(比如:像 HTML 代码种修改一下版本)
2281 次点击
所在节点    前端开发
36 条回复
Tdy95
2023-02-13 15:53:42 +08:00
曾经修改过几个编译后的 SDK 文件,靠着断点,执行栈信息,修改了功能。但是也仅限于一些局部功能点逻辑了。大改的成本是无法接受的。
wunonglin
2023-02-13 15:55:39 +08:00
梦里啥都有
acbot
2023-02-13 16:17:31 +08:00
@fzls 我的认知也就是停留在那个时候, 所以才有这个问题! :-)
acbot
2023-02-13 16:18:40 +08:00
@zenxds 之前我的思路也就是这样,并且已经找到相应的关键字了。只是我觉得可能不一定是所以问问
acbot
2023-02-13 16:20:48 +08:00
@westoy 需求提上来之后我就是这样回复的 但是难免有完美主义的人要试试, 没办法!
acbot
2023-02-13 16:21:56 +08:00
@loading 不是, 背景在#3 我已经详细说了!
chjieza
2023-02-13 16:35:41 +08:00
成本很高。看漏洞是什么类型如果是可以全局监听并处理的话,写一个外链 JS ,在 index.html 插入进去,作为一个保底的方案。但是直接复原源码或者修改源码就别想了。有这功夫能重新写一个了。
acbot
2023-02-13 17:00:00 +08:00
@chjieza 这个方法值得参考!
IceBay
2023-02-13 17:18:55 +08:00
找找看有没有 map 文件?早期部分网站都有保留,有的话可以直接看到源代码

至于框架,用 Wappalyzer 浏览器扩展试试
TomVista
2023-02-13 17:28:23 +08:00
看看项目下 有没有 sourcemap
leaveeel
2023-02-13 17:43:27 +08:00
1. 看资源加载的是 el 还是 ant ,el 大概率是 vue ,ant 大概率是 react
2. 如果是 cdn 引用的可以改 html 里的版本号升级,不保内容证兼容性
v135ex
2023-02-13 17:45:53 +08:00
为什么没有源码呢,难道是你在网上扒的别人的吗
Al0rid4l
2023-02-13 19:07:50 +08:00
不是不能改, 但非常恶心需要很大毅力以及很多时间
折中的可能是, 如果运气够好, 需要升级的部分模块化比较好被依赖比较少无副作用且没有什么 breaking change 的话, 找到几个被依赖的位置把它替换掉, 其他部分就可以不用管了
acbot
2023-02-13 19:39:56 +08:00
@IceBay
@TomVista 好的 我试试!
acbot
2023-02-13 19:40:46 +08:00
@v135ex 不是, 背景在#3 我已经详细说了!
IvanLi127
2023-02-13 19:57:49 +08:00
没源码就不要想了。
人家公司倒闭导致没人维护,你们公司也有责任,而且说实话,你们也不一定有资格去改人家的代码,所以重写吧。。。。
升级基础框架版本,升上去了其他代码可能也需要调整的。。。

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

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

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

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

© 2021 V2EX