教你如何电脑被盗还能找回 .
2019-04-14 16:01发布
生成海报
起先,我在微博上看到过一个黑客大锅通过写木马的方式来找回自己丢失的电脑。但是这种方式有两点难题:一是,得做免杀(免杀就是将自己的木马伪装起来,不被杀毒软甲发现,并且删除),麻烦 要是被杀了 计划全泡汤了 。况且很多人自己不会做免杀(免杀所涉及到的技术面比较广。需要掌握汇编语言、逆向思维等)(ps:其实我也不会)用别人的要是带有后门呢 你老开机运行,自己都是别人的肉鸡(肉鸡就是,别人可以远程在你不知情的情况下控制你的电脑,做坏事。你的电脑,黑客的权限),所以我这两天根本就没往这方面想,因为我知道自己几斤几两。想了也没用。所以我想了一个简单的方法。基本上学过一点软件开发基础的人都能做到。(ps:我这种方法在实施的时候有忽略了一些作为程序员前期条件,也就是说很多时候存在于理想情况下,肯定有很多的不足和意外情况,方法不太完美,但毕竟我实验成功了。请大牛勿喷)。我这方法的总体思想就是在小偷开机的时候,连上网之后自动给我指定的邮件发送他上网的IP地址。当然了,在你没被偷,自己用的时候也会发送,咱谁也无法预料小偷什么时候来偷电脑。所以建议最好给这个程序申请一个专门的邮箱。Ok,下面我就来详细介绍一下我使用的方法。
首先先写一个简单的web程序。学过一点java web的童鞋应该都接触过监听器一些基础知识。在 Servlet API 中有一个 ServletContextListener 接口,它能够监听 ServletContext 对象的生命周期,实际上就是监听 Web 应用的生命周期。当Servlet 容器启动或终止Web 应用时,会触发ServletContextEvent 事件,该事件由ServletContextListener 来处理。在 ServletContextListener 接口中定义了处理ServletContextEvent 事件的两个方法。一个是contextInitialized 方法,一个是contextDestroyed 方法。这里我们用到的就是contextInitialized 的方法。这个方法即为在web容器,这里我使用的是tomcat。也就说,当tomcat启动的时候。这个方法就会给执行。在这个方法里我们就可以写上发邮件的相关内容。具体代码如下:
[java]
view plaincopyprint?
- public void contextInitialized(ServletContextEvent arg0) {
- System.out.println("init");
- SimpleMail sm = new SimpleMail();
- sm.setSubject("报告电脑所在位置");
- InetAddress inet = null;
- try {
- inet = InetAddress.getLocalHost();
- } catch (UnknownHostException e1) {
-
- e1.printStackTrace();
- }
- String str = "当前登陆主机的ip=" + inet.getHostAddress();
-
- sm.setContent(str);
- SimpleMailSender sms = new SimpleMailSender("xxx@qq.com",
- "csh8338281110");
- try {
- Thread.currentThread().sleep(1000);
- sms.send("xxx@163.com", sm);
- System.out.println("执行完成11!!");
- } catch (Exception e) {
-
- try {
- Thread.currentThread().sleep(1000 * 5);
- sms.send("bzu901@163.com", sm);
- } catch (Exception e1) {
-
- e1.printStackTrace();
- }
- }
- }
public void contextInitialized(ServletContextEvent arg0) {
System.out.println("init");
SimpleMail sm = new SimpleMail();
sm.setSubject("报告电脑所在位置");
InetAddress inet = null;
try {
inet = InetAddress.getLocalHost();
} catch (UnknownHostException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
String str = "当前登陆主机的ip=" + inet.getHostAddress();
// String str = ReadHtmlFile.readFile("这里填写你需要发送的本地文件路径");
sm.setContent(str);
SimpleMailSender sms = new SimpleMailSender("xxx@qq.com",
"csh8338281110");
try {
Thread.currentThread().sleep(1000);
sms.send("xxx@163.com", sm);
System.out.println("执行完成11!!");
} catch (Exception e) {
// e.printStackTrace();
try {
Thread.currentThread().sleep(1000 * 5);
sms.send("bzu901@163.com", sm);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
写到这里并没有完事大吉,因为你这只是写好了程序,但是并没有设置好开机自动启动服务啊。因为我们这个程序只有在tomcat启动的时候才会被执行。所以,下一步我们还有设置tomcat开机自动启动。这里我主要说一下免安装版的tomcat自动启动设置,因为安装版的直接在服务程序中设置就可以了。
1、设置环境变量 CATALINA_HOME ,值为 Tomcat安装目录:
2.找到tomcat中bin目录下的service.bat文件
打开此文件,在倒数第三行左右的那句输出
echo The service '%SERVICE_NAME%' has been installed.
这句是输出服务安装成功,在这之前加一句
sc config %SERVICE_NAME% start= auto
3、在Tomcat的bin目录下,打开 cmd 执行以下对应的命令:
service.bat install
如果没有什么问题的话,你会看到如下界面
Ps:有的tomcat是阉割版的,没有service.bat这个文件。比如我的就是,那么你可以到网上去下载一个这个文件,或者直接在重新下载一个tomcat也行。
开机启动,查看邮箱:
这样,你把刚才写的那个简单的web程序发布到tomcat中。然后tomcat在开机自动启动的时候就会运行对应的程序代码,这样就可以给你的邮箱发送当前你的电脑的ip了。有了ip地址对于警方来说,抓小偷就是很轻松的事了。这里你还可以获得更多的相关信息。其他的信息你就可以随便添加了。
小小的ps:这种方法有很多的不足和未考虑的因素,仅供参考
大大大的ps:小偷不是苦逼的程序员的情况下有效
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