因为上次发了篇文章,<<关于三线程防杀的一些思想和VC代码>>,有很多人说特别简单,确实我也知道,自己写的是比较基础的一些东西,现阶段自己也写不了很高深的东西.
(上次文章写的较多,为方便大家查看,今再开一贴)

原文章地址:http://bbs.pediy.com/showthread.php?t=131537

    写文章有2个目的:其一,给自己前阶段的学习作一个总结,以后回想起来也知道这段时间自己在做什么,不至于是空白的;其二,论坛上也还有很多像我一样的菜鸟朋友,文章也算是起一个交流作用吧.

    今天再发一帖,我把上次发的文章的代码重写了一遍,修改了很多地方(主要部分没有改变),上次源码给了,软件没有作任何处理,写出来就发出来了,所以有点基础的朋友都可以逆向我的软件了.

   本来今天发的这款软件只能算是个半成品,因为这几天上课的时间较紧,也没什么时间写,清明想回家,所以先发一个出来,大家先看一下,我回家之后把没加上的代码补上,这件事就算完了.源码清明后补全程序后一齐放出.(欢迎大家跟帖指出软件存在的缺陷和漏洞)


声明:
      本程序没有任何恶意,由于时间关系,没有做杀毒软件免杀,本人以看雪ID担保,程序没有加入任何恶意代码,源码等清明我到学校后再放出,有能力的同学可以逆向一下我的程序,写的很烂,就不多说了,为了测试的效果,请关闭杀毒软件或者在虚拟机里面测试


  今天到学校了,把没有写完的东西写完吧,写完后就全心全意的去写搜索引擎吧,这个是我同学提出来的,我觉得我们合作可以写出来,可能没有那么完美,算是人生的一种经历吧,毕业后找工作也可以拿出个像样的东西吧....

  先说一下这个软件工作机制吧,我没有想过要写的多复杂,多具有杀伤力,这个不是我追求的,毕竟我不想从事木马或者是病毒的写作.虽然我以前也做过免杀,控制过别人的电脑,我觉得那一点也不光明,别人问你在做什么,真的说不出口,虽然心里面不是这么阴暗的,这样就好像别人都觉得你心里是阴暗的了,虽然同学看我操控别人的电脑,别人却浑然不知的时候,同学都说我很牛怎么的,但我总觉得那不是在夸我,我反到觉得那是在骂我.仿佛我和他们隔了什么东西似的,很难交心,虽然我那时候只是追求技术上面的提高...
      但那都是以前的事情了,可以说我是由木马开始想到学习编程的,那时候我的梦想就是自己写一款木马,我觉得那是很牛的事情.可现在我不这么想了,学的东西多了,就越怕自己做出什么事出来,看了<<疯狂的程序员>>,觉得绝影的经历真的和我很像,我仿佛能看到,若干年后的我自己是否就会和绝影一样.钱这个东西很多人都扛不住的.我不知道我自己能不能扛住.我努力的去学法律,学着保护自己.也学着不要做违法的事情,想着牢里的生活,让人后怕.
     可能很多人都认为写病毒或者木马的人都是心里面很阴暗的人,其实我不这样认为.技术都是两面的,有矛就盾,有攻就有防,就看你怎么把握了.我以后就想去杀毒软件公司,其实挺想去360的,以前就觉得木马才是很精巧的,是很有水平的人才能够做得出来的,所以和这样的人或者软件斗争,技术自然提高很快.  以前360没有上市的时候就想去,现在上市了,恐怕招人的条件就更高了,自己太业余,恐怕就难登大堂了.
      现在只有继续努力的学习,力争达到目标. 好[了,废话扯多了! 
       说说软件没有加的那个功能吧,代码不给了,有一定的危险性(具体参见我<U盘偷窥者>里面的查找文件按的函数),原本弄一个LPK作为传播我们的木马的,姑且就叫它木马吧, LPK里面就实现一个功能,DllMain函数里面  判读我们进程里面有没有Main.exe 如果有的话,就什么都不做,没有的话就从我们的源头上面复制文件到C:\windows 下面然后执行Main.exe  下面给出我定义的几个宏,是关于文件存放的问题的

代码:
#define Title "Main.exe"  //进程中显示的主程序                                                 1
#define MainFile "C:\\Windows\\Main.exe" //主程序放的地方                              2
#define ModuleName "mctxprx.dll"         //我们注入的程序DLL                           3 
#define ModulePath "C:\\WINDOWS\\system32\\mctxprx.dll" //DLL放的地方      4

#define SourseDLLPath "C:\\WINDOWS\\system32\\drivers\\irenumtex.sys"//真正的DLL5放的地方(源头)
#define SourseMainPath  "C:\\WINDOWS\\system32\\drivers\\tcpt.sys"  //真正主程序放的6源头
//备份的源头,防止上面的文件被删除
#define BackDLLPath  "C:\\WINDOWS\\WinSxS\\Policies\\i386.policy"//备份的源头7
#define BackMainPath "C:\\WINDOWS\\WinSxS\\Manifests\\x86_Microsof.dll"      8
看了这个大家就该明白了吧,我以不同的名字把我们的Main.exe和KernelSoft.DLL存放在了多个地方,就是防止一个被杀死,就整个都完了. 我标了一下号,5,6 ,7,8,他们有专门的线程监视并且只要一个不存在,就会立马拷贝一个过去,保证这4个文件都完好.

      Main.exe 负责注入KernelSoft.dll到explorer.exe, 负责监视并写入注册表的开机启动,负责传播我们的LPk文件到没一个文件夹中,并设置只读,系统,隐藏文件属性,并修改文件时间(这个后来我删掉了,方便大家查找文件)

    KernelSoft.dll的作用是监视Main.exe 并注入KernelSoft.dll 到winlogon.exe中.这里本可以用2个dLL来分别注入到explorer.exe和Winlogon.exe中的.为了方便就写一个了.

  好了,思路就是这样了,代码我就不贴了,主要的代码参见我上次发表的文章(三线程防杀)
   http://bbs.pediy.com/showthread.php?t=131537

  其他的思路我也已经说了,你自己也可以尝试别的想法.要源码的可以找我.Email看过我文章的人都该知道的.

   也写了这么多了,最近时间不是很多,就不再详细的写了.另外,本人长江大学大三了学生,想在暑假找份工作实习(关于编程开发方面或者是反病毒方面的),最好是能学习到很多东西的,本人学习能力很强,能吃苦,自学能力特强,地点最好是离武汉近点的地方.

   另外,附上本人的特长吧:
    1. 擅长 C,C++语言,会用VC++6.0在Win32平台下开发,没有什么工作经验,业余喜欢写点小程序.
     
    2. 熟悉8086汇编和Win32下的汇编,能用OD调试分析程序,能破解简单的程序.

    3. 熟悉单片机原理,能够为单片机开发出相应的程序

    4. 常用开发环境  VC++6.0,C++builder,RadAsm, Keil7.0(单片机)



   如果您有合适的机会,那么请联系我.    谢谢!




                作者:liuqiangni  
                      Email:181809575@qq.com
上传的附件 三线程防杀第2版.rar
三线程防杀第2版源码.rar