前两天宿舍管理员又贴出告示了:“1月5号,二楼又丢失一台笔记本电脑,再次请大家睡觉关好门。大家可长点心吧”。我去,这小偷也太张狂了吧。就整天盯着我们计算机系的宿舍不放。所以我准备通过写点小程序,让丢失的电脑可以找回来。大家也知道。干我们这行的,电脑比媳妇都亲,辛辛苦苦积累的几年的资料,可不想让小偷这么一个delete键给毁了。

起先,我在微博上看到过一个黑客大锅通过写木马的方式来找回自己丢失的电脑。但是这种方式有两点难题:一是,得做免杀(免杀就是将自己的木马伪装起来,不被杀毒软甲发现,并且删除),麻烦 要是被杀了 计划全泡汤了 。况且很多人自己不会做免杀(免杀所涉及到的技术面比较广。需要掌握汇编语言、逆向思维等)(ps:其实我也不会)用别人的要是带有后门呢 你老开机运行,自己都是别人的肉鸡(肉鸡就是,别人可以远程在你不知情的情况下控制你的电脑,做坏事。你的电脑,黑客的权限),所以我这两天根本就没往这方面想,因为我知道自己几斤几两。想了也没用。所以我想了一个简单的方法。基本上学过一点软件开发基础的人都能做到。(ps:我这种方法在实施的时候有忽略了一些作为程序员前期条件,也就是说很多时候存在于理想情况下,肯定有很多的不足和意外情况,方法不太完美,但毕竟我实验成功了。请大牛勿喷)。我这方法的总体思想就是在小偷开机的时候,连上网之后自动给我指定的邮件发送他上网的IP地址。当然了,在你没被偷,自己用的时候也会发送,咱谁也无法预料小偷什么时候来偷电脑。所以建议最好给这个程序申请一个专门的邮箱。Ok,下面我就来详细介绍一下我使用的方法。

首先先写一个简单的web程序。学过一点java web的童鞋应该都接触过监听器一些基础知识。在 Servlet API 中有一个 ServletContextListener 接口,它能够监听 ServletContext 对象的生命周期,实际上就是监听 Web 应用的生命周期。当Servlet 容器启动或终止Web 应用时,会触发ServletContextEvent 事件,该事件由ServletContextListener 来处理。在 ServletContextListener 接口中定义了处理ServletContextEvent 事件的两个方法。一个是contextInitialized 方法,一个是contextDestroyed 方法。这里我们用到的就是contextInitialized 的方法。这个方法即为在web容器,这里我使用的是tomcat。也就说,当tomcat启动的时候。这个方法就会给执行。在这个方法里我们就可以写上发邮件的相关内容。具体代码如下:

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:小偷不是苦逼的程序员的情况下有效 

