CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

100送出 利用SQL读取注册表

楼主asd5908()2006-11-10 18:28:14 在 MS-SQL Server / 基础类 提问

 
  我在本地写了一个SQL连接的工具  
   
  请问   我在本地   怎么样利用   SQL可以读取远程的注册表  
   
  我在我程序里   写出一个模拟的注册表    
   
  然后里面的键和值都要执行SQL语句   返回服务器的键值  
   
  xp_regread   需要三个参数      
   
  例如   我想读   HKEY_LOCAL_MACHINE   下面的所有内容  
   
  如何实现呢???  
   
  谢谢大家  
   
  问题点数:100、回复次数:63Top

1 楼asd5908()回复于 2006-11-10 19:02:30 得分 0

晕     大家帮帮忙啊~~~~Top

2 楼laoliu666(鹅鹅鹅,曲项向天歌,白毛浮绿水,红掌拨清波。)回复于 2006-11-10 19:32:10 得分 0

帮顶下,路过Top

3 楼zjcxc(邹建)回复于 2006-11-10 19:57:20 得分 0

直接用sql似乎没有这么强的功能Top

4 楼hhhdyj(萤火虫)回复于 2006-11-10 20:09:52 得分 0

关注  
  Top

5 楼xx_adam(一无所有)回复于 2006-11-10 20:16:29 得分 0

我觉得没有这么强吧?不过sql   中可以调用dos命令的Top

6 楼laoliu666(鹅鹅鹅,曲项向天歌,白毛浮绿水,红掌拨清波。)回复于 2006-11-10 20:22:53 得分 0

关注Top

7 楼xiaoku(野蛮人(^v^))回复于 2006-11-10 20:25:54 得分 0

mark  
  连老大都这么说了,我看还是变通吧!Top

8 楼wwh999(印钞机V2.0...开发中....)回复于 2006-11-11 08:50:06 得分 0

LZ还是回家做个弹弓   打飞机吧...Top

9 楼xyxfly(All things are difficult before they are easy.)回复于 2006-11-11 08:56:31 得分 0

写一个脚本如vbs  
   
  然后用xp_cmdshell调用Top

10 楼caixia615(*^_^*)‵My ɡīr!.ˊ想念妳ˋ 。(*^_^*)回复于 2006-11-11 08:58:44 得分 0

LZ可以考虑自己开发个这样的功能,顶一下!Top

11 楼lovcal(枫兮)回复于 2006-11-11 08:59:20 得分 0

呵呵,感觉应该权限限制吧……Top

12 楼killxtt(我菜我菜我菜菜菜)回复于 2006-11-11 08:59:45 得分 0

既然老大说了不行,我就当来蹭蹭分好了,呵呵Top

13 楼gc_ding(施主,给个妞泡好么)回复于 2006-11-11 09:09:43 得分 0

参考:  
  http://www.hjcz.org/xy/Article/3/63/2005/20050813653.htmlTop

14 楼libinguest(上善若水)回复于 2006-11-11 12:01:11 得分 0

很强的问题,关注些贴Top

15 楼asd5908()回复于 2006-11-11 13:38:17 得分 0

谢谢大家啊  
  我在一个程序里看见过  
  不过不知道怎么实现的   呵呵  
  就是通过SQLTop

16 楼yukileo()回复于 2006-11-11 19:00:17 得分 0

.......顶了..希望真有这样的办法Top

17 楼zjcxc(邹建)回复于 2006-11-12 15:23:58 得分 0

