banli
V2EX  ›  外包

帮朋友发个外包,无编译环境下修改 Java 的 class 文件,修改里面的代码逻辑。

  •  
  •   banli · Jul 31, 2019 · 1551 views
    This topic created in 2577 days ago, the information mentioned may be changed or developed.

    文件 Domain.class(接单时给到)

    修改函数

      private static void gotoDomain(HttpServletRequest request, HttpServletResponse response, String url)
      {
        AccountData account = Utils.getAccountData(request);
        String domainName = parseDomainName(url);
        if (account.getAppDomain().getDomainName().equals(domainName))
        {
          logger.info("目标域名{}即当前域名, 可直接完成域名登录", domainName);
          account.setGameDomain((Domain)GAME_DOMAIN_LIST.get(domainName));
          response.setHeader("refresh", "0");
        }
        else {
          String code = URLs.genRedirectToken("l", AccountData.toJSON(account));
          url = URLs.removeQueryStringArg(url, "gdt");
          url = URLs.appendQueryStringArg(url, "gdt", code);
          Utils.redirect(request, response, url);
        }
      }
    

    修改要点:

    Utils.redirect(request, response, url);

    这一行前加判断,如果 url 不带 443 端口,则给 url 加上:443 端口

    预期:

    1. url 如 http://www.baidu.xyz/b/a 则会变成 http://www.baidu.xyz:443/b/a

    2. 改完后的 Domain.class 文件替换线上后,可正常运行不报错

    以上满足时方算完成

    能做的朋友带价来聊 Q 2039399031

    Supplement 1  ·  Aug 5, 2019
    已经有朋友接单了
    9 replies    2019-08-02 17:49:52 +08:00
    miao1007
        1
    miao1007  
       Jul 31, 2019 via Android
    直接用 nginx 做啊,为啥要改 class
    banli
        2
    banli  
    OP
       Jul 31, 2019
    @miao1007 不改 443,下一条到不了 nginx, 你懂的。
    banli
        3
    banli  
    OP
       Jul 31, 2019
    @miao1007 不改 443,下一跳到不了 nginx。
    fmumu
        4
    fmumu  
       Jul 31, 2019 via Android
    只给一个 class,把代码逻辑给改了?这个有点野
    alamaya
        5
    alamaya  
       Jul 31, 2019
    懂点字节码,用 asm 搞一搞应该不难
    ezksdo
        6
    ezksdo  
       Jul 31, 2019
    MethodNode.instructructions.insert(行号,InsnLIst)
    internelp
        7
    internelp  
       Aug 1, 2019
    @banli 没看懂,为啥到不了?环境不允许吗?
    knight322
        8
    knight322  
       Aug 1, 2019
    jclasslib、javassist
    way22ex
        9
    way22ex  
       Aug 2, 2019
    加个拦截器搞一下不行吗
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3315 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 11:58 · PVG 19:58 · LAX 04:58 · JFK 07:58
    ♥ Do have faith in what you're doing.