跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 如何反编译写好的前端代码?
未分類
5 5 月 2020

如何反编译写好的前端代码?

如何反编译写好的前端代码?

資深大佬 : Zach369 15

今天同事问了一个比较好的问题.

web 前端的代码 经过编译混淆,能不能反编译出源代码? 这个源代码是 有目录结构的.

有知道的大佬,说说你的技巧.

大佬有話說 (21)

  • 資深大佬 : noe132

    最简单的
    // a.js
    console.log(1)

    // b.js
    import ‘./a.js’
    console.log(2)

    经过 webpack concatenate 或者 rollup 打包后
    生成的 chunk 文件内容是
    console.log(1)
    console.log(2)

    如果没有 sourcemap,你是绝对不可能还原出目录结构的。

  • 資深大佬 : pinkSlime

    想啥呢 还比较好的问题, 这是个根本没有意义的问题好么
    打包过程是不可逆的,这中间有些信息丢掉了 找不回来了 不然要 sourcemap 干嘛呢
    你能把 jpg 还原成 raw 吗

  • 資深大佬 : superrichman

    给你一杯橘子汁,那你能帮帮我还原一个橘子吗?
    这种不可逆的压缩+混淆已经丢失了一些原始的信息。

  • 資深大佬 : youla

    审查元素不是看得到吗?

  • 資深大佬 : youla

    没注意看题,我以为你要借鉴别人前端的某些地方

  • 資深大佬 : Vegetable

    不行
    压缩的本身是丢弃尽可能多的,对于机器无用的信息,目录信息恰恰如此。往往还会往里边添加点垃圾增加安全性。
    如果你足够的耐心,并且有足够的经验,可以将前端代码人工还原一遍,也可能还原的非常 nice,但是不可能和原始目录一样。

  • 資深大佬 : kop1989

    如果要逆混淆,可以,但是还需要和原项目目录结构一致?这是想达成什么目的?

  • 資深大佬 : DOLLOR

    最多只能通过 js beautify 把代码格式化好。
    想得到“有目录结构的”代码,你只能期待站长犯傻不小心把 source map 发布上线,不然就是做梦。

  • 資深大佬 : black11black

    @pinkSlime 杠一下,jpg 还原成 raw 现在技术条件下没准还真能做到(满足 raw 功能性的“raw”)

  • 資深大佬 : no1xsyzy

    @black11black #9 我也杠一下,那直接用 js2js 反编译一下也行,已经确定能做到了
    js2js 比较复杂,类 unix 下也可以用 cat 取代。

  • 資深大佬 : XanderChen

    有你研究怎么反编译的功夫,都不如直接仿造一个…

  • 資深大佬 : zk8802

    可以试试 jsnice

  • 資深大佬 : ibegyourpardon

    @black11black 路人插入回杠。

    应该不行。

    raw → jpg 就是个丢弃信息( even the information is useful )的过程。

    从这个角度来说,基本不可能回溯成 『满足 raw 功能性的 raw 』。最多是满足我当前需要的 jpg 本质的 raw 后缀名文件。

  • 資深大佬 : Mutoo

    尝试一下 .map 文件,如果存在的话,下载下来后,可以用这个工具还原出带目录结构的源码
    https://github.com/mutoo/webpack-sourcemap-unpacker#

  • 資深大佬 : zqguo

    你在想啥呢,大兄弟 ?

  • 資深大佬 : gimp

    视频打了马赛克能还原吗?

  • 資深大佬 : GzhiYi

    怎么可能??这本身就是不可逆的。

  • 資深大佬 : takemeaway

    前端还需要反编译?那叫做混淆还原吧?
    没见过前端有多难仿制的东西。
    再说了,打包后的也是直接复制能用的。

  • 資深大佬 : cweijan

    就像 MD5 一样, 编译后已经丢失了原来的信息, 所以是不可能的, 如果是加密, 解析后看到的代码也是压缩的

  • 資深大佬 : hedamao9999

    var nameIsOne = 1,nameIsTwo = 2 ;
    打包混淆后
    var a = 1, b = 2
    你怎么去还原回来 nameIsOne 跟 nameIsTwo

  • 資深大佬 : black11black

    @ibegyourpardon 所谓丢信息主要是 dct 变换精度,以及 quantization 的问题。已知原图片信息,量化表是可猜的,也许可以用某种神奇的方式脑补出丢失的高频信息,我觉得没啥问题。另外就是 cbcr 平面的分辨率问题,这个更好解决,现在超分这么多,还有 luma 辅助判断

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具