--   1.   枚举所有的   Keys  
  xp_instance_regenumkeys  
  'HKEY_LOCAL_MACHINE',       --   根,   注册表固定有下面几个  
                                                                    --   HKEY_CLASSES_ROOT  
                                                                    --   HKEY_CURRENT_USER  
                                                                    --   HKEY_LOCAL_MACHINE  
                                                                    --   HKEY_USERS  
  'SYSTEM'                                 --   子键,   如果为   NULL,   表示列出根下面的第1层子键  
   
   
  --   2.   枚举所有的键值及数据  
  xp_regenumvalues  
  'HKEY_LOCAL_MACHINE',       --   根,   注册表固定有下面几个  
                                                                    --   HKEY_CLASSES_ROOT  
                                                                    --   HKEY_CURRENT_USER  
                                                                    --   HKEY_LOCAL_MACHINE  
                                                                    --   HKEY_USERS  
  'SYSTEM'                                 --   子键,   如果为   NULL,   表示列出根下面的第1层子键  
   
  --   每个键值为一个结果集,   注意,   一般的键值有两列,   有的键值有多列  
   
  --   3.   读取键值  
  DECLARE   @re   varchar(8000)  
  EXEC   xp_regread  
  'HKEY_CLASSES_ROOT',       --   根,   注册表固定有下面几个  
                                                                    --   HKEY_CLASSES_ROOT  
                                                                    --   HKEY_CURRENT_USER  
                                                                    --   HKEY_LOCAL_MACHINE  
                                                                    --   HKEY_USERS  
  '*',                                       --   子键,   如果为   NULL,   表示列出根下面的第1层子键  
  'QuickTip',                         --   键值,   如果只指定前面两项,   则用于判断某个   Key   是否存在  
          @re   OUT                                 --   保存结果的变量,   如果不指定,   则输出为结果集  
  SELECT   @re  
  Top

18 楼MustKillBush(那个掐死小强的~~)回复于 2006-11-12 15:27:16 得分 0

MarkTop

19 楼zjcxc(邹建)回复于 2006-11-12 15:27:37 得分 0

调用上面三个扩展存储过程就行了  
   
  Top

20 楼ttaallkk1(j2ee_lover)回复于 2006-11-13 14:34:37 得分 0

cowTop

21 楼roy_88(中国风_燃烧你的激情!!!)回复于 2006-11-13 14:37:30 得分 0

关注Top

22 楼crazyflower(小狂花,学习中……)回复于 2006-11-13 14:38:31 得分 0

mark,顶老大Top

23 楼xiao_deng()回复于 2006-11-13 14:51:23 得分 0

...Top

24 楼phommy(石头,竹子,诗)回复于 2006-11-13 15:06:46 得分 0

“未能找到存储过程!@#$%”  
  Top

25 楼lsd1025()回复于 2006-11-13 15:22:48 得分 0

upTop

26 楼bugchen888(臭虫)回复于 2006-11-13 15:54:04 得分 0

master.dbo.xp_instance_regenumkeys   'HKEY_LOCAL_MACHINE','SYSTEM'  
   
  ----------------------  
  Server:   Msg   22001,   Level   16,   State   1,   Line   0  
  xp_instance_regenumkeys()   returned   error   5,   '存取被拒。'.  
   
  估计是用户权限不够。Top

27 楼Ivan_it()回复于 2006-11-13 16:12:28 得分 0

markTop

28 楼losedxyz(我真的一无所有)回复于 2006-11-13 20:52:05 得分 0

makrTop

29 楼Hopewell_Go(好的在后頭﹗希望更好﹗﹗)回复于 2006-11-13 21:22:38 得分 0

用系统的扩展存储过程,就正如邹老大所说Top

30 楼happyer(飞天老鼠)回复于 2006-11-14 10:06:21 得分 0

扩展存储过程,除非是自己的服务器,或者网管是菜鸟,否则一般不会允许使用的。  
  一般来说SQL的帐户不会给这个权限的。  
   
  因此,还是变通一下,通过中间件处理更好些。  
   
  PS:难道楼主在黑谁的服务器?  
  never   evil.   just   research.Top

31 楼phommy(石头,竹子,诗)回复于 2006-11-14 12:06:08 得分 0

请问:  
  什么叫“扩展存储过程”?  
  为什么我直接在企业管理器里敲函数名说是“无法找到”...Top

32 楼sefeng1982(色风)回复于 2006-11-14 12:20:28 得分 0

服务器:   消息   22001,级别   15,状态   1,行   0  
  执行   Read   扩展存储过程时出错:   参数无效Top

33 楼real_name(*真名)回复于 2006-11-14 12:34:45 得分 0

upTop

34 楼jiahehao(风林火山)回复于 2006-11-14 13:53:13 得分 0

mark;Top

35 楼victorxiang(维克厢)回复于 2006-11-14 14:11:28 得分 0

挑战Mico啊Top

36 楼aps21()回复于 2006-11-14 14:13:48 得分 0

关注.........Top

37 楼fish_yht(百行孝为先,万业勤为径。)回复于 2006-11-14 14:24:37 得分 0

