CSK.Blog--个人原创Weblog

2007的第一个作品,一个crack

昨天2006.12.31得知学校comic采取了条措施:一定要安装SJTU自己的windows自动更新服务才能访问网站内容。

我第一反应就是:流氓软件...

其实不是这样,SJTU的自动更新服务只不过是一个配置脚本,不过对于win9x和linux用户那样做也太过分了些..

所以一时兴致,写了这个伪装更新服务去完成所谓的“激活”的操作:

虽然comic的做法我很理解,但未必有些霸道,希望这个程序能给各位更多选择。

由于最近要为demo sence开发作准备,所以今后的crack程序都带有mod音乐

这次的是:floppi&zalza的snowballs_with_attitud

唉,希望今后老弟来提供给我音乐...

程序和代码:


http://www.csksoft.net/data/legacyftp/Products/Crack/ComicCracker.rar


http://www.csksoft.net/data/legacyftp/Products/Crack/comic_cheater_src.rar

[开源]抽象语法树图形化显示程序

最近在做编译大作业需要将语法翻译好的抽象语法树(Abstract Syntax Tree)显示出来,教材使用了ANDREW W. APPEL的Modern Compiler Implementation in Java一书。

看过的人都知道其中要求将他定义的一种叫做tiger的语言先翻译成一棵抽象书,我们的大作业就到此为止,至于将这颗树显示可以采用作者提供的print.java以文本展现出来,也就是这样:

LetExp(
DecList(
TypeDec(myint,
NameTy(int),TypeDec(arrtype,
ArrayTy(myint))),
DecList(
VarDec(arr1,
arrtype,
ArrayExp(arrtype,
IntExp(10),
IntExp(0)),
true),
DecList())),
SeqExp(
ExpList(
varExp(
SimpleVar(arr1)))))finished

不过这样难免和我们直观的语法树理解差太远了,于是我就写了个程序,效果是这样的:

自认为还不赖,程序和原有的print.java类似,直接接受抽象树根节点,你再指定给他保存到的图片文件名和保存的格式就可以了。

我将源代码公布在下面,如果大家需要也可以用来玩玩^_^

下载地址:

公网:http://www.csksoft.net/data/legacyftp/Products/code_and_lib/PrettyTree_BY_CSK.rar

教育网:ftp://great_csk:public@public.sjtu.edu.cn/public-files/PrettyTree_BY_CSK.rar

说明:

作者保留源代码的著作权利,可以在不修改删除作者信息的前提下任意使用和分发。作者不对由于本代码产生的问题负责

代码采用SWT库开发,请将swt.jar以及相关的系统相关库文件复制到程序的根目录

使用例子:

package XTiger.parsersys;
import XTiger.parsersys.Absyn.Print;
import net.csksoft.PrettyTree.*;
public class Main {

public static void main(String argv[]) {
String filename = argv[0];
Parse myXParse = new Parse(filename);
if (myXParse.absyn !=null)
{
System.out.println("parse succeed");
System.out.println("Dump Trees");
System.out.println("Please Wait...it takes time :-)");
TreeMaker myTree=new TreeMaker();
myTree.renderToFile(myXParse.absyn,"dumpedTree.bmp",0);
System.out.println("finished");
myTree.dispose();
}
}

}

由于采用了SWT库,所以必须显式调用TreeMaker.dispose释放资源,否则将可能导致系统崩溃。

函数:renderToFile(absyn.Exp e,String destFile,int Type);

Type = 0/bmp 1/jpg 2/png

已知问题:在编译较大程序,比如queen.tig时候,由于产生的语法树图片过大会产生heap溢出异常。

[分享]Introductory Econometrics - A Modern Approach

Introductory Econometrics - A Modern Approach 作者:Wooldridge 2004版 很明显一本经济学书,为什么会发布这个东西? 主要是为gf找的,同时发现emule的版本没有目录,就收工加上了目录信息,要知道800多页的书,我是一页页翻过去的...类似了,弄了2个小时... 好了,希望没白费力气,需要的就下: ftp://FTP_visitor:visitor@ftp.csksoft.net/download/e_book/Introductory.Econometrics-A.Modern.Approach_Wooldridge(2004).rar 同时推荐2本不错的书:《皇帝新脑》和《惊人的假说》 主要涉及人工智能、意识论、生物神经学研究,甚至是神学的研究...pdf google下就能找到。因为今后自己就要朝这方面发展,所以比较在意。 对于网站第二版,由于上周电脑送修,现在已经错过任务时间片(我似乎是OS了..)。所以很抱歉的要等寒假。不过发布已是必然。接下来主要是美化和配乐,这2个我喜欢~

