软件名称: |
cmdbind2及其原码 |
文件类型: |
|
|
界面语言: |
简体中文 |
软件类型: |
国产软件 |
运行环境: |
WinNT/2K/Xp |
授权方式: |
共享软件 |
软件大小: |
73K |
软件等级: |
★★★★☆ |
发布时间: |
2004-02-16 |
官方网址: |
http://nongmin-cn.8u8.com 作者:nongmin-cn |
演示网址: |
|
软件说明: |
|
一般来说一个后门程序需要更改系统的某些文件来让程序在系统启动执行这个程序,又要在某个地方保留这个程序(一般是在硬盘)。如果有什么办法不这样做又让程序在系统中运行的话,就可以使后门程序更加隐蔽。也就是说程序在硬盘上找不到在系统的启动配置中没有这有项。真正要做到这样好象不太现实,但可以采用简单的方法:在程序被执行后删除程序文件和启动文件中被更改的部分,然后在系统被关闭前保留程序文
件和更改启动文件,让它在系统启动时又能被执行。
程序是一个可执行文件在被执行时系统会把它保护起来,如果要删除它需要更改系统!很麻烦!可以把代码放到其他程序中作为另外进程的线程来运行既利用创建远程线程函数。系统被关闭一般有三种情况:正常关机,掉电(不正常关机),一键关机(按下power).对于正常关机,程序会收到CTRL_SHUTDOWN_EVENT的信号,一键关机,可以简单的使用钩子但掉电(不正常关机)老农实在想不出办法。好在一般的nt服务器很少这种情况。
在nt系统下用CreateService来注册一个服务,当然是在系统SHUTDOWN前。在启动时用DeleteService删除这个服务,保存一个程序文件在虚拟内存中,删除在硬盘上程序文件.
老农用这个方法写了个后门程序,建立远程线程把cmd.exe绑在2000端口,在原程序中有些注解有兴趣的朋友可以看看。相关的原程序和编译好的可执行文件可在我的主页下载。
直接把代码插入其他进程中,这样的编程效率很低。大部分时间用在确定虚拟内存地址上。其实可以利用动态连接库让系统为程序确定地址,就是编写一个dll文件把全部的功能
放在dll中,用rundll32来运行dll中的函数。某些程序能够查看到系统加载的dll文件,我们又要把这个dll文件从硬盘上删除,只要用FreeLibrary释放掉dll就能够做到。编写的代码又必须继续在进程中作为线程在执行。这里使用一点技巧就可以做到,把dll文件拷贝一个不同文件名的副本,在进程中加载这个副本这样系统就会在进程中分配虚拟内存以影射这个副本,用GetProcAddress取得想要执行的函数地址,把整个分配的虚拟内存保存在另外的地方,然后用FreeLibrary释放掉副本dll。申请和加载副本地址相同的虚拟内存,把它拷贝回去。用CreateThread执行申请虚拟内存中的函数(就是GetProcAddress取得的地址)。再释放掉dll。这样这个dll文件就被加载到进程中,使它作为个线程被执行,又可以删除dll文件,由于
FreeLibrary释放掉dll所以看不到这个dll被加载。编程时可以象编写普通的应用程序一样不必考虑虚拟内存地址,因为系统已经为我们做了。我也写了个例子,sdll.zip在SPOOLSV.EXE进程中建立WH_JOURNALRECORD钩子当按下"a"键时喇叭就会响一下。
使用时把dll文件拷贝到system32目录下用"rundll32 sdll.dll ondll"来运行这个dll原程序中有注解。
如果有什么错误,问题,建议可以和作者联系:
nongmin.cn@yeah.net
|
|
下载地址: |
进入下载地址列表
|
下载说明: |
☉推荐使用网际快车下载本站软件,使用 WinRAR v3.10 以上版本解压本站软件。
☉如果这个软件总是不能下载的请点击报告错误,谢谢合作!!
☉下载本站资源,如果服务器暂不能下载请过一段时间重试!
☉如果遇到什么问题,请到本站论坛去咨寻,我们将在那里提供更多 、更好的资源!
☉本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。 |
|
[推荐]
[评论(0条)] [返回顶部] [打印本页]
[关闭窗口] |
|
|
|
|
|
|
推荐广告 |
|
|
|
|