教你如何电脑被盗还能找回相关推荐

  1. 电脑回收站删除的文件还能找回吗 电脑回收站删除的文件怎么恢复

    电脑回收站是保护电脑文件和数据的重要屏障,被删除的文件数据在这里会被保存很久,直到被用户永久删除.为了保证电脑系统的流畅运行,我们会对电脑回收站进行清理.在一系列的操作过后,我们可能会发现自己误删了重 ...

  2. 土豆视频服务器丢失了怎么找回,电脑里视频丢失误删了怎么恢复?回收站被清空后还能找回吗? 万兴恢复专家教程...

    原标题:电脑里视频丢失误删了怎么恢复?回收站被清空后还能找回吗? 万兴恢复专家教程 大家喜欢玩抖音,也喜欢拍视频,但是视频却容易丢失误删.那么,丢失不见的数据还能恢复吗?怎样才能恢复回收站清空的文件呢 ...

  3. plsql窗口文件怎么找回_电脑文件丢失怎么找回?知道原因和方法很关键

    电脑文件丢失怎么找回?对于使用电脑进行办公的大家伙都知道,很多重要或者临时文件存储在上面.在使用电脑的时候,可能因为自己的"强迫症".想要电脑运行的速度更加快捷或者因为其它的原因, ...

  4. c语言让系统蓝屏,0x000000116,教您解决电脑蓝屏代码0x000000116

    我们知道电脑使用不当会导致蓝屏甚至无法启动,而原因有很多,像常见的硬件之间不兼容,软件之间不兼容等,针对不同原因导致的电脑蓝屏,解决方法有所差别.而蓝屏代码0x000000116有是什么情况,该怎么解 ...

  5. xp系统设置锁定计算机,教你XP电脑中有效的设置自动锁屏的方法

    XP的系统是一款经典的系统,我们可以在使用中根据自己的电脑多的特点来安装这些系统的,那在使用电脑功能自动锁屏的时候有小伙伴就操作的时候遇到了疑问,对于设置自动锁屏这个选项不知道怎么调整的情况,遇到这个 ...

  6. 回收站被清空还能否找回文件

    在商业化的社会,电脑的重要性不用我多说,大家心里都很清楚,如果这个世界上没有了电脑,效率将会大打折扣.同时,Windows系统的电脑有个回收站的程序,更是给电脑的功能锦上添花.人们都说世上没有后悔药. ...

  7. 清空了回收站的文件还能找回吗

    这年头,师范类学校毕业,最好的出路就是当老师,作为女孩子,当老师我也不讨厌,毕竟能教书育人也是很光荣的事情.刚入学校,作为新人教师,我的课还很少,主要还是观摩学习,然后帮老教师出出题目,毕竟年轻人思想 ...

  8. 永久删除的文件还能找回来吗 永久删除的文件如何恢复

    在日常生活和工作中,我们经常需要处理各种文件.有时,我们可能会误删除重要文件,甚至执行了永久删除操作.那么,永久删除的文件还能找回来吗?如果可以,永久删除的文件如何恢复?接下来就来为大家讲解一下吧. ...

  9. 看过来,u盘删除的文件还能找回吗?两种方法教给你

    u盘删除的文件还能找回吗?u盘,全称USB闪存驱动器,它不需物理驱动器,即插即用,且其存储容量远超过软盘,方便携带使用.u盘作为我们常用的存储设备,也是有自己不同功能和划分.以下例举了几种: 1.无驱 ...

最新文章

  1. TCP协议经典数据--TCP/IP高效编程 : 改善网络程序的44个技巧
  2. Python数据结构之链表(linked list)
  3. USTC English Club Note20171015
  4. 计算密集型服务 性能优化实战始末
  5. 按钮是什么意思_汽车里的Rear按键是什么意思?
  6. 委外订单_听听晚报-英特尔扩大芯片委外订单、苹果秋季或举行两场发布会
  7. shields 徽标_徽标不够用时如何设计应用程序图标
  8. nginx 上传 文件超时设置_Nginx在高并发下的性能优化点!有这篇就够了!
  9. Hive数据倾斜优化
  10. PYPL 7 月榜单公布:Java 份额出现下降趋势
  11. 【设计模式】适配器模式(Adapter Pattern)
  12. svn使用 BCompare比较工具
  13. VFIO PassThrough
  14. xrd连续扫描和步进扫描_一种提高xrd实验精度的方法
  15. lwm2m协议 开源服务器,LwM2M协议接入
  16. excel转html不显示图片,excel表格怎么把0显示出来/为什么在excel插入背景后预览看不到图片...
  17. 连接SQLserver数据库发生错误,提示用户sa登录失败解决方法(亲试有用)
  18. PNG编解码算法详解
  19. java项目大概多少张表,要把数据插入到多张表?该如何处理
  20. 油管大神教波士顿机器狗学撒尿-给自己倒啤酒,网友:太恶趣味了

热门文章

  1. 乐鑫笔试题:等效电阻的求解
  2. 像科学家一样思考python_河像什么的比喻句
  3. ERP工程师做什么?
  4. 修改imx6 linux4.1.15开机动画的完整教程
  5. long long整型
  6. xshell 使用pem文件登录阿里云等远程服务器
  7. 一分钟解决QT官网无法下载的问题
  8. 2022-2027年中国车载移动电视行业发展监测及投资战略研究报告
  9. Plupload中文文档
  10. HA HADOOP集群和HIVE部署