[分享]Undocumented Windows 2000 Secrets PDF拼合版本

书名:UNDOCUMENTED WINDOWS 2000 SECRETS: PROGRAMMERS COOKBOOK

作者:SVEN B. SCHREIBER

发行商: Addison-Wesley

 

这本书相信涉及windows内核开发的朋友不会陌生了,与他类似的还有UNDOCUMENTED WINDOWS NT等

这是一本涉及windows2000内核调试器、本地API(native API)、内核驱动、win2k对象管理(Windows 2000 Object Management)等方面的书籍,其价值性可以从UNDOCUMENTED 字眼中表现出来。

对于开发系统级程序、安全软件、木马病毒(但愿你不是这个目的),她是一本不可多得的好书。

之所以在此共享,基于下面2个原因:

1.在本书网站:http://www.rawol.com/?topic=41 

作者的一段话:

Well - the solution is here! I am indebted to the kind people at Addison-Wesley for returning the copyright of Undocumented Windows 2000 Secrets back to me. I'll use this right to publish the entire book free of charge in PDF format on this web site. Feel free to "spread the word" - please distribute the address of this page to anyone interested in my work!

2.作者发布的pdf版本是一章为单位分割的,虽然在学校0day上的电子书大多是这样,但我还是不习惯,所以手工拼合了下。

当然,突然放出这个东西绝对不是没有道理...毕竟reformCore已经进展到一定程度了,同时有一个计划...

 

好了,希望各位能喜欢^_^

 

把CrazyBall的所有代码开源~

按照原先的计划,是因该去开源了。


已经在emsky上发布,这里也象征性的贴上来吧~

如果有可能,暑假里会把CrazyGT完成

CrazyBall.这个令我在高三差点吧高考给Crazy掉的东西

主要包括了我当时制作的所有版本的Crazyball的代码,以及原始的图片资源文件,和windows端的地图编辑器的VC工程代码。

其中还包括我编写的VC程序的通用界面库Cl的代码。


地址:ftp://FTP_visitor:visitor@ftp.csksoft.net/Public/Products/OtherOS/WQX_LAVA/crazyball_final_src_csk.rar

Crazyball

呵呵,不知今后会不会出现CrazyBall xxx修改版这种东西呢~

总之,wqx祝你一路走好

--------------------------------------

作者保留原代码和程序的版权,请在引用时注明原作者信息

我破解的windows登录界面程序

所谓登录界面就是下面这个东西,他对应的程序是logonui2.exe

不过注意看上面画面中似乎多了样本来不应该多出的东西:照理进入该画面就表示尚无用户登录或被注销了。那么应用程序就不可能出现在这个画面上……

呵呵,这就是这个破解的版本,你运行破解的logonui2.exe,他会绕过用户注销的过程直接显示这个画面。(原版logonui.exe应该直接运行就退出了)

其实破解这个也没有什么技术含量,本来就是用VC编写的程序,反汇编时一看就知道对应的代码了,改了2处jnz到nop就ok。

那么这有什么用呢?呵呵,骗人的东西,还能研究其中窗体结构布局,如果你编写个什么盗取密码的东西那我就管不了了……

同时现在很多人都想修改登录的画面,其实就是修改这个程序的资源文件。但是一般都要注销了去看效果,现在就爽了……

破解的文件:

http://www.csksoft.net/data/legacyftp/Products/Crack/logonui2.rar

 

我写的TCP/IP教程

这是明天(2006.3.14)要在协会中做的讲座的PPT。目的很明确,因为这周日他们网管部要笔试,所以协会就趁这个时机办次辅导讲座。加上自己好久没亲自做讲座了~

这个讲座的题目叫做“互联网的故事”(好土的名字~~哎,我的语文水平就这么些),其实说白了就是此网络基础知识讲座。

加上以前和网络部有过一段不太好的经历,所以基本上我本人是和他们对着干的。

TCP/IP和网络方面的知识,比如那个人人看了都会头痛的OSI模型……所以我也没期望明天的讲座会如何如何,现在最担心的是没人去,要知道上次作亲手灭毒宝典时,协会宣传失误,弄得我差点气死……

这个讲座我认为最大的优势是直观性,因为每个概念点我都会有具体的演示和实践:用IRIS修探器抓包给他们看。同时会涉及一些黑客技术。

同时自我认为还是把其中相关知识的来龙去脉说清楚了,当然也有为了应试而专门整理的知识点。

里面的内容虽然算不上原创,但有些解释和归类和图片应该还是我自己独创出来的。

不过里面估计还是会犯一些错误的,所以请各位多多包涵,有问题直接留言提出,呵呵

下载地址:http://www.csksoft.net/data/legacyftp/Article/Presentation/internets_story.rar

注:我保留本文件的版权,请不要擅自传播。否则以后就不会公开提供这类信息了。

 

ajax缺陷的解决和自动xml分析器

可恶……你现在看到的文章之前我已经写过几乎一样的一篇,但随着IE突然崩溃,我也只好重新打了一篇,也就是你看到的……

最近要同时开发PRP的“强人隧道”网站、法学院网站的第2期开发,同时要管理计协,当然还有学业。所以基本上时间要精确到秒来用了。不过周末还是能和gf稍微过一点悠闲的生活,哪怕那只有短暂的2小时。

那么这个blog似乎又要死下去了,不过我承诺过每周至少一篇文章,所以就把最近开发中对ajax的体会和一些作品发布出来吧。

首先允许我评论下这个目前正被捧得大红大紫的AJAX技术。如果你不知道他是什么就先去google以下,关于他的教程和介绍到处都是。

ajax并不是最近才有的,更不是有些人所说的在asp.net中附带而来的。她很早就被MS采用,大家看看msdn网站的那个树形目录,如果你展开一个分支,它就会“非同步的”去更新这个分支的内容。我想似乎也只有js+xml才能做到吧。而且在我上高一时,第一次上msdn就有这个功能了,我现在读大二,那么就算算这项技术出现了多少年吧……

那么为什么他现在如此的红火呢?我想其中一个原因是gmail,他的web管理界面就是彻底的ajax应用。google似乎正企图破坏微软帝国的神话,成为新一代霸主,他对新技术的使用自然是空前的。第二个原因就是企图用这个技术来达到Flash网站同样的效果。也就是不需要刷新页面来获取新内容。Flash中可以采用loadMovie方法来加载新的对象,同时也支持xml文报(我的ReformPost就是很好的例子)。我想比起asp.net中的采用,更多的可能应该是需要模拟出和flash具有同样效果的页面罢了。

不过ajax似乎并没有传说的那么十全十美。

首先

它需要浏览器支持,并不是所有平台和所有浏览器都能显示ajax页面,而且一但不支持,整个页面可能都无法显示。

第二个缺陷

由于它不需要刷新页面而获得新的数据,很多人认为这有违于利用URL来唯一定位资源的规范。因为同一个url指向的页面可以用ajax显示截然不同的数据。那么你如果需要把你正在浏览的信息给别人看的话,复制url给他显然就是没有用的。

不过我并不这样认为,首先这并不是ajax才有的问题,使用flash的页面也是如此。而且所谓“有违于利用URL来唯一定位资源的规范”是错误的。我见过很多聪明的flash网站已经做到了解决方法,下面我稍微介绍一下:

如果你原先采用静态页面,那么很自然,每篇文章都是和url地址挂钩的:

比如本文保存在:http://www.csksoft.net/blog/post/XML_Parser_and_comments.html

那么用url地址就能来访问本文。

现在我把文章保存在数据库,采用asp页面动态的显示本文,那么利用QueryString还是能用url地址唯一的去定义本文:

http://www.csksoft.net/blog/cmd.asp?act=tb&id=84

那么在ajax和flash网站的情况下,我们也可以采用类似于QueryString的做法:把上面的?改为#即可

众所周知,url字符串中#字符之后的内容都会在发送http请求时被略去,所以网页的书签就是在页面url后面加上一个以#为前缀的参数,这样一方面不影响服务器获取正确的参数,另一方面可以在客户端利用JS来获取#之后的参数。

那么,在今后的flash网站中,或者今后本blog采用了ajax,这篇文章也能采用如下的url地址获得了:

http://www.csksoft.net/blog/index.asp#act=tb&id=84

不过这个页面目前是不起作用的。

下面提供一个能从像上面url地址格式中提取像指定参数数据的函数,它本是action代码,相信稍作修改就能用于js。

使用和转载时请保留我的作者信息。

//from ReformCore::mainsite

//Copyrights 2005-2006 CSK,csk@citiz.net

function GetQueryString(strURL:String, strStringName:String):String {
if (strURL == undefined || strURL == ) {
strURL = _root._url;
}
var strQueryStub:String;
strQueryStub = strURL.slice(strURL.lastIndexOf(#)+1);
if (strStringName == undefined || strStringName == ) {
return strQueryStub;
}
var nSubPosA:Number, nSubPosB:Number;
strQueryStub = &+strQueryStub;
nSubPosA = strQueryStub.lastIndexOf(&+strStringName+=);
if (nSubPosA == -1) {
return ;
}
nSubPosA += length(&+strStringName+=);
nSubPosB = strQueryStub.indexOf(&, nSubPosA);
if (nSubPosB == -1) {
nSubPosB = strQueryStub.length;
}
return unescape(strQueryStub.slice(nSubPosA, nSubPosB));
};

 

如果要获取www.csksoft.net/mypage#id=3 中的id的内容,只要这样写:

 

var id=GetQueryString(www.csksoft.net/mypage#id=3,id);

用了上述的方法,这个缺陷自然也就不复存在了

第三个缺陷

是由于很多情况下需要对xml文档进行翻译,因而即使像获取服务器时间这样简单的功能,也要专门写xml分析代码来从服务器传回的xml中得到需要的时间信息。

如果flash或者ajax页面需要采用高级的xml文报实现与服务器进行更强大的RPC远程交互(类似于SOAP),那么就需要编写常常的xml分析代码。

对于ReformPost,如果需要获得主服务器的时间,客户端的发送的文报是这样的:

<ReformCorePost>
<Type Ver=1.0>generaPost</Type>
<PosterInfo type=desktop;fla>FlashMainSite</PosterInfo>
<Core_RPC>
<Name>GetServerTime</Name>
<args />
</Core_RPC>
</ReformCorePost>

ReformCore传回的xml文报是这样的:

<ReformCorePost>
<Type Ver=1.0>CmdResponse</Type>
<PosterInfo type=WebCoreServer />
<RPC_result>
<DTYPE>date;servertime</DTYPE>
<CurrentTime>2006-3-5 15:20:09</CurrentTime>
</RPC_result>
</ReformCorePost>

如果要实现上面的xml交互,首先客户端必须编写生成指定格式xml的代码,而对于每种请求xml的不同,也需要不同的代码,同时分析服务器返回的xml也需要相当多的代码来完成。

这样无疑是加重了ajax开发的复杂性和延长了开发周期。

我在开发PRP项目时写了一套函数,它可以做到下面的功能:

1.如果我要生成如下的xml文档:

<MyXML>
<MyItem>
<Item>a</Item>
</MyItem>
</MyXML>

里用接下来提供的函数,开发者只需要写如下代码:

var objXML,objArglist;
objArglist = new Object();
objArglist.MyItem = new Object();
objArglist.MyItem.Item = a;
objXML=ConstructXmlDoc(MyXML,objArguList);

这样,上述xml已经自动产生并保存在objXML中了。这样就免去了繁琐的CreateElements、appendChild之类的操作函数了。

2.如果服务器传回了下面的xml文档:

<ReformCorePost>
<Type Ver=1.0>CmdResponse</Type>
<PosterInfo type=WebCoreServer />
<RPC_result>
<DTYPE>date;servertime</DTYPE>
<CurrentTime>2006-3-5 15:20:09</CurrentTime>
</RPC_result>
</ReformCorePost>
假设采用objResponseXML保存这个文报,那么采用下面代码:
var objParsedXML;
objParsedXML = ParseXml(objResponseXML);
上述XML已经自动转化为等价的object类型,如果我要读取xml中CurrentTime字段的数据,只需用代码:
var strCurrentTime = objParsedXML.RPC_result[0].CurrentTime[0].value;
是不是简单多了?
这两个函数就是将Object对象中的成员数据和xml文档进行了互换,由于篇幅有限,其中的函数我就作为附件给出下载地址。具体的使用可以直接来询问我。对于asp版本暂时不打算公开
转载和修改时请保留原作者信息。
上述函数库js下载地址:
http://www.csksoft.net/data/legacyftp/Products/code_and_lib/reformcore_xmlparser.rar
好了,终于写完了

如何自动让你的blog和msn space同步内容

好东西自然不敢独享,于是我把ReformCore的这部分代码专门抽出来写了个插件,如果你有自己的空间,并且使用Z-blog([url]http://www.rainbowsoft.org/zblog/[/url]),那你直接就可以用这个插件并且按照此文的设置便可实现将你在blog上的文章自动发往MSN space。 不过我希望你在传播和修改这些文件时保留里面的原始作者信息,不但是我的,也最好能保留Z-blog的作者信息。 首先简要介绍下原理:其实我都不好意思说,因为比较没“技术含量”呵呵。 这以前能轻松实现要多亏MSN space支持通过发送给他email内容作为新发布的文章。如果你的网站空间支持通过编写脚本来发送邮件,那么只要修改下你使用的blog的代码,让他在你发表新文章以后自动发一份带有文章内容和标题的email到msn space的专门地址后便能做到自动更新MSN space了。 所以这里很遗憾的是如果你有自己的空间,但Blog仍旧是其他运营商提供的话,那仍旧没有办法实现的。 下面来看看MSN space这头如何设置: 1.进入space的管理页面,选择[设置]->[电子邮件发布]: 2.就像上图看到的那样,先把“打开电子邮件发布”钩上 3.填入你用来发送日志的email地址。这里要注意,如果你的空间附带了企业邮局,建议用它,外面服务上提供的email地址最好不要作为发送email。当然你也可以留一个自己常用的邮箱 4.填写机密字,其实只要胡乱填写一通便可,他只是简单的加载生成的用以接受你日志的email地址用户名后面罢了 5.选择"立即发布网络日志项"。这个不用解释了 6.记下那个"xxx.xxx@spaces.msn.com"的邮件地址,今后日志就是发到这里面去的,最好不要将他公布。 ok,MSN space的必要设置已经结束了,如果你在用Z-blog。那么只要把我写的插件覆盖到blog目录下,并且修改下那个"helper_mail_packer.asp"里面关于你email信息的配置就能使用了。在编写文章时,你会发现编辑页面多出了“将此文发送至MSN space”。把它钩上就以为这系统会把这篇文章发送到space上。 对于其他blog系统的朋友我就稍微说明一些注意点了。首先我推荐用CDO组件而不是Jmail。其中的原因是我原先使用Jmail一旦文章正文由中文字符,msn上就会显示乱码。我怀疑是编码不一致,但jmail把发信编码改为utf-8后发出的信件也成乱码了。但可能是我水平不够,所以你也可以尝试一下。 对于CDO组件唯一缺点就是有些人反映支持他的空间服务商不多,如果你的空间不支持那就只能用jmail了,至少发过去的标题是正常的。CDO的使用外面有很多资料,我就不多说了,同时这里提供的Z-blog的插件中发信时作为单独的函数提供的,所以也可以直接用里面的代码。 至于具体如何修改你的blog就看各位本事了,也可以问问这个blog的开发者,如果是自己做的那就更不用说了吧。 好了,下面是Z-blog的msn space同步更新插件下载地址: [url]ftp://FTP_visitor:visitor@ftp.csksoft.net/Public/Products/Misc/pug_msnspace_updater_by_csk.rar[/url]

连载:《windows亲手灭毒宝典》之二

前沿:作为对曾经我提过的要写些教程的兑现,这里先把我在交大计算机协会作的讲座《windows亲手灭毒宝典》放上来。当然其中的内容比我实际讲的要多,且要难。 由于第一次写教程,加上自己水平有限,文中出现的问题希望各位及时指正,谢谢! 文章为CSK原创,转载请保留原作者和引用作者的版权信息。 CSK版权所有 --------------------------------------------------------------------------------- 呵呵,上次第一篇还是很久前写的了~~ 第一回的地址:[url]http://www.csksoft.net/blog/post/7.html[/url] 第二回:进入正题 windows下亲手灭毒之完全解决方案 本文不需要你具有诸如程序开发等方面的专业技能,但如果有一定的经验可以帮助你更好的理解 1.感性认识的建立-病毒的文件形式和各自特征 所谓病毒,一般都是指可以执行的数据体,说白了就是那些exe,dll等程序文件,当然情况也许更复杂,程序这个概念是脱离与具体的文件形式的,他们只是一段数据而以,应该所谓的病毒可能包括与诸如txt文件中,但很少见(.txt就算包含病毒也是无法自我加载的)。 目前在win32环境下,常见的病毒是以exe;com;dll;scr等扩展名存在的。同时也能见到cmd;bat;vbs这类脚本性病毒(你可以了解些脚本script的知识)。 一般情况下,我们把.exe的文件叫做应用程序,这样说的原因一方面是因为他是可执行的,也就是无需借助其他程序而自我启动(严格的说都无法做到自我启动,这里就不涉及了)。对于病毒体,为了能在复制后马上感染侵占系统,它需要这方面的特征。 所以在下面的文章中,你会发现给出的病毒例子都是.exe文件 dll文件叫做“动态链接库”(dynamic link library),它的名字含义这里不再深究,不过你需要明白他是无法自我启动,也就是不可直接执行的。dll文件中同样也包含程序的代码,但他们是需要被其他可执行程序,如exe加载以后才能执行其中的代码部分的。
图:作为系统核心之一的user32.dll,正因为是dll文件,它能结合到每个程序进程,提供必要的系统支持
所以我们就知道,以dll格式存在的病毒无法直接运行,他们需要另一个如exe的程序事先加载后才能工作(有3种可供参考的方式,一是另一个exe程序也是病毒体,它直接加载dll文件作为自身一部分,第二种方式采用系统自带的rundll32.exe加载,第三种是比较讨厌的情况,dll文件开始又另一个exe文件主动加载后,利用被称为钩子hook技术将dll注入到其他的程序进程中。这用的病毒是最难清除的)。
图:在任务管理器中看到的rundll32.exe的进程实际起作用是加载了的dll文件
如果病毒主体以dll文件存在以后,他必须指明加载它的程序,这可能给其传播造成一定障碍,但有带来了很多优势。比如: 1.由于windows自带的进程管理器(WindowNT)只能以主进程文件为单位察看进程,可以认为是只能看到正在运行的exe文件,而一般看不到正在执行的dll文件(因为dll是exe加载的,它映射到了exe为进程的地址空间了)。所以一般在没有第3放工具的情况下,是无法通过任务管理器找到正在运行的dll文件病毒的。 2.无法直接将正在运行的dll文件病毒关闭,这样说是因为dll文件都映射到了加载它的exe文件中了,利用进程管理器只能将它属于的进程程序一起关闭。比如word因中毒而加载了virus.dll病毒的文件体,那么想从内存中清除病毒只能把word也关闭了 3.利用上面的特点,可以做到病毒体永远驻留内存而无法清除。其实方法很简单,利用钩子技术,将dll注入到系统所有的进程中,同时这些dll监控着每个进程是否被自己注入,如果没有则重新注入。这样除非关闭所有程序,否则永远无法关闭运行中的病毒。
图:采用PEid自带的任务察看器,可以发现实际上所有进程都加载了其他的dll文件。而且无法把其中莫一个dll关闭
当然还有更极端的情况,那就是利用驱动程序来编写病毒(几乎没有这种情况,所以你可以跳过)。 首先这里说一下x86保护模式的事情。你应该知道目前你正在运行windows的CPU工作在成为32位保护模式的环境下。你不用被这个神秘的名词吓倒,他其实就是一种等级管理机制:程序在运行时有ring0和ring3的2种权限,ring0程序拥有很高的权利,它能操作计算机所有的硬件设备,而ring3程序则十分可怜,他只能乖乖受ring0程序管理,同时基本上无法直接对硬件进行操作,而必须通过ring0的程序中转。 这就是windows中各类程序的现状:操作系统的内核、一些服务程序、驱动程序都是ring0级别的,他们能对你的电脑做任何能做的事情,而一般意义上的程序,如exe文件的程序都是ring3的。 这样做一方面是为了实现多任务环境,同时更重要的是能使系统运行的非常稳定:ring3程序无法直接控制硬件,必须通过ring0程序,这样如果有个设计有缺陷或者不怀好意的程序企图进行破坏性操作时,他就能被ring0程序截获并强行中止。 所以可以知道,如果病毒写成了一个驱动程序(ring0级别),那是很危险的,最好的例子就是CIH! 这类病毒的名字往往以wdm和drv为主(后者是win9x的标准,在最新的windows内核中以被淘汰)。不果他们和dll文件一样,无法自我加载。 上面以程序文件的角度分析了几类病毒格式的工作方式,当然大家不用被提到的极端例子吓怕了。下回将告诉你这些病毒是如何感染并永久的在系统中存活下去的 CSK版权所有,演讲ppt在ftp.csksoft.net中下载。
分页:[«][1]2[3][»]

日历

<< 2015-6 >>

Sun

Mon

Tue

Wed

Thu

Fri

Sat

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

Copyright Shikai Chen 2000-2012. Powered By Z-Blog(CSK Modified)