来源:自学PHP网 时间:2015-04-17 18:33 作者: 阅读:次
[导读] 作者: 风泽[E.S.T] 来源:http://evilhsu.neeao.com/你有没有遇到注册表被锁定,无法打开注册表来手工修复呢?HOHO~~很多人都为这个头疼吧,相信你被锁定一次就知道他的操作原理了:修改...
作者: 风泽[E.S.T] 来源:http://evilhsu.neeao.com/ 你有没有遇到注册表被锁定,无法打开注册表来手工修复呢?HOHO~~很多人都为这个头疼吧,相信你被锁定一次就知道他的操作原理了: 修改[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem]下的DisableRegistryTools值为1 今天我就教大家写个程序来实现另类锁定,哈哈~~是不是很好奇了?跟我来。 实验环境:windows2000 首先我们要按照Cracker的思路反汇编WINNT下的regedit.exe和regedt32.exe找到跳转指令,怎么得到这些信息不是我们今天的目的,这里我就不详细介绍了,以下是我反汇编找到的跳转地址: 2.regedt32.exe 现在我们用程序把这2个偏移地址的指令给修改成0x90 0x90 ( 0x90代表nop,就是让程序什么也不做,执行下一条指令)让我们看看程序是如何实现的吧。 #include <stdio.h> main() char the[]={ 0x90,0x90 }; 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*/ } FILE *fp = NULL; 好了,把程序编译一下发给朋友,让他痛苦一下吧。我这里只是一个示范,只适合2000系统,我们可以把windows每种系统的注册表调用程序都分析一下,然后在程序开始用API函数GetVersionEx(LPOSVERSIONINFO lpVersionInfo)判断系统,根据判断的系统来调用相应的修改函数。HOHO~~那不是通杀windows了?
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com