V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
Mrrrrr10
V2EX  ›  JavaScript

自古 V2EX 网站出大神,请问前端 js 大佬,这里的 n 是什么意思,追踪上去又只是 function()的形参

  •  
  •   Mrrrrr10 · 2018-09-28 20:20:30 +08:00 · 4387 次点击
    这是一个创建于 2249 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请求前端大佬开开光,教教我

    var s = n(3) , l = r(s) , u = n(33) , c = n(215) , f = r(c) , h = n(366) , p = r(h) , d = n(381) , m = r(d) , y = n(382) , v = r(y) , g = n(374) , b = r(g) , w = n(372) , E = r(w) , _ = n(221) , C = r(_) , j = n(379)

    9 条回复    2018-09-29 09:34:45 +08:00
    zhzer
        1
    zhzer  
       2018-09-28 20:26:34 +08:00 via Android
    混淆代码怎么猜,别个把参数混淆成表或者抓了字符串
    甚至你说这是南极冰层下的核武器启动程序都行啊
    zealot0630
        2
    zealot0630  
       2018-09-28 20:43:20 +08:00
    参数也可能是函数阿
    Mrrrrr10
        3
    Mrrrrr10  
    OP
       2018-09-28 20:47:16 +08:00
    @zhzer 大佬,追踪到上面,n 是这样的,然后就不知道 n 是什么东西了。
    380: function(e, t, n) {
    (function(e) {
    "use strict";
    function r(e) {
    return e && e.__esModule ? e : {
    "default": e
    }
    }
    Mrrrrr10
        4
    Mrrrrr10  
    OP
       2018-09-28 20:47:49 +08:00
    @zealot0630 大佬,请教一下,追踪到上面,n 是这样的,然后就不知道 n 是什么东西了。
    380: function(e, t, n) {
    (function(e) {
    "use strict";
    function r(e) {
    return e && e.__esModule ? e : {
    "default": e
    }
    }
    470326964
        5
    470326964  
       2018-09-28 20:48:16 +08:00
    南极冰层下的核武器启动程序 2333
    Jeremial
        6
    Jeremial  
       2018-09-28 22:25:04 +08:00   ❤️ 2
    这不就是 webpack 打成的包里面的函数吗,n 就是个类似于 require 的函数吧。传入 moduleId, 然后返回相应的内容
    jawnkuin
        7
    jawnkuin  
       2018-09-28 23:55:54 +08:00
    逆向的时候可以考虑
    chrome beautify 并断点调试一下
    FakeLeung
        8
    FakeLeung  
       2018-09-29 00:04:12 +08:00
    打包后的代码。这应该是兼容 AMD CMD 的写法吧。
    baxtergu
        9
    baxtergu  
       2018-09-29 09:34:45 +08:00
    类似这个结构:
    function n(id){
    var idFuncMap = {
    1:func1,
    2:func2,
    ...
    }
    return idFuncMap(id);
    }
    这是打包工具对代码打包以后的,n 函数就是所有函数(或者 Module )的一个汇总。传入的是打包时候 webpack 对 require 进来的 Module 的自增 id。函数返回的是一个 function 而不是方法执行的结果。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1065 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 23:11 · PVG 07:11 · LAX 15:11 · JFK 18:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.