一个在线的运行项目由于漏洞等原因想升级一下基础框架版本,由于手上只有打包发布后的文件,这种文件代码的 JS 可读性很差,加之自己对前端也不是很熟悉,一些问题请教一下各位前端大佬:
1
mclxly 2023-02-13 10:19:09 +08:00
1. 得看 app.js 内容
2. 没源代码很难升级的 |
2
estk 2023-02-13 10:50:26 +08:00 via iPhone
让我想起之前一个小公司老板说的,招个前端,做好了就实习期内就裁员。。
|
3
acbot OP @estk 到第二跳就要歪了吗? 该应用比较老了现有的功能本身能满足需求仅仅是应用的一些基础框架版本有点漏洞,之前软件厂家已不复存在所以不可能再找对方维护,只能自己想办法了。
|
4
ChefIsAwesome 2023-02-13 11:10:32 +08:00
不可能
|
5
fzls 2023-02-13 11:33:33 +08:00
如果是以前那种直接写 js ,发布时跟写的时候长一样的,可以修改
但看你的描述,应该是用打包工具进行各种预处理后的文件,没有打包前的文件,建议还是别想了 |
6
zenxds 2023-02-13 11:44:51 +08:00
没有源码只能找到对应的代码段替换,看看代码里有没有完全删除注释,一般三方库的注释可能会保留的,如果注释都没有,只能格式化之后自己去匹配了
|
7
yuuko 2023-02-13 11:50:18 +08:00
如果是使用框架打包后的 js ,升级希望为 0
|
8
arnosolo 2023-02-13 11:50:49 +08:00
没源码没法改.
|
9
akira 2023-02-13 12:53:59 +08:00
可以改。 但是成本很高。比你重新写一个还贵
|
10
GreatAuk 2023-02-13 13:01:57 +08:00
不太可能吧,现在前端代码都是压缩过的
|
11
8520ccc 2023-02-13 13:03:48 +08:00
替换一下字符串什么的应该没问题 但是你想改逻辑什么的估计不大可能,或者成本过高了
|
12
Pastsong 2023-02-13 13:08:35 +08:00
压缩过的不仅是 app 代码,还有框架代码,升级框架把 function 都编译成什么样了不可能都分析出来
|
13
Pionxzh 2023-02-13 13:09:43 +08:00 via Android
理论上可以,但成本肯定不是你可以接受的,别想了
|
14
westoy 2023-02-13 13:09:50 +08:00
你后端写的稳的话, 前端能有什么漏洞, 无非就是一些页面 bug.....
前端能跑就不要动它,npm install 一下, 别说改了, 可能都跑不起来了 |
15
kidult 2023-02-13 13:20:53 +08:00
跑个题,就算有源码的话,上了年头的前端项目要升级一下都是伤筋动骨,别说没源码了
|
16
tkHello 2023-02-13 13:37:01 +08:00
好弄得 实习生可以搞定
|
17
loading 2023-02-13 13:43:00 +08:00 via Android 2
你这说的是竞争对手的代码一样。
建议重写。 |
19
otakustay 2023-02-13 14:19:14 +08:00
只要知道框架用 Chrome 的 Wappalyzer 看一下就行,但升级框架啥的,我觉得还是别想了,升不动的
|
20
ZoeeoZ 2023-02-13 15:49:20 +08:00
别做梦了
|
21
Tdy95 2023-02-13 15:53:42 +08:00 via Android
曾经修改过几个编译后的 SDK 文件,靠着断点,执行栈信息,修改了功能。但是也仅限于一些局部功能点逻辑了。大改的成本是无法接受的。
|
22
wunonglin 2023-02-13 15:55:39 +08:00 via iPhone
梦里啥都有
|
27
chjieza 2023-02-13 16:35:41 +08:00
成本很高。看漏洞是什么类型如果是可以全局监听并处理的话,写一个外链 JS ,在 index.html 插入进去,作为一个保底的方案。但是直接复原源码或者修改源码就别想了。有这功夫能重新写一个了。
|
29
IceBay 2023-02-13 17:18:55 +08:00
找找看有没有 map 文件?早期部分网站都有保留,有的话可以直接看到源代码
至于框架,用 Wappalyzer 浏览器扩展试试 |
30
TomVista 2023-02-13 17:28:23 +08:00
看看项目下 有没有 sourcemap
|
31
leaveeel 2023-02-13 17:43:27 +08:00
1. 看资源加载的是 el 还是 ant ,el 大概率是 vue ,ant 大概率是 react
2. 如果是 cdn 引用的可以改 html 里的版本号升级,不保内容证兼容性 |
32
BUHeF254Lpd1MH06 2023-02-13 17:45:53 +08:00
为什么没有源码呢,难道是你在网上扒的别人的吗
|
33
Al0rid4l 2023-02-13 19:07:50 +08:00
不是不能改, 但非常恶心需要很大毅力以及很多时间
折中的可能是, 如果运气够好, 需要升级的部分模块化比较好被依赖比较少无副作用且没有什么 breaking change 的话, 找到几个被依赖的位置把它替换掉, 其他部分就可以不用管了 |
36
IvanLi127 2023-02-13 19:57:49 +08:00 via Android
没源码就不要想了。
人家公司倒闭导致没人维护,你们公司也有责任,而且说实话,你们也不一定有资格去改人家的代码,所以重写吧。。。。 升级基础框架版本,升上去了其他代码可能也需要调整的。。。 |