judgecx 发表于 2020-3-11 19:57

求助java更换搜索链接

// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space

package sql;

import java.io.*;
import java.net.*;

// Referenced classes of package sql:
//          sql

final class a
    implements Runnable
{

    private int a;
    private int b;
    private static String c = "";
    private String d[];
    private static int e = 0;
    private static String f = "";
    private int g;
    private Boolean h;
    private Boolean i;
    private Boolean j;
    private Boolean k;
    private Boolean l;
    private Boolean m;
    private Boolean n;
    private Boolean o;

    public a(String as[], int i1, int j1, int k1, boolean flag, boolean flag1, boolean flag2,
            boolean flag3, boolean flag4, boolean flag5, boolean flag6, boolean flag7)
    {
      g = 0;
      h = Boolean.valueOf(false);
      i = Boolean.valueOf(false);
      j = Boolean.valueOf(false);
      k = Boolean.valueOf(false);
      l = Boolean.valueOf(false);
      m = Boolean.valueOf(false);
      n = Boolean.valueOf(false);
      o = Boolean.valueOf(false);
      a = i1;
      d = as;
      g = k1;
      b = j1;
      h = Boolean.valueOf(flag);
      i = Boolean.valueOf(flag1);
      j = Boolean.valueOf(flag2);
      k = Boolean.valueOf(flag3);
      l = Boolean.valueOf(flag4);
      m = Boolean.valueOf(flag5);
      n = Boolean.valueOf(flag6);
      o = Boolean.valueOf(flag7);
    }

    public final void run()
    {
      int j1;
      int k1;
      if (d.length <= b)
            break MISSING_BLOCK_LABEL_269;
      j1 = 0;
      k1 = 0 * b + a;
          goto _L1
_L9:
      int l1 = 0;
          goto _L2
_L7:
      int i1 = l1 * 50;
      String as2[];
      String s;
      if ((as2 = (s = d((new StringBuilder("http://www.baidu.com/s?ie=utf-8&mod=1&isbd=1&isid=69C31E2567F24841&ie=utf-8&f=8&rsv_bp=1&tn=baiduadv&wd=")).append(URLEncoder.encode(d, "UTF-8")).append("&rn=50&pn=").append(i1).toString())).split("class=\"c-showurl\" style=\"text-decoration:none;\">")).length <= 1)
            continue; /* Loop/switch isn't completed */
      s = 1;
          goto _L3
_L5:
      String s2;
      String as[];
      if (as2.indexOf("/") == -1 || c((as = as2.split("/"))) == "")
            continue; /* Loop/switch isn't completed */
      s2 = c(as);
      if (c.indexOf(s2) != -1)
            continue; /* Loop/switch isn't completed */
      c = (new StringBuilder(String.valueOf(c))).append(s2).append("/**/").toString();
      sql.b((new StringBuilder("正在扫描---")).append(s2).toString());
      if (!sql.a.booleanValue())
      {
            sql.b("正在结束线程!");
            return;
      }
      b(s2);
      s++;
_L3:
      if (s < as2.length) goto _L5; else goto _L4
_L4:
      continue; /* Loop/switch isn't completed */
      JVM INSTR pop ;
      l1++;
_L2:
      if (l1 < 20) goto _L7; else goto _L6
_L6:
      k1 = ++j1 * b + a;
_L1:
      if (k1 < d.length) goto _L9; else goto _L8
_L8:
      return;
      j1 = 0;
          goto _L10
_L15:
      k1 = j1 * 50;
      String s1;
      if ((as2 = (s1 = d((new StringBuilder("http://www.baidu.com/s?ie=utf-8&mod=1&isbd=1&isid=69C31E2567F24841&ie=utf-8&f=8&rsv_bp=1&tn=baiduadv&wd=")).append(URLEncoder.encode(d, "UTF-8")).append("&rn=50&pn=").append(k1).toString())).split("class=\"c-showurl\" style=\"text-decoration:none;\">")).length <= 1)
            continue; /* Loop/switch isn't completed */
      s1 = 1;
          goto _L11
_L13:
      String as1[];
      if (as2.indexOf("/") == -1 || c((as1 = as2.split("/"))) == "")
            continue; /* Loop/switch isn't completed */
      as1 = c(as1);
      if (c.indexOf(as1) != -1)
            continue; /* Loop/switch isn't completed */
      c = (new StringBuilder(String.valueOf(c))).append(as1).append("/**/").toString();
      sql.b((new StringBuilder("正在扫描---")).append(as1).toString());
      if (!sql.a.booleanValue())
      {
            sql.b("正在结束线程!");
            return;
      }
      b(as1);
      s1++;
_L11:
      if (s1 < as2.length) goto _L13; else goto _L12
_L12:
      continue; /* Loop/switch isn't completed */
      JVM INSTR pop ;
      j1++;
_L10:
      if (j1 < 20) goto _L15; else goto _L14
_L14:
    }

    private static void a(String s)
    {
      String s1;
      String as[];
      for (int i1 = (as = (s1 = "web.zip\r\nweb.rar\r\nwwwroot.rar\r\nwwwroot.zip\r\nwww.root.rar\r\nwww.root.zip\r\n1.rar\r\n1.zip\r\nbbs.rar\r\nbbs.zip\r\n123.rar\r\n123.zip\r\ndata.rar\r\ndata.zip\r\nadmin.rar\r\nadmin.zip\r\nwww.rar\r\nwww.zip\r\n2014.rar\r\n2015.rar\r\n2016.rar\r\n2014.zip\r\n2015.zip\r\n2016.zip").split("\r\n")).length; i1 > 0;)
      {
            i1--;
            String s2;
            String as1[];
            if ((as1 = (s2 = d((new StringBuilder("http://")).append(s).append("/").append(as).toString())).split("judge")).length > 1)
            {
                System.out.println((new StringBuilder(String.valueOf(as1))).append("----").append(as1).toString());
                if (Integer.parseInt(as1) > 0x100000)
                {
                  sql.a(String.valueOf(e++), (new StringBuilder("http://")).append(s).append("/").append(as).toString(), "源码备份");
                  return;
                }
            }
      }

    }

    private static Boolean a(String s, String s1)
    {
      String as[] = d((new StringBuilder(String.valueOf(s))).append(URLEncoder.encode("'/**/Xor/**/'1438'='1438", "UTF-8")).toString()).split("judge");
      String as2[] = d((new StringBuilder(String.valueOf(s))).append(URLEncoder.encode("'/**/Xor/**/'741'='438", "UTF-8")).toString()).split("judge");
      String s2 = as;
      String s4 = as2;
      if (!s2.equals(s1) || s4.equals(s1))
            break MISSING_BLOCK_LABEL_113;
      sql.a(String.valueOf(e++), s, "Xor字符注入");
      return Boolean.valueOf(true);
      String as1[] = d((new StringBuilder(String.valueOf(s))).append(URLEncoder.encode("/**/Xor/**/1438=1438", "UTF-8")).toString()).split("judge");
      String as3[] = d((new StringBuilder(String.valueOf(s))).append(URLEncoder.encode("/**/Xor/**/741=438", "UTF-8")).toString()).split("judge");
      String s3 = as1;
      String s5 = as3;
      if (!s3.equals(s1) || s5.equals(s1))
            break MISSING_BLOCK_LABEL_227;
      sql.a(String.valueOf(e++), s, "Xor数字注入");
      return Boolean.valueOf(true);
      JVM INSTR pop ;
      return Boolean.valueOf(false);
    }

    private static Boolean b(String s, String s1)
    {
      String as[] = d((new StringBuilder(String.valueOf(s))).append(URLEncoder.encode("'/**/and/**/'1438'='1438", "UTF-8")).toString()).split("judge");
      String as1[] = d((new StringBuilder(String.valueOf(s))).append(URLEncoder.encode("'/**/and/**/'741'='438", "UTF-8")).toString()).split("judge");
      String s2 = as;
      String s3 = as1;
      if (s2.length() <= 50 || (double)s3.length() / (double)s1.length() >= 0.69999999999999996D || s1.indexOf(s2.substring(s2.length() - 50, s2.length())) == -1 || (double)s3.length() / (double)s2.length() >= 0.80000000000000004D)
            break MISSING_BLOCK_LABEL_166;
      sql.a(String.valueOf(e++), s, "And字符注入");
      return Boolean.valueOf(true);
      JVM INSTR pop ;
      return Boolean.valueOf(false);
    }

    private static Boolean c(String s, String s1)
    {
      String as[] = d((new StringBuilder(String.valueOf(s))).append(URLEncoder.encode("/**/and/**/1438=1438", "UTF-8")).toString()).split("judge");
      String as1[] = d((new StringBuilder(String.valueOf(s))).append(URLEncoder.encode("/**/and/**/741=438", "UTF-8")).toString()).split("judge");
      String s2 = as;
      String s3 = as1;
      if (s2.length() <= 50 || (double)s3.length() / (double)s1.length() >= 0.69999999999999996D || s1.indexOf(s2.substring(s2.length() - 50, s2.length())) == -1 || (double)s3.length() / (double)s2.length() >= 0.80000000000000004D)
            break MISSING_BLOCK_LABEL_166;
      sql.a(String.valueOf(e++), s, "And数字注入");
      return Boolean.valueOf(true);
      JVM INSTR pop ;
      return Boolean.valueOf(false);
    }

    private void b(String s)
    {
      if (h.booleanValue())
      {
            String s3 = s;
            String s1;
            if ((s1 = d((new StringBuilder("http://")).append(s3).append("/.svn/entries").toString())).indexOf("dir") != -1 && s1.indexOf("svn") != -1 && s1.indexOf("<?xml") == -1)
                sql.a(String.valueOf(e++), (new StringBuilder("http://")).append(s3).append("/.svn/entries").toString(), "Svn源码泄露");
      }
      if (o.booleanValue())
            a(s);
      Object obj;
      String as1[];
      if (((String) (obj = d((new StringBuilder("http://")).append(s).toString()))).indexOf("<a href=\"") == -1 || (as1 = ((String) (obj)).split("<a href=\"")).length <= 1) goto _L2; else goto _L1
_L1:
      int i1;
      int j1;
      i1 = 1;
      j1 = 0;
          goto _L3
_L19:
      String s2;
      Object obj1;
      String s4;
      if (j1 == g)
            break; /* Loop/switch isn't completed */
      if ((obj = as1.split("\"")).indexOf(".php?") == -1 && obj.indexOf(".asp?") == -1 && obj.indexOf(".jsp?") == -1 && obj.indexOf(".aspx?") == -1)
            break MISSING_BLOCK_LABEL_748;
      if (obj.indexOf("http://") != -1 || obj.indexOf("https://") != -1)
            obj = obj;
      else
            obj = (new StringBuilder("http://")).append(s).append("/").append(obj).toString();
      if (f.indexOf(((String) (obj))) != -1)
            break MISSING_BLOCK_LABEL_748;
      j1++;
      f = (new StringBuilder(String.valueOf(f))).append(((String) (obj))).append("\r\n").toString();
      String as[];
      s2 = (as = d(((String) (obj))).split("jduge"));
      if (!i.booleanValue())
            break MISSING_BLOCK_LABEL_467;
      s4 = s2;
      obj1 = obj;
      String s5;
      if ((s5 = d((new StringBuilder(String.valueOf(obj1))).append("%27").toString())).indexOf("Microsoft JET Database Engine") == -1 && (s4.indexOf("{500}") != -1 || s5.indexOf("{500}") == -1)) goto _L5; else goto _L4
_L4:
      sql.a(String.valueOf(e++), ((String) (obj1)), "显错注入");
      Boolean.valueOf(true);
          goto _L6
_L5:
      Boolean.valueOf(false);
_L6:
      booleanValue();
      JVM INSTR ifne 751;
         goto _L7 _L8
_L7:
      break MISSING_BLOCK_LABEL_467;
_L8:
      continue; /* Loop/switch isn't completed */
      if (!j.booleanValue())
            break MISSING_BLOCK_LABEL_576;
      s4 = s2;
      obj1 = obj;
      if ((s5 = d((new StringBuilder(String.valueOf(obj1))).append("%27%23").toString())).indexOf("MySQL ") == -1 && (s4.indexOf("{500}") != -1 || s5.indexOf("{500}") == -1)) goto _L10; else goto _L9
_L9:
      sql.a(String.valueOf(e++), ((String) (obj1)), "显错注入");
      Boolean.valueOf(true);
          goto _L11
_L10:
      Boolean.valueOf(false);
_L11:
      booleanValue();
      JVM INSTR ifne 751;
         goto _L12 _L13
_L12:
      break MISSING_BLOCK_LABEL_576;
_L13:
      continue; /* Loop/switch isn't completed */
      if (!k.booleanValue())
            break MISSING_BLOCK_LABEL_685;
      s4 = s2;
      obj1 = obj;
      if ((s5 = d((new StringBuilder(String.valueOf(obj1))).append("%27%23").toString())).indexOf("System.Data.SqlClient.SqlException:") == -1 && (s4.indexOf("{500}") != -1 || s5.indexOf("{500}") == -1)) goto _L15; else goto _L14
_L14:
      sql.a(String.valueOf(e++), ((String) (obj1)), "显错注入");
      Boolean.valueOf(true);
          goto _L16
_L15:
      Boolean.valueOf(false);
_L16:
      booleanValue();
      JVM INSTR ifne 751;
         goto _L17 _L18
_L17:
      break MISSING_BLOCK_LABEL_685;
_L18:
      continue; /* Loop/switch isn't completed */
      if (l.booleanValue() && c(((String) (obj)), s2).booleanValue() || m.booleanValue() && b(((String) (obj)), s2).booleanValue() || n.booleanValue() && a(((String) (obj)), s2).booleanValue())
            continue; /* Loop/switch isn't completed */
      i1++;
_L3:
      if (i1 < as1.length) goto _L19; else goto _L2
_L2:
    }

    private static String c(String s)
    {
      String as[];
      if (s.indexOf("...") != -1 && (as = s.split("...")).length > 1)
            s = as;
      if (s.indexOf("<b>") != -1)
      {
            as = s.split("<b>");
            s = (new StringBuilder(String.valueOf(as))).append(as).toString();
      }
      if (s.indexOf("<") != -1)
            s = (as = s.split("<"));
      if (s.indexOf("</b>") != -1)
      {
            as = s.split("</b>");
            s = (new StringBuilder(String.valueOf(as))).append(as).toString();
      }
      if (s.indexOf("http://") != -1)
            s = (as = s.split("http://"));
      if (s.indexOf("https://") != -1)
            s = (as = s.split("https://"));
      return s;
    }

    private static String d(String s)
    {
      Object obj = new URL(s);
      if ((s = s.split("http://")).length <= 1)
            break MISSING_BLOCK_LABEL_170;
      s = s.split("/");
      ((HttpURLConnection) (obj = (HttpURLConnection)((URL) (obj)).openConnection())).setRequestProperty("Accept", "text/html, application/xhtml+xml, image/jxr, */*");
      ((HttpURLConnection) (obj)).setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36");
      ((HttpURLConnection) (obj)).setRequestProperty("Accept-Language", "zh-CN");
      ((HttpURLConnection) (obj)).setRequestProperty("Host", s);
      ((HttpURLConnection) (obj)).setRequestProperty("Connection", "Keep-Alive");
      ((HttpURLConnection) (obj)).setRequestMethod("GET");
      if ((s = ((HttpURLConnection) (obj)).getResponseCode()) != 500 && s != 200)
            return "{404}judge0";
      if (s == 500)
            return "{500}judge0";
      int i1;
      s = a(((HttpURLConnection) (obj)).getInputStream());
      i1 = 0;
      if (((HttpURLConnection) (obj)).getContentLength() != -1)
            i1 = ((HttpURLConnection) (obj)).getContentLength();
      return (new StringBuilder(String.valueOf(s))).append("judge").append(i1).toString();
      JVM INSTR pop ;
      break MISSING_BLOCK_LABEL_170;
      JVM INSTR pop ;
      return "err";
    }

    private static String a(InputStream inputstream)
    {
      inputstream = new BufferedReader(new InputStreamReader(inputstream));
      StringBuffer stringbuffer = new StringBuffer();
      String s;
      while ((s = inputstream.readLine()) != null)
            stringbuffer.append(s);
      inputstream.close();
      return stringbuffer.toString();
    }

}
问题就是 https://attach.52pojie.cn/forum/202003/11/101345eg9a9qkagli9ja02.jpg 想把百度的更换为搜狗或者必应搜索引擎 我换上了不行 求大佬凯瑞

judgecx 发表于 2020-3-11 19:58

可以在我另外一个帖子回哦 好给你分和cb
页: [1]
查看完整版本: 求助java更换搜索链接