Java工具开发手记
2021/4/15 20:55:15
本文主要是介绍Java工具开发手记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Java工具开发手记
前言
这段时间沉迷于工具开发方面,个人也比较倾向于gui的工具。使用在开发过程中避免的就是gui的一些框体,这里主要用于记录一些关键点。
工具开发
其实在前段时间编写的14882_exploit_Gui工具的时候,提出的一个问题。除了命令执行在工具里还有什么实用的功能模块。当时提出的一个proxy功能,并把他给实现了。
开发过程中其实具体在Gui框体的设计这块相对来说比较费时间。
代理模块核心实现代码
public Proxy createProxy_SOCKET() { Proxy proxy = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress(this.socket_ip_addr, this.socket_port)); return proxy; } ... Proxy proxy_socket = createProxy_SOCKET(); ... HttpsURLConnection https = (HttpsURLConnection)url.openConnection(proxy_socket);
GUI设计
this.setResizable(false); //不可最大化设置 setLocationRelativeTo(null); //框体居中
proxy_setting 如何进行消息框弹出的问题解决
jDialog1.setVisible(rootPaneCheckingEnabled);
check_box选项框事件监听问题解决,且实现不勾选输入框无法使用功能。
jCheckBox1.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { boolean proxy_flag = jCheckBox1.isSelected(); // System.out.println(proxy_flag); if(proxy_flag){ jTextField4.setEditable(true); jTextField5.setEditable(true); // jComboBox4.setEditable(true); }else { jTextField4.setEditable(false); jTextField5.setEditable(false); jComboBox4.setEditable(false); } // System.out.println(jComboBox4.getSelectedItem().toString()); } });
写文件功能问题解决:
public class Fileutils { public static void writeFile(String savepath,String shell) {//写文件 FileOutputStream fos = null; try { fos = new FileOutputStream(savepath); fos.write(shell.getBytes()); fos.close(); System.out.println("已保存"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }} ...... JFileChooser chooser = new JFileChooser(); String shell = processor.get_shell(Generated_password, Generated_key, Generated_Encode); if (chooser.showSaveDialog(jButton2)==JFileChooser.APPROVE_OPTION) { File file = chooser.getSelectedFile(); Fileutils.writeFile(file.getPath(),shell);
最后来看看成品
GitHub地址:https://github.com/nice0e3/CVE-2020-14882_Exploit_Gui/
命令框崩溃问题解决
在前面几个版本中遇到在打weblogic的时候命令框使用echo语句写shell会导致框体崩溃
如下图:
原因其实是以为在写gui的时候,设置了命令框可拉伸,取消掉拉伸功能,并且将框体设置不可最大化即可解决。
this.setResizable(false);
来自某人的反馈
未完续...
持续记录问题与问题解决方案
这篇关于Java工具开发手记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-28一步到位:购买适合 SEO 的域名全攻略
- 2024-12-27OpenFeign服务间调用学习入门
- 2024-12-27OpenFeign服务间调用学习入门
- 2024-12-27OpenFeign学习入门:轻松掌握微服务通信
- 2024-12-27OpenFeign学习入门:轻松掌握微服务间的HTTP请求
- 2024-12-27JDK17新特性学习入门:简洁教程带你轻松上手
- 2024-12-27JMeter传递token学习入门教程
- 2024-12-27JMeter压测学习入门指南
- 2024-12-27JWT单点登录学习入门指南
- 2024-12-27JWT单点登录原理学习入门