pionxzh / wakaru

🔪📦 Javascript decompiler for modern frontend
https://wakaru.vercel.app/
MIT License
285 stars 16 forks source link

Contexts that are too large are not further parsed for objects within the array. #126

Open StringKe opened 5 months ago

StringKe commented 5 months ago

The file is about 5M in size.

simplified structure:

window.__require = (function t(e, i, n) {
  function o(a, s) {
    if (!i[a]) {
      if (!e[a]) {
        let l = a.split("/");
        l = l[l.length - 1];

        if (!e[l]) {
          const g = typeof __require == "function" && __require;
          if (!s && g) {
            return g(l, true);
          }
          if (r) {
            return r(l, true);
          }
          throw new Error(`Cannot find module '${a}'`);
        }

        a = l;
      }
      const c = (i[a] = { exports: {} });
      e[a][0].call(
        c.exports,
        (t) => o(e[a][1][t] || t),
        c,
        c.exports,
        t,
        e,
        i,
        n
      );
    }
    return i[a].exports;
  }
  var r = typeof __require == "function" && __require;
  for (let a = 0; a < n.length; a++) {
    o(n[a]);
  }
  return o;
})(
  {
    ActDreamLandBase: [
      function (t, e, i) {
        cc._RF.push(e, "57ca2NuC29G3bHa7IhdNHk8", "ActDreamLandBase");
        let n;

        const o =
          (this && this.__extends) ||
          ((n = (t, e) =>
            (n =
              Object.setPrototypeOf ||
              ({ __proto__: [] } instanceof Array &&
                ((t, e) => {
                  t.__proto__ = e;
                })) ||
              ((t, e) => {
                for (const i in e) {
                  if (Object.prototype.hasOwnProperty.call(e, i)) {
                    t[i] = e[i];
                  }
                }
              }))(t, e)),
          (t, e) => {
            function i() {
              this.constructor = t;
            }
            n(t, e);

            t.prototype =
              e === null
                ? Object.create(e)
                : ((i.prototype = e.prototype), new i());
          });

        Object.defineProperty(i, "__esModule", { value: true });
        i.ActDreamLandBase = undefined;
        const r = ((t) => {
          function e(...args) {
            return (t !== null && t.apply(this, args)) || this;
          }
          o(e, t);

          e.prototype.getActivityData = () => null;

          e.prototype.getSystemId = () => 0;

          e.prototype.getScore = () => 0;

          return e;
        })(t("../UIBase").UIBase);
        i.ActDreamLandBase = r;
        cc._RF.pop();
      },
      { "../UIBase": "UIBase" },
    ],
  },
  {},
  [
    "ActDreamLandBinder",
  ]
);

CleanShot 2024-04-28 at 17 01 10@2x

CleanShot 2024-04-28 at 17 01 57@2x

pionxzh commented 5 months ago

It looks like we didn't support this specific format. Can you send the file here or to my mail?