专杀工具源码 V1.5

杀传奇私服外挂rootkit的脚本,原理很简单就是操纵注册表的,针对释放驱动到sysroot下而且其没注册的Cmpcallback或者没针对键值修改做保护,上代码,啰嗦版本有注释一看就明白

扯蛋啰嗦版本

# -*- coding:utf-8 -*-
import glob
import os
import ctypes
from _winreg import *

#获取当前程序所在路径
currentpath1 = os.getcwd()
currentpath2 = '现在程序所在的路径为 :'+ currentpath1
print currentpath2.decode("utf-8")

#遍历所有可疑文件

f = glob.glob('C:\Windows' + '\\*.sys')
print ('检测到 C:\Windows 目录下的可疑文件如下').decode("utf-8")

#判断有多少个驱动文件并删除没有加载的驱动

for i, file in enumerate(f) :
    #枚举路径
    filename = os.path.basename(file)
    sysrootpath2 = 'C:\\Windows\\' + filename
    #print i, filename
    #尝试删除驱动文件
    try:
        os.remove(sysrootpath2)
        print ('删除文件').decode("utf-8") + filename + ('成功').decode("utf-8")
    except:
        print ('有可疑驱动正在运行无法直接删除').decode("utf-8")

#if i==0:
#    print ('只有一个可疑文件').decode("utf-8")
#else:
#    print ('存在多个可疑驱动文件并已经删除外挂驱动外的其他可疑驱动文件').decode("utf-8")

#确认外挂驱动名
#virusf = glob.glob('C:\Windows' + '\\*.sys')
#for filewg in virusf :  
#    wdfilename = os.path.basename(filewg)  
#realwgfilename = wdfilename[0:-4]
#print ('重新定位外挂驱动文件:').decode("utf-8")
#print (wdfilename)


virusf = glob.glob('C:\Windows' + '\\*.sys')
sysfilenamelist = []
for filewg in virusf :
    print filewg
    readywdfilename = os.path.basename(filewg)
    sysfilenamelist.append(readywdfilename)

print sysfilenamelist
try:
    sysfilenamelist.remove('pagefile.sys')
    print 'del pagefile.sys successed'
except:
    print 'del pagefile.sys failed'

print sysfilenamelist
wdfilename = sysfilenamelist[0]
realwgfilename = wdfilename[0:-4]

#修改外挂驱动注册表键值
Start = 'Start'
try:
    regpath1 = 'SYSTEM\\ControlSet001\\services' + '\\' + realwgfilename
    reg1 = OpenKey(HKEY_LOCAL_MACHINE, regpath1, 0, KEY_WRITE)
    SetValueEx (reg1, Start, 0, REG_DWORD, 4)
    CloseKey(reg1)
    print ('处理ControlSet001成功').decode("utf-8")
except:
    print ('处理ControlSet001出错').decode("utf-8")

try:
    regpath2 = 'SYSTEM\\ControlSet002\\services' + '\\' + realwgfilename
    reg2 = OpenKey(HKEY_LOCAL_MACHINE, regpath2, 0, KEY_WRITE)
    SetValueEx (reg2, Start, 0, REG_DWORD, 4)
    CloseKey(reg2)
    print ('处理ControlSet002成功').decode("utf-8")
except:
    print ('处理ControlSet002出错').decode("utf-8")

try:       
    regpath3 = 'SYSTEM\\ControlSet002\\services' + '\\' + realwgfilename
    reg3 = OpenKey(HKEY_LOCAL_MACHINE, regpath3, 0, KEY_WRITE)
    SetValueEx (reg3, Start, 0, REG_DWORD, 4)
    CloseKey(reg3)
    print ('处理ControlSet003成功').decode("utf-8")
except:
    print ('处理ControlSet003出错或者项目不存在').decode("utf-8")

try:      
    regpath4 = 'SYSTEM\\ControlSet002\\services' + '\\' + realwgfilename
    reg4 = OpenKey(HKEY_LOCAL_MACHINE, regpath4, 0, KEY_WRITE)
    SetValueEx (reg4, Start, 0, REG_DWORD, 4)
    CloseKey(reg4)
    print ('处理ControlSet004成功').decode("utf-8")
except:
    print ('处理ControlSet002出错或者项目不存在').decode("utf-8")

#delete key
#regpath2 = 'SYSTEM\\CurrentControlSet\\services'
#reg2 = OpenKey(HKEY_LOCAL_MACHINE, regpath2, res=0, sam=KEY_WRITE)
#DeleteKey(reg2, filename2)
#chinesedisplay2 = '已经禁止病毒自启动,现在请直接拔掉电源线使电脑直接断电,等5秒后插上重启'
#print chinesedisplay2.decode("utf-8")
#print isinstance(filename2, basestring)

print ('''

操作尚未完成,不要点关机或者重启!
先关掉并退出所有程序,然后直接拔掉电源线使电脑直接断电!
等5秒后插上重启''').decode("utf-8")

ctypes.windll.user32.MessageBoxW(0, u'关掉并退出所有程序,直接拔掉电源线使电脑直接断电', u'操作提示',0)

