acbot

前端应用后期维护问题!

  •  
  •   acbot · Feb 13, 2023 · 3656 views
    This topic created in 1359 days ago, the information mentioned may be changed or developed.

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

    1. 如何知道该 app.js 使用了的什么基础框架,或者说能反编译这个文件吗
    2. 如果该框架版本有漏洞,或者是该框架应用的第三方 JS 库有漏洞,如何在只有 app.js 的情况下能简单的升级版本(比如:像 HTML 代码种修改一下版本)
    36 replies  •  2023-02-13 19:57:49 +08:00
    mclxly
    mclxly
    Feb 13, 2023
    1
    1. 得看 app.js 内容
    2. 没源代码很难升级的
    estk
    estk
    Feb 13, 2023 via iPhone
    2
    让我想起之前一个小公司老板说的,招个前端,做好了就实习期内就裁员。。
    acbot
    acbot
    OP
    Feb 13, 2023
    3
    @estk 到第二跳就要歪了吗? 该应用比较老了现有的功能本身能满足需求仅仅是应用的一些基础框架版本有点漏洞,之前软件厂家已不复存在所以不可能再找对方维护,只能自己想办法了。
    ChefIsAwesome
    ChefIsAwesome
    Feb 13, 2023
    4
    不可能
    fzls
    fzls
    Feb 13, 2023
    5
    如果是以前那种直接写 js ,发布时跟写的时候长一样的,可以修改
    但看你的描述,应该是用打包工具进行各种预处理后的文件,没有打包前的文件,建议还是别想了
    zenxds
    zenxds
    Feb 13, 2023
    6
    没有源码只能找到对应的代码段替换,看看代码里有没有完全删除注释,一般三方库的注释可能会保留的,如果注释都没有,只能格式化之后自己去匹配了
    yuuko
    yuuko
    Feb 13, 2023
    7
    如果是使用框架打包后的 js ,升级希望为 0
    arnosolo
    arnosolo
    Feb 13, 2023
    8
    没源码没法改.
    akira
    akira
    Feb 13, 2023
    9
    可以改。 但是成本很高。比你重新写一个还贵
    GreatAuk
    GreatAuk
    Feb 13, 2023
    10
    不太可能吧,现在前端代码都是压缩过的
    8520ccc
    8520ccc
    Feb 13, 2023
    11
    替换一下字符串什么的应该没问题 但是你想改逻辑什么的估计不大可能,或者成本过高了
    Pastsong
    Pastsong
    Feb 13, 2023
    12
    压缩过的不仅是 app 代码,还有框架代码,升级框架把 function 都编译成什么样了不可能都分析出来
    Pionxzh
    Pionxzh
    Feb 13, 2023 via Android
    13
    理论上可以,但成本肯定不是你可以接受的,别想了
    westoy
    westoy
    Feb 13, 2023
    14
    你后端写的稳的话, 前端能有什么漏洞, 无非就是一些页面 bug.....

    前端能跑就不要动它,npm install 一下, 别说改了, 可能都跑不起来了
    kidult
    kidult
    Feb 13, 2023
    15
    跑个题,就算有源码的话,上了年头的前端项目要升级一下都是伤筋动骨,别说没源码了
    tkHello
    tkHello
    Feb 13, 2023
    16
    好弄得 实习生可以搞定
    loading
    loading
    Feb 13, 2023 via Android❤️2
    17
    你这说的是竞争对手的代码一样。
    建议重写。
    lueluev
    lueluev
    Feb 13, 2023
    18
    @loading 给你点了
    otakustay
    otakustay
    Feb 13, 2023
    19
    只要知道框架用 Chrome 的 Wappalyzer 看一下就行,但升级框架啥的,我觉得还是别想了,升不动的
    ZoeeoZ
    ZoeeoZ
    Feb 13, 2023
    20
    别做梦了
    Tdy95
    Tdy95
    Feb 13, 2023 via Android
    21
    曾经修改过几个编译后的 SDK 文件,靠着断点,执行栈信息,修改了功能。但是也仅限于一些局部功能点逻辑了。大改的成本是无法接受的。
    shakaraka
    shakaraka
    Feb 13, 2023 via iPhone
    22
    梦里啥都有
    acbot
    acbot
    OP
    Feb 13, 2023
    23
    @fzls 我的认知也就是停留在那个时候, 所以才有这个问题! :-)
    acbot
    acbot
    OP
    Feb 13, 2023
    24
    @zenxds 之前我的思路也就是这样,并且已经找到相应的关键字了。只是我觉得可能不一定是所以问问
    acbot
    acbot
    OP
    Feb 13, 2023
    25
    @westoy 需求提上来之后我就是这样回复的 但是难免有完美主义的人要试试, 没办法!
    acbot
    acbot
    OP
    Feb 13, 2023
    26
    @loading 不是, 背景在#3 我已经详细说了!
    chjieza
    chjieza
    Feb 13, 2023
    27
    成本很高。看漏洞是什么类型如果是可以全局监听并处理的话,写一个外链 JS ,在 index.html 插入进去,作为一个保底的方案。但是直接复原源码或者修改源码就别想了。有这功夫能重新写一个了。
    acbot
    acbot
    OP
    Feb 13, 2023
    28
    @chjieza 这个方法值得参考!
    icebay
    icebay
    Feb 13, 2023
    29
    找找看有没有 map 文件?早期部分网站都有保留,有的话可以直接看到源代码

    至于框架,用 Wappalyzer 浏览器扩展试试
    TomVista
    TomVista
    Feb 13, 2023
    30
    看看项目下 有没有 sourcemap
    leaveeel
    leaveeel
    Feb 13, 2023
    31
    1. 看资源加载的是 el 还是 ant ,el 大概率是 vue ,ant 大概率是 react
    2. 如果是 cdn 引用的可以改 html 里的版本号升级,不保内容证兼容性
    BUHeF254Lpd1MH06
    BUHeF254Lpd1MH06
    Feb 13, 2023
    32
    为什么没有源码呢,难道是你在网上扒的别人的吗
    Al0rid4l
    Al0rid4l
    Feb 13, 2023
    33
    不是不能改, 但非常恶心需要很大毅力以及很多时间
    折中的可能是, 如果运气够好, 需要升级的部分模块化比较好被依赖比较少无副作用且没有什么 breaking change 的话, 找到几个被依赖的位置把它替换掉, 其他部分就可以不用管了
    acbot
    acbot
    OP
    Feb 13, 2023
    34
    @IceBay
    @TomVista 好的 我试试!
    acbot
    acbot
    OP
    Feb 13, 2023
    35
    @v135ex 不是, 背景在#3 我已经详细说了!
    IvanLi127
    IvanLi127
    Feb 13, 2023 via Android
    36
    没源码就不要想了。
    人家公司倒闭导致没人维护,你们公司也有责任,而且说实话,你们也不一定有资格去改人家的代码,所以重写吧。。。。
    升级基础框架版本,升上去了其他代码可能也需要调整的。。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1734 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 71ms · UTC 23:46 · PVG 07:46 · LAX 15:46 · JFK 18:46
    ♥ Do have faith in what you're doing.