diff --git a/build/built-jar.properties b/build/built-jar.properties index 20eeb02..e7e7811 100644 --- a/build/built-jar.properties +++ b/build/built-jar.properties @@ -1,4 +1,4 @@ -#Mon, 01 Oct 2018 17:26:17 +0500 +#Thu, 01 Nov 2018 20:30:25 +0500 -C\:\\Users\\abdul.wahab\\Documents\\Git\ Projects\\AES\ Killer= +D\:\\Backup\\Git\ Projects\\AES-Killer= diff --git a/build/classes/burp/BurpExtender.class b/build/classes/burp/BurpExtender.class index e32f1e5..14bc727 100644 Binary files a/build/classes/burp/BurpExtender.class and b/build/classes/burp/BurpExtender.class differ diff --git a/build/classes/burp/MainPanel$1.class b/build/classes/burp/MainPanel$1.class index e6a4477..ebc5515 100644 Binary files a/build/classes/burp/MainPanel$1.class and b/build/classes/burp/MainPanel$1.class differ diff --git a/build/classes/burp/MainPanel$10.class b/build/classes/burp/MainPanel$10.class new file mode 100644 index 0000000..787220a Binary files /dev/null and b/build/classes/burp/MainPanel$10.class differ diff --git a/build/classes/burp/MainPanel$2.class b/build/classes/burp/MainPanel$2.class index 30c5e68..86ac7f1 100644 Binary files a/build/classes/burp/MainPanel$2.class and b/build/classes/burp/MainPanel$2.class differ diff --git a/build/classes/burp/MainPanel$3.class b/build/classes/burp/MainPanel$3.class index 10a3f88..026a245 100644 Binary files a/build/classes/burp/MainPanel$3.class and b/build/classes/burp/MainPanel$3.class differ diff --git a/build/classes/burp/MainPanel$4.class b/build/classes/burp/MainPanel$4.class index cf2c6b6..280bc94 100644 Binary files a/build/classes/burp/MainPanel$4.class and b/build/classes/burp/MainPanel$4.class differ diff --git a/build/classes/burp/MainPanel$5.class b/build/classes/burp/MainPanel$5.class index 2da2ba7..348f8ec 100644 Binary files a/build/classes/burp/MainPanel$5.class and b/build/classes/burp/MainPanel$5.class differ diff --git a/build/classes/burp/MainPanel$6.class b/build/classes/burp/MainPanel$6.class index 0b09a47..1f30977 100644 Binary files a/build/classes/burp/MainPanel$6.class and b/build/classes/burp/MainPanel$6.class differ diff --git a/build/classes/burp/MainPanel$7.class b/build/classes/burp/MainPanel$7.class index eb914cf..cc5c6d6 100644 Binary files a/build/classes/burp/MainPanel$7.class and b/build/classes/burp/MainPanel$7.class differ diff --git a/build/classes/burp/MainPanel$8.class b/build/classes/burp/MainPanel$8.class index bc932c6..3761a7f 100644 Binary files a/build/classes/burp/MainPanel$8.class and b/build/classes/burp/MainPanel$8.class differ diff --git a/build/classes/burp/MainPanel$9.class b/build/classes/burp/MainPanel$9.class new file mode 100644 index 0000000..2ea3b0b Binary files /dev/null and b/build/classes/burp/MainPanel$9.class differ diff --git a/build/classes/burp/MainPanel.class b/build/classes/burp/MainPanel.class index 5c5a693..4a58026 100644 Binary files a/build/classes/burp/MainPanel.class and b/build/classes/burp/MainPanel.class differ diff --git a/dist/AES_Killer.jar b/dist/AES_Killer.jar index 03a0229..f3bf15a 100644 Binary files a/dist/AES_Killer.jar and b/dist/AES_Killer.jar differ diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml index 284eeec..250ce96 100644 --- a/nbproject/private/private.xml +++ b/nbproject/private/private.xml @@ -2,6 +2,9 @@ - + + file:/D:/Backup/Git%20Projects/AES-Killer/src/burp/BurpExtender.java + file:/D:/Backup/Git%20Projects/AES-Killer/src/burp/MainPanel.java + diff --git a/src/burp/BurpExtender.java b/src/burp/BurpExtender.java index 1160c93..a3c8f42 100644 --- a/src/burp/BurpExtender.java +++ b/src/burp/BurpExtender.java @@ -60,70 +60,30 @@ public Component getUiComponent() { return this.myPanel; } - @Override - public void processProxyMessage(boolean messageIsRequest, IInterceptedProxyMessage message) { - if (messageIsRequest){ - IHttpRequestResponse messageInfo = message.getMessageInfo(); - IRequestInfo reqInfo = helpers.analyzeRequest(messageInfo); - List headers = reqInfo.getHeaders(); - String request = new String(messageInfo.getRequest()); - String URL = new String(reqInfo.getUrl().toString()); - if (URL.contains(this.reqURL)){ - String messageBody = request.substring(reqInfo.getBodyOffset()); - if ( !this.reqParameter.equals("") && messageBody.startsWith(this.reqParameter)){ - String arr[] = messageBody.split(this.reqParameter); - messageBody = arr[1].substring(0, arr[1].length()-1); - } - messageBody = removeNull(messageBody); - if(this.isOffusicated){messageBody = removeOff(messageBody);} - messageBody = doDecrypt(messageBody); - byte[] updateMessage = helpers.buildHttpMessage(headers, messageBody.getBytes()); - messageInfo.setRequest(updateMessage); - } - - } - else { - - if (this.decResponse != true){ - return; - } - IHttpRequestResponse messageInfo = message.getMessageInfo(); - IRequestInfo reqInfo = helpers.analyzeRequest(messageInfo); - String URL = new String(reqInfo.getUrl().toString()); - if (URL.contains(this.reqURL)){ - IResponseInfo resInfo = helpers.analyzeResponse(messageInfo.getResponse()); - List headers = resInfo.getHeaders(); - String response = new String(messageInfo.getResponse()); - String params = new String(response.substring(resInfo.getBodyOffset())); - try{ - params = doDecrypt(params); - byte[] updateMessage = helpers.buildHttpMessage(headers, params.getBytes()); - messageInfo.setResponse(updateMessage); - } - catch (Exception ex) { - stdout.println( params.length() + ": Exception Here"); - } - } - } - } - - public String doEncrypt(String paramString){ + public String doEncrypt(String paramString, Boolean doOffFlag){ try{ + String temp_params = paramString; cipher.init(1, sec_key ,iv_param); - paramString = new String (Base64.getEncoder().encodeToString(cipher.doFinal(paramString.getBytes()))); - return paramString; + temp_params = new String (Base64.getEncoder().encodeToString(cipher.doFinal(temp_params.getBytes()))); + if(doOffFlag && this.isOffusicated){temp_params = this.doOff(temp_params);} + return temp_params; }catch(Exception ex){ - return null; + return paramString; } } - + public String doDecrypt(String paramString){ try{ + String temp_params = paramString; cipher.init(2, sec_key ,iv_param); - paramString = new String (cipher.doFinal(Base64.getDecoder().decode(paramString))); - return paramString; + if(this.isOffusicated){ + temp_params = this.removeNull(temp_params); + temp_params = this.removeOff(temp_params); + } + temp_params = new String (cipher.doFinal(Base64.getDecoder().decode(temp_params))); + return temp_params; }catch(Exception ex){ - return null; + return paramString; } } @@ -131,7 +91,7 @@ public String removeNull(String paramString){ if (paramString != null) { return paramString.replace("%0A", "").replace("%2C",""); } - return null; + return paramString; } public String removeOff(String paramString) @@ -140,10 +100,9 @@ public String removeOff(String paramString) for(int i =0; i< this.offusicatedChar.length; i++){ paramString = paramString.replace(this.replaceWithChar[i], this.offusicatedChar[i]); } -// return paramString.replace("-", "+").replace("_", "/").replace(",", "="); return paramString; } - return null; + return paramString; } public String doOff(String paramString) @@ -152,28 +111,86 @@ public String doOff(String paramString) for(int i =0; i< this.offusicatedChar.length; i++){ paramString = paramString.replace(this.offusicatedChar[i], this.replaceWithChar[i]); } -// return paramString.replace("+", "-").replace("/", "_").replace("=", ","); return paramString; } - return null; + return paramString; } - + @Override - public void processHttpMessage(int toolFlag, boolean messageIsRequest, IHttpRequestResponse messageInfo) { + public void processProxyMessage(boolean messageIsRequest, IInterceptedProxyMessage message) { if (messageIsRequest){ + IHttpRequestResponse messageInfo = message.getMessageInfo(); IRequestInfo reqInfo = helpers.analyzeRequest(messageInfo); List headers = reqInfo.getHeaders(); String request = new String(messageInfo.getRequest()); String URL = new String(reqInfo.getUrl().toString()); - if (URL.contains(this.reqURL)){ - String messageBody = request.substring(reqInfo.getBodyOffset()); + if (URL.contains(this.reqURL) && reqInfo.getMethod().toLowerCase().contains("post")){ + if(reqInfo.getParameters().size() > 2){ return; } + String messageBody = new String(request.substring(reqInfo.getBodyOffset())).trim(); +// this.stdout.println("PPM :: request :: " + messageBody); if ( !this.reqParameter.equals("") && messageBody.startsWith(this.reqParameter)){ String arr[] = messageBody.split(this.reqParameter); messageBody = arr[1].substring(0, arr[1].length()-1); } - messageBody = removeNull(messageBody); - if(this.isOffusicated){messageBody = removeOff(messageBody);} - messageBody = doDecrypt(messageBody); + + try{ + messageBody = doDecrypt(messageBody); +// this.stdout.println("PPM :: dec --> request :: " + messageBody); + byte[] updateMessage = helpers.buildHttpMessage(headers, messageBody.getBytes()); + messageInfo.setRequest(updateMessage); + }catch(Exception ex){ + stdout.println( messageBody + " :: Exception Here :: processProxyMessage request \n --> " + ex + "\n\n"); + } + + } + + } + else { + + if (this.decResponse != true){ + return; + } + IHttpRequestResponse messageInfo = message.getMessageInfo(); + IRequestInfo reqInfo = helpers.analyzeRequest(messageInfo); + String URL = new String(reqInfo.getUrl().toString()); + if (URL.contains(this.reqURL) && reqInfo.getMethod().toLowerCase().contains("post")){ + IResponseInfo resInfo = helpers.analyzeResponse(messageInfo.getResponse()); + List headers = resInfo.getHeaders(); + String response = new String(messageInfo.getResponse()); + String params = new String(response.substring(resInfo.getBodyOffset())).trim(); + try{ +// this.stdout.println("PPM :: before enc :: " + params); + params = doEncrypt(params, false); + if ( !this.resPrarameter.equals("")){ + params = this.resPrarameter + params; + } +// this.stdout.println("PPM :: after enc :: " + params); + byte[] updateMessage = helpers.buildHttpMessage(headers, params.getBytes()); + messageInfo.setResponse(updateMessage); + } + catch (Exception ex) { + stdout.println( params + ": Exception Here :: processProxyMessage response \n" + ex + "\n\n"); + } + } + } + } + + + + @Override + public void processHttpMessage(int toolFlag, boolean messageIsRequest, IHttpRequestResponse messageInfo) { + if (messageIsRequest){ + IRequestInfo reqInfo = helpers.analyzeRequest(messageInfo); + List headers = reqInfo.getHeaders(); + String request = new String(messageInfo.getRequest()); + String URL = new String(reqInfo.getUrl().toString()); + if (URL.contains(this.reqURL) && reqInfo.getMethod().toLowerCase().contains("post")){ + if(reqInfo.getParameters().size() > 2){ return; } + String messageBody = request.substring(reqInfo.getBodyOffset()).trim(); +// this.stdout.println( "PHM :: before enc :: " + messageBody); + messageBody = doEncrypt(messageBody, true); + messageBody = "params=" + messageBody; +// this.stdout.println( "PHM :: after enc :: " + messageBody); byte[] updateMessage = helpers.buildHttpMessage(headers, messageBody.getBytes()); messageInfo.setRequest(updateMessage); } @@ -184,20 +201,27 @@ public void processHttpMessage(int toolFlag, boolean messageIsRequest, IHttpRequ if (this.decResponse != true){ return; } +// this.stdout.println("----- response -----"); IRequestInfo reqInfo = helpers.analyzeRequest(messageInfo); String URL = new String(reqInfo.getUrl().toString()); - if (URL.contains(this.reqURL)){ + if (URL.contains(this.reqURL) && reqInfo.getMethod().toLowerCase().contains("post")){ IResponseInfo resInfo = helpers.analyzeResponse(messageInfo.getResponse()); List headers = resInfo.getHeaders(); String response = new String(messageInfo.getResponse()); - String params = new String(response.substring(resInfo.getBodyOffset())); + String params = new String(response.substring(resInfo.getBodyOffset())).trim(); try{ + if ( !this.resPrarameter.equals("") && params.startsWith(this.resPrarameter)){ + String arr[] = params.split(this.resPrarameter); + params = arr[1].substring(0, arr[1].length()-1); + } +// this.stdout.println("PHM :: before dec :: " + params); params = doDecrypt(params); +// this.stdout.println("PHM :: after dec :: " + params); byte[] updateMessage = helpers.buildHttpMessage(headers, params.getBytes()); messageInfo.setResponse(updateMessage); } catch (Exception ex) { - stdout.println( params.length() + ": Exception Here"); + stdout.println( params.length() + ": Exception Here :: processHttpMessage response"); } } } diff --git a/src/burp/MainPanel.form b/src/burp/MainPanel.form index 0109eaa..3ca8e86 100644 --- a/src/burp/MainPanel.form +++ b/src/burp/MainPanel.form @@ -81,6 +81,8 @@ + + @@ -94,6 +96,7 @@ + @@ -118,12 +121,12 @@ - - - - + + + + - + @@ -158,14 +161,14 @@ - - + + - + @@ -194,14 +197,14 @@ - + - + - + @@ -219,6 +222,9 @@ + + + @@ -234,19 +240,22 @@ - + + + + - + - + @@ -259,11 +268,6 @@ - - - - - @@ -278,7 +282,7 @@ - + @@ -290,10 +294,9 @@ - - + - + @@ -310,32 +313,14 @@ - - - - + + - - - - - - - - - - - - - - - - @@ -356,17 +341,25 @@ + + + + + - + + + + @@ -383,9 +376,14 @@ + + + + + - + @@ -413,44 +411,86 @@ - + - - + + - - - - + - - + + + + + + + + + + + + + + + + + + + + + + - + - - + + - - - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/burp/MainPanel.java b/src/burp/MainPanel.java index 7eba35b..3c02888 100644 --- a/src/burp/MainPanel.java +++ b/src/burp/MainPanel.java @@ -5,6 +5,7 @@ */ package burp; +import java.awt.Color; import java.security.NoSuchAlgorithmException; import java.util.logging.Level; import java.util.logging.Logger; @@ -29,16 +30,24 @@ public class MainPanel extends javax.swing.JPanel { public MainPanel(BurpExtender burp) { this.myburp = burp; initComponents(); - this.jCheckBox1.setSelected(true); - this.jCheckBox3.setSelected(true); +// this.jCheckBox1.setSelected(true); this.jCheckBox2.setSelected(true); + this.jCheckBox3.setSelected(true); this.jCheckBox4.setSelected(true); this.jCheckBox5.setSelected(true); + this.jCheckBox6.setSelected(true); this.jCheckBox7.setSelected(true); + this.jCheckBox8.setSelected(true); + this.jCheckBox2.setEnabled(false); this.jCheckBox4.setEnabled(false); this.jCheckBox5.setEnabled(false); this.jCheckBox7.setEnabled(false); + this.jCheckBox8.setEnabled(false); + + this.jButton7.setEnabled(false); + this.jTextArea2.setLineWrap(true); + this.jTextArea3.setLineWrap(true); } /** @@ -67,27 +76,29 @@ private void initComponents() { jButton1 = new javax.swing.JButton(); jTextField5 = new javax.swing.JTextField(); jLabel7 = new javax.swing.JLabel(); - jCheckBox1 = new javax.swing.JCheckBox(); jPanel8 = new javax.swing.JPanel(); - jButton3 = new javax.swing.JButton(); - jButton6 = new javax.swing.JButton(); jCheckBox2 = new javax.swing.JCheckBox(); jCheckBox4 = new javax.swing.JCheckBox(); jCheckBox5 = new javax.swing.JCheckBox(); jCheckBox7 = new javax.swing.JCheckBox(); + jCheckBox8 = new javax.swing.JCheckBox(); jButton7 = new javax.swing.JButton(); jTextField6 = new javax.swing.JTextField(); jLabel5 = new javax.swing.JLabel(); jTextField7 = new javax.swing.JTextField(); jLabel6 = new javax.swing.JLabel(); + jCheckBox6 = new javax.swing.JCheckBox(); jCheckBox3 = new javax.swing.JCheckBox(); jButton4 = new javax.swing.JButton(); jButton5 = new javax.swing.JButton(); jPanel7 = new javax.swing.JPanel(); - jScrollPane6 = new javax.swing.JScrollPane(); - jTextPane1 = new javax.swing.JTextPane(); - jScrollPane7 = new javax.swing.JScrollPane(); - jTextPane2 = new javax.swing.JTextPane(); + jTabbedPane3 = new javax.swing.JTabbedPane(); + jScrollPane2 = new javax.swing.JScrollPane(); + jTextArea2 = new javax.swing.JTextArea(); + jTabbedPane1 = new javax.swing.JTabbedPane(); + jScrollPane3 = new javax.swing.JScrollPane(); + jTextArea3 = new javax.swing.JTextArea(); + jButton2 = new javax.swing.JButton(); jTextArea1.setColumns(20); jTextArea1.setRows(5); @@ -112,15 +123,27 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { } }); + jTextField2.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jTextField2ActionPerformed(evt); + } + }); + jLabel1.setText("Secret Key"); jLabel2.setText("Initialize Vector"); - jLabel3.setText("Request Parameter (Leave Blank if none)"); + jLabel3.setText("Request starts with (Leave Blank if none)"); + + jTextField4.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jTextField4ActionPerformed(evt); + } + }); - jLabel4.setText("Response Parameter (Leave Blank if none)"); + jLabel4.setText("Response starts with (Leave Blank if none)"); - jButton1.setText("Register AES Killer proxy Listener"); + jButton1.setText("Start AES Killer"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); @@ -129,24 +152,8 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { jLabel7.setText("Request URL Filter"); - jCheckBox1.setText("Decrypt Response too"); - jPanel8.setBorder(javax.swing.BorderFactory.createTitledBorder("")); - jButton3.setText("Override Burp HTTP Listener"); - jButton3.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - jButton3ActionPerformed(evt); - } - }); - - jButton6.setText("Deregister Burp HTTP Listener"); - jButton6.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - jButton6ActionPerformed(evt); - } - }); - jCheckBox2.setText("Proxy"); jCheckBox4.setText("Intruder"); @@ -155,13 +162,15 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { jCheckBox7.setText("Repeater"); + jCheckBox8.setText("POST Method Only"); + javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8); jPanel8.setLayout(jPanel8Layout); jPanel8Layout.setHorizontalGroup( jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel8Layout.createSequentialGroup() .addContainerGap() - .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel8Layout.createSequentialGroup() .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jCheckBox5) @@ -170,9 +179,8 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jCheckBox7) .addComponent(jCheckBox4))) - .addComponent(jButton6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addComponent(jCheckBox8)) + .addContainerGap(33, Short.MAX_VALUE)) ); jPanel8Layout.setVerticalGroup( jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -185,20 +193,24 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jCheckBox5) .addComponent(jCheckBox4)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(jButton3) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(jButton6) - .addContainerGap()) + .addComponent(jCheckBox8) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); - jButton7.setText("Dergister AES Killer proxy Listener"); + jButton7.setText("Stop AES Killer"); jButton7.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton7ActionPerformed(evt); } }); + jTextField6.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jTextField6ActionPerformed(evt); + } + }); + jLabel5.setText("Off. char (Separated with space)"); jTextField7.addActionListener(new java.awt.event.ActionListener() { @@ -209,7 +221,9 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { jLabel6.setText("Replace with (Separated with space)"); - jCheckBox3.setText("Remove Obfuscation"); + jCheckBox6.setText("Decrypt Response"); + + jCheckBox3.setText("Do Obfuscation"); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); @@ -219,9 +233,9 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 191, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(jButton7)) + .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 112, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addComponent(jButton7, javax.swing.GroupLayout.PREFERRED_SIZE, 112, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() @@ -250,11 +264,11 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, 127, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGap(38, 38, 38) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jCheckBox1) - .addComponent(jCheckBox3) .addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, 167, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jLabel7)))) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 136, Short.MAX_VALUE) + .addComponent(jLabel7) + .addComponent(jCheckBox6) + .addComponent(jCheckBox3)))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 139, Short.MAX_VALUE) .addComponent(jPanel8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) ); jPanel1Layout.setVerticalGroup( @@ -278,13 +292,13 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addComponent(jLabel4) .addComponent(jLabel6) .addComponent(jCheckBox3)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGap(10, 10, 10) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jCheckBox1)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 37, Short.MAX_VALUE) + .addComponent(jCheckBox6)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 33, Short.MAX_VALUE) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jButton1) .addComponent(jButton7)) @@ -308,15 +322,32 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { jPanel7.setLayout(new java.awt.GridLayout(1, 0)); - jScrollPane6.setBorder(javax.swing.BorderFactory.createTitledBorder("")); - jScrollPane6.setViewportView(jTextPane1); + jTabbedPane3.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED)); + + jTextArea2.setColumns(20); + jTextArea2.setRows(5); + jScrollPane2.setViewportView(jTextArea2); + + jTabbedPane3.addTab("Input", jScrollPane2); + + jPanel7.add(jTabbedPane3); + + jTabbedPane1.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED)); - jPanel7.add(jScrollPane6); + jTextArea3.setColumns(20); + jTextArea3.setRows(5); + jScrollPane3.setViewportView(jTextArea3); - jScrollPane7.setBorder(javax.swing.BorderFactory.createTitledBorder("")); - jScrollPane7.setViewportView(jTextPane2); + jTabbedPane1.addTab("Output", jScrollPane3); - jPanel7.add(jScrollPane7); + jPanel7.add(jTabbedPane1); + + jButton2.setText("Clear"); + jButton2.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton2ActionPerformed(evt); + } + }); javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); @@ -329,6 +360,8 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addComponent(jButton4) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jButton5) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jButton2) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); jPanel2Layout.setVerticalGroup( @@ -339,7 +372,8 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addGap(18, 18, 18) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jButton4) - .addComponent(jButton5)) + .addComponent(jButton5) + .addComponent(jButton2)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, 213, Short.MAX_VALUE) .addContainerGap()) @@ -399,44 +433,23 @@ private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRS } this.myburp.reqURL = this.jTextField5.getText(); this.myburp.reqParameter = this.jTextField3.getText(); - this.myburp.decResponse = this.jCheckBox1.isSelected(); + this.myburp.resPrarameter = this.jTextField4.getText(); + this.myburp.decResponse = this.jCheckBox6.isSelected(); + this.myburp.callbacks.registerHttpListener(myburp); this.myburp.callbacks.registerProxyListener(myburp); - JOptionPane.showMessageDialog(null, "Proxy Listener Registered"); + JOptionPane.showMessageDialog(null, "AES Killer Started !!!"); + this.jButton1.setEnabled(false); + this.jButton7.setEnabled(true); }//GEN-LAST:event_jButton1ActionPerformed - private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed - if(!check_input()){ return;} - try { - this.myburp.cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); - this.myburp.sec_key = new SecretKeySpec(this.jTextField1.getText().getBytes(),"AES"); - this.myburp.iv_param = new IvParameterSpec(this.jTextField2.getText().getBytes()); - } catch (NoSuchAlgorithmException ex) { - Logger.getLogger(MainPanel.class.getName()).log(Level.SEVERE, null, ex); - } catch (NoSuchPaddingException ex) { - Logger.getLogger(MainPanel.class.getName()).log(Level.SEVERE, null, ex); - } - this.myburp.reqURL = this.jTextField5.getText(); - this.myburp.reqParameter = this.jTextField3.getText(); - this.myburp.decResponse = this.jCheckBox1.isSelected(); - if(this.jCheckBox3.isSelected()){ - myburp.isOffusicated = true; - myburp.offusicatedChar = this.jTextField6.getText().trim().split(" "); - myburp.replaceWithChar = this.jTextField7.getText().trim().split(" "); - } - this.myburp.callbacks.registerHttpListener(myburp); - JOptionPane.showMessageDialog(null, "HTTP Listener Registered!!!"); - }//GEN-LAST:event_jButton3ActionPerformed - private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton7ActionPerformed + this.myburp.callbacks.removeHttpListener(myburp); this.myburp.callbacks.removeProxyListener(myburp); - JOptionPane.showMessageDialog(null, "Proxy Listener Deregistered"); + JOptionPane.showMessageDialog(null, "Stopping AES Killer"); + this.jButton7.setEnabled(false); + this.jButton1.setEnabled(true); }//GEN-LAST:event_jButton7ActionPerformed - private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton6ActionPerformed - this.myburp.callbacks.removeHttpListener(myburp); - JOptionPane.showMessageDialog(null, "HTTP Listener Deregistered!!!"); - }//GEN-LAST:event_jButton6ActionPerformed - private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed try { this.myburp.cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); @@ -453,10 +466,10 @@ private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRS myburp.replaceWithChar = this.jTextField7.getText().trim().split(" "); } - String enc_str = new String(this.jTextPane1.getText()); + String enc_str = new String(this.jTextArea2.getText()); if(this.jCheckBox3.isSelected()){enc_str = this.myburp.removeNull(this.myburp.removeOff(enc_str));} String dec_str = new String(this.myburp.doDecrypt(enc_str)); - this.jTextPane2.setText(dec_str); + this.jTextArea3.setText(dec_str); // JOptionPane.showMessageDialog(null, dec_str); }//GEN-LAST:event_jButton4ActionPerformed @@ -470,29 +483,46 @@ private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRS } catch (NoSuchPaddingException ex) { Logger.getLogger(MainPanel.class.getName()).log(Level.SEVERE, null, ex); } - String dec_str = new String(this.jTextPane1.getText()); - String enc_str = new String(this.myburp.doEncrypt(dec_str)); - this.jTextPane2.setText(enc_str); + String dec_str = new String(this.jTextArea2.getText()); + String enc_str = new String(this.myburp.doEncrypt(dec_str, true)); + this.jTextArea3.setText(enc_str); }//GEN-LAST:event_jButton5ActionPerformed private void jTextField7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField7ActionPerformed // TODO add your handling code here: }//GEN-LAST:event_jTextField7ActionPerformed + private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField2ActionPerformed + // TODO add your handling code here: + }//GEN-LAST:event_jTextField2ActionPerformed + + private void jTextField4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField4ActionPerformed + // TODO add your handling code here: + }//GEN-LAST:event_jTextField4ActionPerformed + + private void jTextField6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField6ActionPerformed + // TODO add your handling code here: + }//GEN-LAST:event_jTextField6ActionPerformed + + private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed + this.jTextArea2.setText(""); + this.jTextArea3.setText(""); + }//GEN-LAST:event_jButton2ActionPerformed + // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton jButton1; - private javax.swing.JButton jButton3; + private javax.swing.JButton jButton2; private javax.swing.JButton jButton4; private javax.swing.JButton jButton5; - private javax.swing.JButton jButton6; private javax.swing.JButton jButton7; - private javax.swing.JCheckBox jCheckBox1; private javax.swing.JCheckBox jCheckBox2; private javax.swing.JCheckBox jCheckBox3; private javax.swing.JCheckBox jCheckBox4; private javax.swing.JCheckBox jCheckBox5; + private javax.swing.JCheckBox jCheckBox6; private javax.swing.JCheckBox jCheckBox7; + private javax.swing.JCheckBox jCheckBox8; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; @@ -506,10 +536,14 @@ private void jTextField7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-F private javax.swing.JPanel jPanel7; private javax.swing.JPanel jPanel8; private javax.swing.JScrollPane jScrollPane1; - private javax.swing.JScrollPane jScrollPane6; - private javax.swing.JScrollPane jScrollPane7; + private javax.swing.JScrollPane jScrollPane2; + private javax.swing.JScrollPane jScrollPane3; + private javax.swing.JTabbedPane jTabbedPane1; private javax.swing.JTabbedPane jTabbedPane2; + private javax.swing.JTabbedPane jTabbedPane3; private javax.swing.JTextArea jTextArea1; + private javax.swing.JTextArea jTextArea2; + private javax.swing.JTextArea jTextArea3; private javax.swing.JTextField jTextField1; private javax.swing.JTextField jTextField2; private javax.swing.JTextField jTextField3; @@ -517,7 +551,5 @@ private void jTextField7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-F private javax.swing.JTextField jTextField5; private javax.swing.JTextField jTextField6; private javax.swing.JTextField jTextField7; - private javax.swing.JTextPane jTextPane1; - private javax.swing.JTextPane jTextPane2; // End of variables declaration//GEN-END:variables }