短小精悍版本

# -*- coding:utf-8 -*-
import glob
import os
import ctypes
from _winreg import *

currentpath1 = os.getcwd()


currentpath2 = '现在程序所在的路径为 :'+ currentpath1
print currentpath2.decode("utf-8")

f = glob.glob('C:\Windows' + '\\*.sys')
print ('检测到 C:\Windows 目录下的可疑文件如下').decode("utf-8")

for i, file in enumerate(f) :
    filename = os.path.basename(file)
    sysrootpath2 = 'C:\\Windows\\' + filename
    try:
        os.remove(sysrootpath2)
        print ('删除文件').decode("utf-8") + filename + ('成功').decode("utf-8")
    except:
        print ('有可疑驱动正在运行无法直接删除').decode("utf-8")

virusf = glob.glob('C:\Windows' + '\\*.sys')
sysfilenamelist = []
for filewg in virusf :
    print filewg
    readywdfilename = os.path.basename(filewg)
    sysfilenamelist.append(readywdfilename)

print sysfilenamelist
try:
    sysfilenamelist.remove('pagefile.sys')
    print 'del pagefile.sys successed'
except:
    print 'del pagefile.sys failed'

print sysfilenamelist
wdfilename = sysfilenamelist[0]
realwgfilename = wdfilename[0:-4]

Start = 'Start'
try:
    regpath1 = 'SYSTEM\\ControlSet001\\services' + '\\' + realwgfilename
    reg1 = OpenKey(HKEY_LOCAL_MACHINE, regpath1, 0, KEY_WRITE)
    SetValueEx (reg1, Start, 0, REG_DWORD, 4)
    CloseKey(reg1)
    print ('处理ControlSet001成功').decode("utf-8")
except:
    print ('处理ControlSet001出错').decode("utf-8")

try:
    regpath2 = 'SYSTEM\\ControlSet002\\services' + '\\' + realwgfilename
    reg2 = OpenKey(HKEY_LOCAL_MACHINE, regpath2, 0, KEY_WRITE)
    SetValueEx (reg2, Start, 0, REG_DWORD, 4)
    CloseKey(reg2)
    print ('处理ControlSet002成功').decode("utf-8")
except:
    print ('处理ControlSet002出错').decode("utf-8")

try:       
    regpath3 = 'SYSTEM\\ControlSet002\\services' + '\\' + realwgfilename
    reg3 = OpenKey(HKEY_LOCAL_MACHINE, regpath3, 0, KEY_WRITE)
    SetValueEx (reg3, Start, 0, REG_DWORD, 4)
    CloseKey(reg3)
    print ('处理ControlSet003成功').decode("utf-8")
except:
    print ('处理ControlSet003出错或者项目不存在').decode("utf-8")

try:      
    regpath4 = 'SYSTEM\\ControlSet002\\services' + '\\' + realwgfilename
    reg4 = OpenKey(HKEY_LOCAL_MACHINE, regpath4, 0, KEY_WRITE)
    SetValueEx (reg4, Start, 0, REG_DWORD, 4)
    CloseKey(reg4)
    print ('处理ControlSet004成功').decode("utf-8")
except:
    print ('处理ControlSet002出错或者项目不存在').decode("utf-8")


print ('''

操作尚未完成,不要点关机或者重启!
先关掉并退出所有程序,然后直接拔掉电源线使电脑直接断电!
等5秒后插上重启''').decode("utf-8")

ctypes.windll.user32.MessageBoxW(0, u'关掉并退出所有程序,直接拔掉电源线使电脑直接断电', u'操作提示',0)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一款可以自已定制病毒特征库的杀毒软件,可以用此软件变种为任意的病毒专杀工具。界面及病毒特征库均可自行定制编辑,支持最大100个线程扫描文件,杀毒方式可自行设定,支持对每一种病毒特征码设置一种杀毒方式。采用文件二进制比对的方式查杀电脑上的文件,可以对电脑文件中含有病毒特征码的文件执行删除文件、清除文件病毒码字节、用空格替换文件病毒码字节、用0x00替换文件病毒码字节,用指定字符替换文件病毒码字节等等杀毒方式。病毒特征码可以资源共享。 目前版本的实质为:多线程文件内容比对查找及修改替换工具。程序未加入主动防御、恶意行为拦截等功能,程序特别适合作为病毒专杀工具,可以对程序作小的改动即可实现变种。 本程序规模不大,易读懂,程序全为业余书写,几乎没有经过什么测试,可能存在许多错误。软件在www.csdn.net首页的“创新无极限,软件你来选”中申报成功(开源类),请下载了源码的用户在2010年1月1日到2010年1月21日期间投此软件一票,以示对作者开源的支持。 作者开源的另一作品“文本语音朗读组件”全套VC++源码,也欢迎用户下载并投作者一票。你可以对上面两款软件源码重新改进形成功能各异的属于你的作品。 作者已没有时间对上述程序进行深度开发和升级,只是希望

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值