markTop

38 楼xn000(涵夫)回复于 2006-11-14 15:31:10 得分 0

Study  
  Top

39 楼wf5360308(冷月孤峰)回复于 2006-11-14 15:50:05 得分 0

都是猛男啊,顶Top

40 楼syh_2ty()回复于 2006-11-14 18:43:08 得分 0

markTop

41 楼zyd772()回复于 2006-11-14 21:50:08 得分 0

始终注视!!Top

42 楼yaoqiubugao()回复于 2006-11-14 22:04:56 得分 0

学习~Top

43 楼inshua(孟昭)回复于 2006-11-14 22:15:36 得分 0

:)  
   
  select   key,   value   from   reg  
        where   prior   id=parent_id  
        start   with   id='HKEY_LOCAL_MACHINE   '    
  Top

44 楼asd5908()回复于 2006-11-14 22:26:43 得分 0

我没有黑谁的服务器   呵呵~~  
   
  我只是见过一个SQL综合利用工具  
   
  他的注册表的功能不够   强大~~~  
   
  想增强一下    
   
  但是技术不过关   ~关~~~Top

45 楼exocell()回复于 2006-11-15 03:26:58 得分 0

玩过SQL注入的都知道.^^   DECLARE   @result   unique   ...   ster.dbo.xp_regreadTop

46 楼wadsunglow(东)回复于 2006-11-15 08:46:26 得分 0

markTop

47 楼galant2008(無賴)回复于 2006-11-15 09:05:47 得分 0

强贴,顶一下.  
  弱弱问下,用SQL能开机关机吗?Top

48 楼milchcow(MilchCow)回复于 2006-11-15 11:00:20 得分 0

强贴,顶一下.  
  弱弱问下,用SQL能格式化硬盘吗?Top

49 楼clal(凌风)回复于 2006-11-15 12:14:51 得分 0

mark  
  Top

50 楼laihui110()回复于 2006-11-15 12:51:57 得分 0

markTop

51 楼nyzfl(小丫头是我心爱的女人 My-Blog地址:http://fenglin.xland.cn)回复于 2006-11-15 12:53:27 得分 0

不懂,学习Top

52 楼junmail(浪子)回复于 2006-11-15 13:02:17 得分 0

mark!Top

53 楼8412230(阿朋)回复于 2006-11-15 13:11:50 得分 0

听说SQL能在裸机上创建操作系统Top

54 楼yyszh(追求完美)回复于 2006-11-15 15:38:19 得分 0

强贴,顶一下.  
  弱弱问下,用SQL能杀人吗?Top

55 楼eaststarwy(我宁可相信这世界有鬼也不相信女人那张嘴)回复于 2006-11-15 15:43:42 得分 0

恩,關注一下,別讓此帖走歪路,糾正糾正Top

56 楼iszhe(深深的蓝)回复于 2006-11-15 16:21:52 得分 0

强烈关注Top

57 楼qiusp001()回复于 2006-11-15 17:32:29 得分 0

markTop

58 楼popchild(欧罗巴骚客贩)回复于 2006-11-15 18:04:20 得分 0

four   diamonds   -_-|||Top

59 楼easyanywhere(自由自在)回复于 2007-04-04 16:07:31 得分 0

需要区分数据库所在操作系统版本  
  1、xp或者2003,可以运行以下语句  
  xp_cmdshell   'reg   query   "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"'  
  该查询在xp和2003上结果稍有不同,比较容易分析出来  
  2、如果是win2000或者更低版本  
  可以通过c语言编写扩展存储过程实现Top

60 楼easyanywhere(自由自在)回复于 2007-04-04 16:50:57 得分 0

zjcxc(邹建)的方法比较简单Top

61 楼onlyonereason(学习sql中..|学习js中..|打字只是我的表面工作,其实我的真正身份是个程序员)回复于 2007-04-04 17:01:07 得分 0

学习  
    邹老大   :)Top

62 楼woodcord(我心飞翔)回复于 2007-04-04 17:04:00 得分 0

学习Top

63 楼lxsfg(飞飞)回复于 2007-04-04 17:24:11 得分 0

告诉LZ一个简单方法就是拿C#写一个存储过程,巨简单Top

相关问题

关键词

得分解答快速导航

  • 帖主:asd5908

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo