|
| |
精品推荐 |
 |
|
| |
|
|
|
|
Windows黑客编程基础(下)
|
日期:2005年4月24日 作者:清风网络学院 查看:[大字体
中字体 小字体]
|
终于到了《Windows 黑客编程基础》的下集,在这期里我们注重于实践,特别是作者介绍的几个基本技巧,菜鸟们要是学会了,编一个功能简单的黑客程序不是很难的,单单是修改注册表的技巧,就几乎能做到像“万花谷”般恶毒的程序了,好!废话少说,是好是坏,请大家随小编我走一趟就知道了,诸位请-- Windows黑客编程基础(下) 文/劲风 四、黑客编程的几个基本技巧 以下将要谈到的几个基本技巧很重要,虽然对于编程高手来说这是在玩小孩子把戏,但对于一位初学者,掌握以下几个技巧将为你的编程扫清道路,而且很容易编写出有趣的程序,培养你对编程的兴趣。 技巧⒈学会修改注册表。 相信大家都知道当浏览了一些网页恶意代码,IE标题、默认主页等被改得面目全非,这就是通过改动注册表来更改系统设置的例子。Windows中的注册表是个好东东,它是windows系统的灵魂,是许多软件记录数据的地方(当然也包括windows本身)。windows通过它记录大量的数据,然后在下一次启动时再读取相应的数据来设置系统。通过控制注册表就可以控制整个系统,所以很多的黑客程序都在注册表上动手脚(尤其是木马程序和作恶剧程序),学会修改注册表可以实现一些有趣而强大的功能。我们完全可以通过编程来操作注册表,达到与手动更改注册表编辑器产生一样的效果。“超级兔子”中的大部分功能就是通过修改注册表来完成的。操作注册表有专门的API函数,大家可以参考有关资料,下面笔者以C++ Builder为例说明如何在程序中操作注册表: 程序二:编程修改IE标题内容 新建一个工程,在Unit1.h文件中包含Registry单元: #include <Registry.hpp> 然后就可以在.cpp文件操作注册表了,接着来!在窗体的OnCreate()里加入以下代码(你可以在try{}里面加入任何操作注册表的代码): TRegistry* Registry; Registry = new TRegistry();创建一个TRegistry类型的对象Registry,用于修改注册表。 try{ Registry->RootKey = HKEY_CURRENT_USER;//设置主键,这是必不可少的,设置好主键后,就可以操作这个主键下所有的键值了。 if( Registry->OpenKey("Software\\Microsoft\\Internet Explorer\\Main",FALSE))//调用OpenKey()打开括号里所指的键 { Registry->WriteString("Window Title",”台湾是中国的一部分,世界上只有一个中国!”);//调用WriteString()往注册表里写入IE标题 Registry->CloseKey();//关闭该键 } else {//如果打开失败的话 Registry->CreateKey("Software\\Microsoft\\Internet Explorer\\Main");//就调用CreateKey()新建上述键 Registry->WriteString("Window Title","台湾是中国的一部分,世界上只有一个中国!");//再写入IE标题内容 Registry->CloseKey();//最后关闭该键,这个也不能忽视,它跟上面的OpenKey成对使用的 }//End of try __finally {//要是出错,跳到这里处理 Registry->CloseKey();//关闭所要打开的键 delete Registry;//销毁Registry对象,释放资源。 } 编译运行上面的代码就可以将IE的标题改为“台湾是中国的一部分,世界上只有一个中国!”了。笔者写了个小程序,可以测出当前的IE标题和默认主页是什么,并可随意修改他们,还可以禁止别人修改你的默认主页和注册表编辑器,运行界面如图2所示(详细的代码请参考黑防的光盘)。
技巧⒉调用API编程 其实这是最简单的,API是系统在DLL里为我们提供的程序接口,可以直接调用的。只要我们有一本《Windows API大全》之类的书就足够了,下面举个简单的例子: 程序三:调用API函数隐藏Windows的任务栏: HWND WndHandle;//定义句柄类型变量 WndHandle=FindWindow("Shell_TrayWnd",NULL);//调用API函数FindWindow()获得任务栏的句柄 ShowWindow(WndHandle,SW_HIDE);//再调用API函数ShowWindow()隐藏任务栏 大家看到,在上面调用API函数FindWindow()和ShowWindow()的过程中,只要我们知道函数的名字和括号里的参数是什么就行了,至于实现的过程不必理会,也轮不到我们这些菜鸟去理会:)学会调用API,你可以写出功能强大的程序来,这一技巧对于初学者来说是必须掌握的(代码请参考黑防光盘)。 技巧⒊多线程编程技术 通过上一篇的介绍 ,大家都很清楚线程的概念了,它是进程内部的一个执行单元(如一个函数等),上期说了那么多理论,现在该派上用场了。编写多线程应用程序是指使程序在运行时创建多个线程并发地运行于同一个进程中。今年6月份横空出世的“中国黑客”病毒不是采用了全球独创的“三线程技术”吗?虽然笔者没机会分析它的样本代码,但此种病毒的工作效率如此之高是与它的多线程技术分不开的。 使用多线程技术编程有如下优点: ①提高CPU的利用率。由于多线程并发运行,可以使用户在做一件事情的时候还可以做另外一件事。特别是在多个CPU的情况下,更可以充分地利用硬件资源的优势:将一个大任务分成几个小任务,由不同的CPU来合作完成。
上一篇:Windows黑客编程基础(上)
下一篇:Win API函数与断点设置
|
| Windows黑客编程基础(下) 相关文章: |
|
|
|
| Windows黑客编程基础(下) 相关软件: |
|
|
|
|