网站首页 | 网页制作 | 网络编程 | 图形图象 | 冲浪宝典 | 操作系统 | 软件教学 | 网络安全 | 认证考试 | 下载中心 | 游戏下载
| 操作系统首页|Windowns2003|Windowns2000|WindownsXP|Linux|FreeBSD|Unix|DOS|Solaris|SCO_Unix|HP-Unix|注册表|经验技巧 |
您现在的位置: 超人气学院 >> 操作系统 >> 注册表 >> 文章正文 用户登录 新用户注册
注册表终极操作—锁定注册表         
注册表终极操作—锁定注册表
作者:未知 文章来源:mx68.com收集 点击数: 更新时间:2006-1-24 14:31:31

  你有没有遇到注册表被锁定,无法打开注册表来手工修复呢?很多人都为这个头疼吧,相信你被锁定一次就知道他的操作原理了:

  修改[HKEY_CURRENT_USER\Software\
Microsoft\Windows\Current
Version\Policies\System]下的DisableRegistryTools值为1

  解锁的方法也有几种,比如程序用API函数调用注册表直接删除,做一个REG文件直接导入,写一个脚本…………

  今天我就教大家写个程序来实现另类锁定,是不是很好奇了?跟我来。

  实验环境:windows2000
  实验目的:锁定注册表(本方法利用了Cracker的思路来实现,直接让程序修改程序指令,使调用注册表程序禁止。)
  实现方法:C程序

  首先我们要按照Cracker的思路反汇编WINNT下的regedit.exe和regedt32.exe找到跳转指令,怎么得到这些信息不是我们今天的目的,这里我就不详细介绍了,以下是我反汇编找到的跳转地址:
  1.regedit.exe
偏移地址:0x69CA 将指令:0x74 0x1A 修改成:0x90 0x90

  2.regedt32.exe
偏移地址:0x10bf2 将指令:0x74 0x52 修改成:0x90 0x90

  现在我们用程序把这2个偏移地址的指令给修改成0x90 0x90 ( 0x90代表nop,就是让程序什么也不做,执行下一条指令)让我们看看程序是如何实现的吧。

#include
#include
bool scanreg(const char *file,long offset, int length,char *the); /*函数说明*/

main()
{
char the[]={ 0x90,0x90 };
scanreg("C:\\WINNT\\regedit.exe",0x69CA,0x02,the); /*调用函数修改winnt下的regedit.exe 其中的0x02是修改长度*/
scanreg("C:\\WINNT\\ServicePackFiles\\i386\\regedit.exe",0x69CA,0x02,the); /*调用函数改变补丁下regedit.exe*/
scanreg("C:\\WINNT\\system32\\regedt32.exe",0x10bf2,0x02,the); /*调用函数修改system32下的regedt32.exe */
scanreg("C:\\WINNT\\ServicePackFiles\\i386\\regedt32.exe",0x10bf2,0x02,the); /*调用函数改变补丁下regedt32.exe*/
}
bool scanreg(const char *file,long offset, int length,char *the)
{
FILE *fp = NULL;
bool result=false;
if((fp=fopen(file,"rb+"))!=NULL) /*打开文件进行读写操作*/
{
fseek(fp,offset,1); /*把指针指向我们定义的偏移地址*/
fwrite(the,length,1,fp); /*修改程序,把指令替换成0x90*/
fclose(fp); /*关闭文件*/
result=true;
}
return(result);
}

  好了,我这里只是一个示范,只适合2000系统,把windows每种系统的注册表调用程序都分析一下,然后在程序开始用API函数GetVersionEx(LPOSVERSIONINFO lpVersionInfo)判断系统,根据判断的系统来调用相应的修改函数。那不是通杀windows了?上面把方法公布出来,以便大家做好防范。

[ 收藏此页到: 天天|和讯|博采|ViVi|狐摘|我摘|天极 ] 文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    专 题 栏 目
    最 新 热 门
     给IE加油,IE修改全攻略[125]
     Windows系统维护必备 [116]
     修改注册表权限加强对[92]
     通过注册表优化ADSL大[89]
     用注册表为操作系统砌[88]
     巧改注册表 实现Windo[82]
     Windows XP中让“控制[75]
     定制新版注册表编辑器[57]
     Windows系统注册表知识[53]
     斩草除根 如何将注册表[44]
    相 关 文 章
    轻轻松松学习win2000注册表
    快速展开注册表编辑器分支
    修改注册表加强Win2000安全
    注册表终极操作——锁定注
    修改Win2k注册表抵抗拒绝服
    修改注册表停用Windows徽标
    用注册表定制Win 2000登录
    Win2000注册表编辑器装个地
    Windows2000注册表的备份与
    Win2000注册表控制台工具
    win2k注册表实用
    巧改注册表让Windows XP实
    Win2000注册表应用六则—注
    2k注册表外壳设置精解
    实现UNIX用户在指定的端口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)