“天琊 V1.0(测试版)”是一款集进程管理,文件管理,SSDT服务表管理,SHADOW服务表管理,内核模块察看,Inline Hook扫描,日志导出,保险箱,主动防御(主要针对保险箱功能)于一身的强大的安全反病毒辅助工具。
进程管理:
提供了丰富的进程相关信息。分别有“状态”(主要是标志是否是隐藏进程和保护的进程,保护的进程主要是针对于保险箱功能的),“映像名”(进程名),“PID”(进程ID,正常情况下此ID是唯一的,是进程的标识符),“父PID”(指创建此进程的进程ID,这方便察看进程的家族,也可以帮助分析病毒所属文件等),“用户名”(进程所属用户,比如System,这个现非常有用,现在很多病毒都会伪装成系统文件一样的进程名导致系统自带的进程管理器误认为他们是系统进程,就算是用户发现了也无法终止其运行,但是此类病毒一般都有个特点就是进程用户名不是System,当然也有病毒能把用户名也隐藏了,这样我们可以继续从进程路径上进行判断),“EPROCESS”(此项对于一般用户没什么用,对于一些搞内核研究的人有点用因为它是指向进程的内核对象可以用一些调试工具察看出丰富的进程信息),“进程路径”(进程对应的文件路径,此项可以排查一些伪装系统进程的程序,也他们能伪装进程名却很难伪装系统进程的文件路径)。
强大的反进程隐藏功能,分别提供三种级别的进程隐藏检测方式。“枚举进程方式1”是用常规的枚举SessionProcessLinks链表实现,用此方式枚举出来的进程有这样一个优点---枚举出来的进程是按启动顺序排列的,最后启动的进程永远在最后一个,这样可以很容易的察看一些可以进程。“枚举进程方式2”是以枚举系统句柄表方式来枚举进程的。此法可以枚举出脱链的隐藏进程方式的程序。“枚举进程方式3”是一种综合方式可以枚举出目前大部分的隐藏进程(目前还没发现枚举不出来的隐藏进程).
强大的杀进程功能。本程序提供的杀进程方式主要提供4种方式,分别是:“终止进程”(常规的以NtTerminateProcess方式),“强制终止”(以投递APC方式杀进程,使用此方式查杀进程的时候需要注意一下,此方式查杀强度非常高,在目前测试中没有杀不了的进程,但是有时在查杀一些顽固的进程的时候会显示会隐藏,这样大家不要大惊小怪,其实目标进程已经被终止了,请不要再次使用此方式终止,这样很有可能造成系统蓝屏事件),“特征码终止”(此方式是结合了第一种方式再加上特征码验证,使用此方式结束了的进程将无法再次启动,如果无意中结束错了,可以在“高级操作”里选择特征码管理,在里面把其删除即可,此方式的设计主要是针对一些多进程相互守护的病毒程序,如果用户不能直接判断出病毒文件或者总是终止后又起来就可以选择此方式),“特征码强制终止”(此方式是结合“强制终止”方式和特征码验证,效果和第三种方式一样,只是强度高了很多,注意此方式结束的进程也不能使用再次结束)
高级操作。除了上面说的两种特征码方式结束进程为还提供以下功能:“强制删除文件”(此功能可以强制删除进程对应的文件,此功能请慎重使用,因为此功能可以把正在运行中的进程对应的文件删除,一旦把系统的重要文件强制删除了就OVER了),“扫描进程钩子”(目前版本还没加入此功能,下个版本提供),“进程内存清零”(此功能主要是为了对付一些变态的进程保护强度已经不能用强制终止进程方式结束的进程,目前还没发现这样的程序。那么我们就可以使用此方式把邪恶的进程内存清零),“添加保护进程”(此功能是为“保险箱”功能设计,我下面再做详细说明),“从文件中添加保护进程”(此功能是为“保险箱”功能设计,我下面再做详细说明),“添加阻止进程”(此功能设计是为了对付一些杀了又起的程序和特征码方式终止是一回事,区别在于是在使用的时候没把进程结束,方便继续分析此进程),“从文件中添加阻止进程”(此功能设计可以把一些病毒或者你讨厌的程序添加进此列表中那么就算你无意中运行起了此程序,那么我的程序也会阻止其运行),“特征码管理”(主要是对保护进程和阻止进程一些在主动防御上永远拒绝的对象的管理,你可以删除其中任何一项)。“高级操作”里的功能主要是为。反病毒设计的,所以在使用的时候请慎重。
线程相关。本程序提供了两种枚举线程的方式。“枚举线程方式1”此方式是以线程链表方式枚举线程的。“枚举线程方式2”是一个综合的枚举方式,可以对付大部分对线程隐藏的程序(目前还没发现检测不出来的)。
线程信息,包括有:“线程类型”主要用来区别系统线程和一般线程,此项是用于标识一些恶意程序更改了SystemThread标志来保护进程的程序。“TID”线程的ID,是线程的标识符。“ETHREAD”对一般用户没用,对于内核研究人员可以方便用此值用一些调试软件察看出丰富的线程信息。“Teb”对于一般用户也没用。“Priority” 线程优先级别。“起始地址”线程执行第一条指令的地址,主要是用来取线程所在模块的。“所在模块”线程所在的模块。
线程的终止。线程的终止也提供了两种方式,一种是常规的NtTerminateThread方式,另一种是高强度的APC方式。
模块相关。目前模块只提供了浏览功能。卸载功能将在下个版本中提供。分别以两种方式来浏览模块,“枚举模块方式1”是通过PEB的方式来枚举进程模块,此方法的优点是枚举出来的模块是按先后加载顺序排列起来的,最后加载的永远在最后,这样也方便察看了哪些模块可疑了。“枚举模块方式2”是在驱动层下用NtQueryVirtualMemory方式枚举的,此方式效果非常好,一般隐
功能下个版本提供。
模块查询。此功能可以在整个系统的所有进程中对关键字的模块进行查询,速度非常快。
文件管理:
文件管理提供了,隐藏文件(API HOOK方式隐藏的文件)的察看,文件强制删除,破坏文件,解锁文件,复制文件(可以复制特殊文件,比如SAM等注册数据库文件)。
“普通删除”,此功能和“DeleteFile”一样。
“强制删除”,此功能提供了高强度文件的删除功能,可以删除正在运行中的进程对应文件,和一些使用中的文件。
“解锁文件”,此功能可以解除一些恶意或者病毒程序为了达到不让别人删除其文件,把自身文件以独占方式打开,这样其他进程就无法访问其文件,此项功能正好可以解除此类方式锁定的文件。
“破坏文件”,此功能可以把一些正常的文件进程破坏,其实应该说是重新填0,此功能清慎重使用,因为此功能可以把一个正在运行中的程序文件破坏。
“复制到...”,此功能可以把一个文件或者多个文件复制到一个新目录下。此功能可以过一些进行API进行文件防复制的程序,还可以复制SAM等注册表文件。
“解锁并强制删除”,此功能结合了解锁和强制删除功能为一体,这样就算程序正在运行并且锁定了也一样可以把其删除。
SSDT服务表管理:
SSDT服务表管理提供了对SSDT服务表的信息察看和修改,可以察看到什么驱动文件对某些函数进行了挂接,并可以进行恢复。程序提供了两种浏览方式:“显示所有服务函数”此功能会把服务表所有函数信息显示出来,包括已经被挂接了的,如果你觉得此方式不能直观的察看被挂接的函数可以使用“显示HOOK服务函数”,此功能会把所有已经被挂接的函数列出来。“恢复选定服务函数”,此功能可以轻松恢复你选择的函数。
SHADOW服务表管理:
SHADOW服务表管理提供了对SHADOW服务表的信息察看和修改,可以察看到什么驱动文件对某些函数进行了挂接,并可以进行恢复。程序提供了两种浏览方式:“显示所有服务函数”此功能会把服务表所有函数信息显示出来,包括已经被挂接了的,如果你觉得此方式不能直观的察看被挂接的函数可以使用“显示HOOK服务函数”,此功能会把所有已经被挂接的函数列出来。“恢复选定服务函数”,此功能可以轻松恢复你选择的函数。
内核模块察看:
可以察看所有内核模块。
Inline Hook扫描:
此版本只针对Ntosxxxx/ntkxxxx进程扫描,下个版本再添加其他文件的扫描.此功能可以察看在Ntosxxxx/ntkxxxx上挂接的Inline Hook,并且可以对其恢复。
日志导出:
主要是针对主动防御的日志进行导出备份。
保险箱:
此功能,可以防止一些木马和盗好程序。程序从窗体,和进程内存以及防止远程注入等手段来达到“保险箱”的功能。
使用方法。要使用此功能可以以两种方式加载需要保护的程序。第一种从进程功能里选择“高级操作”再在里面选择“添加保护进程”即可。也可以选择“从文件中添加保护进程”,这种方法更灵活,一但被添加的文件在任何时候任何地方以任何文件名,只要我的程序处于启动状态就可以保护被启动的文件,不受文件路径和文件名等限制只以特征码方式判断。而且只要具备此特征码的程序只要一启动都会被保护起来,比如说我们添加了IE程序那么无论你启动多少个IE都会被保护起来(注意这里最好不要保护EXPLORER进程因为你一但保护其他进程就看不到他的窗体信息了)。一但被保护的的进程的窗体信息将会被保护起来,其他进程无法访问它的窗体信息和窗体句柄。这样可以防止一些盗好程序通过键盘钩子特征定位到程序来进行键盘拦截纪录。内存信息也无法被其他进程访问,也无法注入其进程。如果你的程序有什么附加程序需要访问它的内存和窗体信息你当程序弹出询问框的时候你可以“允许”,“信任一次”,“永远信任”等操作。“允许”只是通过当次触发,“信任一次”可以在我的程序退出前都通过,“永远信任”将会把信任的程序也加为保护进程中并且可以永远访问受保护的进程。
主动防御:
此功能主要是针对保险箱设计的。主要是针对窗体信息的拦截,内存读写,内核空间读写,以及常见后门程序的拦截(比如灰鸽子程序).
注意:
修正版修改如下:
修正了在浏览一些网页时蓝屏情况。
修改一些小BUG,增加了稳定。
2008-09-08更新如下(修正二版):
更新不能重命名的BUG,通过更新了文件管理中的一些小BUG,更新了注册表编辑器的一个小BUG。
2008-10-07更新如下(修正三版):
更新了有时在非法关机后再启动软件蓝屏情况
2008-10-11更新如下(修正四版):
更新了有时无法弹出主动防御选择框导致目标程序锁死的情况
2008-11-02更新如下(修正五版):
修正了一些驱动里不稳定的情况,修正了不能强制删除文件夹的情况,增加了直接破坏进程文件功能
2008-11-08更新如下(修正六版):
由于界面程序不更新原因,现在把主动防御和常见ARK功能分离。而主动防御默认情况下是不开启的(开启后就会使用到mt32.dll造成程序非常不稳定).如果想开启主动防御(保险箱)功能可以在“打开”菜单里选择即可。
修改了在察看“进程句柄”的时候会蓝屏的情况(在2K下还是会出现,一般是在察看系统进程,XP后已经解决),修正了使用“枚举模块方式2”造成的蓝屏情况,修改了和某些安全软件或者冲突造成的蓝屏无法启动系统的情况。修正了“ScanLib”在恢复一些钩子时造成蓝屏情况(主要是把两条连在一起的指令看成两条单独指令分别恢复了比如0x68 xxxxxxxxx c3).调整了驱动保护模块部分功能和稳定性。增加了“FSD”察看恢复功能等更新。
如果和狙剑一起使用的话,在退出程序时先退出狙剑再退出我的程序不然会有冲突,狙剑版本是 0429
所以修正六版在不开启主动防御的时候,还是非常稳定的.
2008-11-09更新如下(修正七版):
修正了程序和金山清理专家的冲突,解决了在某些机器上程序退出时蓝屏的情况
2008-11-11更新如下(修正八版):
修正了在使用“特征码终止”无效的情况,修正了使用“特征强制终止”没有验证特征的情况。
增加日志提醒功能,当在开启主动防御或者有日值的情况时程序标题会自动改成 "标题+<有日值>"字样,增加"超级强杀","特征超级强杀","超级强杀线程"等功能,超级强杀系列无视任何API钩子。
2008-11-12 更新如下(修正九版):
修正了reginfo.sys,已经调整了些快捷菜单显示方式.
增加模块“卸载”功能(被遗忘了不好意思哦),“超级卸载”功能(建议使用此方式卸载,因为此方式卸载不会触发其他安全软件的提示,比较强悍哦),“强制卸载”功能(在使用此功能的时候需要注意,一担卸载模块还显示在,那是因为还没有处理链表,所以大家不要再次卸载不然程序会被挂住),增加内存DUMP功能。可以DUMP内存中的PE文件,如果内存中有多个PE文件则都可以一一DUMP出来。增加模块输入表浏览功能,增加函数直接返回功能(此功能可以使一个API函数直接返回,也就是实效)
2008-11-13 更新如下(修正九版<特别版>):
主要是对全局能加强强度的地方,都把强度稍微提高。
调整了一些窗体的显示方式,支持最大化和拖放。增强"终止进程"的强度,目前强度可以直接使用此方式结束冰刃。增强模块信息,增加了一些无用模块(可能废弃了或者是没完全卸载)的显示。增加一种枚举进程模块方法。此方式比较安全除非是对内核相关结构进行了修改不然都能枚举出来,而且此方式枚举不会被安全软件拦截。修正了在文件功能里无法显示USB设备驱动器的情况。修正了在模块窗体和模块查找窗体当没有模块显示时按鼠标右键出错的情况.修正FSD功能菜单显示错误的问题,修正Shadow功能菜单显示错误问题
增加“文件关联”察看/修复功能,增加“浏览器加载项”察看/删除功能,增加“映像劫持”浏览编辑功能。
2008-11-18更新如下:
修正了在360最新版情况下无法启动程序的情况(将就它了^_^),修正在了在试图结束kv2009时蓝屏情况。
修正程序启动方式,程序默认退出不 卸载驱动(但是所有钩子已经卸载了,大家放心)。这样只是为了程序稳定而设计,如果在遇到有新的版本程序驱动需要更新的情况下,可以先运行原来版本选择“打开”菜单里的“退出并卸载驱动”然后把驱动程序替换即可实现升级
2008-11-19更新如下:
修正了在删除带有安全权限文件时程序会崩溃的情况,修正了程序在开启主动防御而不手动关闭的情况下退出蓝屏的情况
修正程序在复制一些中文文件名失败的情况。
2009-01-09更新如下:
更改了枚举文件的方式,更加安全快速,也更正了以前版本在获取system32目录下文件时有些图标无法显示的情况(文件比较多时).同时并修正了无法删除一些使用..\的文件夹保护的文件和目录.
2009-02-14更新如下:
全面更新了代码扫描算法,速度更快更精确并修正了在某些AMD双核机器上使用"Scan"功能蓝屏的情况,修正了在退出程序后又马上启动程序蓝屏的情况。修正了内部一些小BUG,增加了ring3钩子的Inline Hook方 式,EAT,IAT扫描以及内核EAT扫描其他相关扫描将会在天琊正式版中添加,到时界面换成VC做到时更可以把主动防御完善了。可以随意指定进程和模块进行扫描并且对已经被修改(Hook)的函数进行还原。
2009-02-21更新如下:
全面增强了钩子扫描的功能,从用户层到驱动层现在可以随意方便的扫描对应层次的API HOOK。比如可以从进程模块里扫描模块对应的应用层EAT,IAT,InlineHook,也可以从内核模块扫描驱动层的EAT,IAT,InlineHook,也可以从SSDT,SHADOW,FSD等地方进行扫描,也可以自定义地址开始扫描等等。还增加了窗体相关操作可以方便察看和操作一些受安全软件保护的窗体。
2009-02-28更新如下:
调整了进程功能快快捷菜单的显示,去掉以前多种显示方式,可以从天琊里的“文件”菜单里找到“天琊设置”打开天琊设置界面即可更换以前多种进程列表显示方式。模块线程也类似。并且增加了“禁止创建进程”,“禁止创建线程”,“禁止创建文件”三个小功能(正式版后会全面支持规则编写)。增强了保险箱功能,使保险箱更加完美。之前版本不能防止AppInit_Dlls注入是非常危险的,现在天琊已经成功解决此问题。大家可以放心的使用天琊的“保险箱”功能。
目前还存在发现的BUG:
由于mt32.dll导致的有些热键失效,目前发现win+e键。
由于mt32.dll导致的不能在我的程序上切换输入法。
由于mt32.dll导致的在启动时可能导致运行出错。
修正六版后在没开启主动防御时不存在。
360和NOD32报毒 Ch000001.sys文件是天琊的驱动文件 杀毒软件属于误报
大家可以放心使用