dll向EXE发送消息

合集下载

DLL(OCX)文件注册与反注册方法(regsvr32用法)

DLL(OCX)文件注册与反注册方法(regsvr32用法)

DLL(OCX)⽂件注册与反注册⽅法(regsvr32⽤法)注册DLL与反注册DLL⽂件的⽅法如果经常需要注册与反注册dll可以⽤注册表⽂件复制代码代码如下:[HKEY_CLASSES_ROOT\dllfile\shell\Unregister]"Command"="regsvr32 %1 /u"[HKEY_CLASSES_ROOT\dllfile\shell\Register]"Command"="regsvr32 %1"当我们需要注册或者反注册dll时,只要在该dll⽂件上按下⿏标右键即可!由于下⾯的⽅法太过啰嗦,这⾥简单的说下,注册dll⼀般情况下,为了经常使⽤,建议将dll复制到系统盘的windows/system32⽬录,如果不是的,有时候需要加上dll的完整路径注册dll复制代码代码如下:regsvr32 /s winshow.dll反注册dll复制代码代码如下:regsvr32 /u winshow.dllocx 控件注册⽅法ocx 控件的安装⽅式有很多种,这⾥介绍最简单的⼀种。

OCX 控件⽂件复制到某个⽬录步骤:1.将需要安装的⽬录,例如 C 盘根⽬录下。

2.进⼊开始菜单,点击“运⾏”3.在出现的框中键⼊regsvr32 C:/xxxx.ocx 。

(XXXX 为控件名,C:/为⽬录)4.点击确认后等待出现提醒注册成功即可。

如果是偶尔⼀个软件使⽤,将这个ocx⽂件复制到软件⽬录即可。

反注册DLL⼤法UnRegister DLLsYou can use the Regsvr32 tool (Regsvr32.exe) to register and unregister object linking andembedding (OLE) controls such as dynamic-link library (DLL) or ActiveX Controls (OCX) filesthat are self-registerable.RegSvr32.exe has the following command-line options:Regsvr32 [/n] [/i[:cmdline]] dllname/u - Unregister server/i - Call DllInstall passing it an optional [cmdline]; when used with /u calls dlluninstall/n - do not call DllRegisterServer; this option must be used with /iWhen you use Regsvr32.exe, it attempts to load the component and call its DLLSelfRegisterfunction. If this attempt is successful, Regsvr32.exe displays a dialog indicating success.If the attempt is unsuccessful, Regsvr32.exe returns an error message, which may include aWin32 error code.Example: To unregister Winshow's winshow.dll:Click the Start button, and select RunEnter this command line:regsvr32 /u [systemroot]\winshow.dllFor example, in a Windows XP machine in which your systemroot was at c:\winnt, you wouldenter:regsvr32 /u c:\winnt\winshow.dll你能构使⽤Regsvr32⼯具Regsvr32.exe注册和反注册⽬标链接和深层OLE控制器类似于⾃动注册的动态链接库(DLL)和ActiveX控件。

启动administrator用户与cmd管理员

启动administrator用户与cmd管理员

启动administrator用户与磁盘管理程序一、实验目的:掌握在别的是用户里启动window默认用户administrator磁盘管理程序以及CMD里执行东西。

二、准备工具:Cmd.exe管理员三、实验步骤:点击开始》在搜索程序和文件里输入“cmd”或者在运行里输入“cmd”并回车,打开命令提示符窗口。

然后输入“net user administrator /active:yes”如果要禁用管理员,则输入net user administrator /active:no磁盘管理程序1、单击“开始”,点击“运行”,输入cmd并回车打开命令提示符窗口。

2、在此窗口输入以下命令:例如检查并修复D分区:chkdsk D: /f3、点击回车就会启动chkdsk磁盘检查工具扫描D分区了,检查其他分区类似。

详细的参数说明如下:CHKDSK [volume[[path]filename]]] [/F] [/V] [/R] [/X] [/I] [/C] [/L[:size]]volume 指定驱动器(后面跟一个冒号)、装入点或卷名。

filename 仅用于FAT/FAT32: 指定要检查是否有碎片的件。

/F 修复磁盘上的错误。

/V 在FAT/FAT32 上:显示磁盘上每个文件的完整路径和名称。

在NTFS 上: 如果有清除消息,将其显示。

/R 查找不正确的扇区并恢复可读信息(隐含/F)。

/L:size 仅用于NTFS: 将日志文件大小改成指定的KB 数。

如果没有指定大小,则显示当前的大小。

/X 如果必要,强制卷先卸下。

卷的所有打开的句柄就会无效(隐含/F)。

/I 仅用于NTFS: 对索引项进行强度较小的检查。

/C 仅用于NTFS: 跳过文件夹结构的循环检查在CMD里执行东西winver 检查Windows版本wmimgmt.msc 打开Windows管理体系结构(wmi)wupdmgr Windows更新程序wscript Windows脚本宿主设置write 写字板winmsd 系统信息wiaacmgr 扫描仪和照相机向导winchat xp自带局域网聊天mem.exe 显示内存使用情况msconfig.exe 系统配置实用程序mplayer2 简易widnows media playermspaint 画图板mstsc 远程桌面连接mplayer2 媒体播放机magnify 放大镜实用程序mmc 打开控制台mobsync 同步命令dxdiag 检查directx信息drwtsn32 系统医生devmgmt.msc 设备管理器dfrg.msc 磁盘碎片整理程序diskmgmt.msc 磁盘管理实用程序dcomcnfg 打开系统组件服务ddeshare 打开dde共享设置dvdplay dvd播放器net stop messenger 停止信使服务net start messenger 开始信使服务notepad 打开记事本nslookup 网络管理的工具向导ntbackup 系统备份和还原narrator 屏幕“讲述人”ntmsmgr.msc 移动存储管理器ntmsoprq.msc 移动存储管理员操作请求netstat -an (tc)命令检查接口syncapp 创建一个公文包sysedit 系统配置编辑器sigverif 文件签名验证程序sndrec32 录音机shrpubw 创建共享文件夹secpol.msc 本地安全策略syskey 系统加密,一旦加密就不能解开,保护Windows xp系统的双重密码services.msc 本地服务设置sndvol32 音量控制程序sfc.exe 系统文件检查器sfc /scannow windows文件保护tsshutdn 60秒倒计时关机命令tourstart xp简介(安装完成后出现的漫游xp程序)taskmgr 任务管理器eventvwr 事件查看器eudcedit 造字程序explorer 打开资源管理器packager 对象包装程序perfmon.msc 计算机性能监测程序progman 程序管理器regedit.exe 注册表rsop.msc 组策略结果集regedt32 注册表编辑器rononce -p 15秒关机regsvr32 /u *.dll 停止dll文件运行regsvr32 /u zipfldr.dll 取消zip支持cmd.exe cmd命令提示符chkdsk.exe chkdsk磁盘检查certmgr.msc 证书管理实用程序calc 启动计算器charmap 启动字符映射表cliconfg sql server 客户端网络实用程序clipbrd 剪贴板查看器conf 启动netmeetingcompmgmt.msc 计算机管理cleanmgr 垃圾整理ciadv.msc 索引服务程序osk 打开屏幕键盘odbcad32 odbc数据源管理器oobe/msoobe /a 检查xp是否激活lusrmgr.msc 本机用户和组logoff 注销命令iexpress 木马捆绑工具,系统自带nslookup ip地址侦测器fsmgmt.msc 共享文件夹管理器utilman 辅助工具管理器gpedit.msc 组策略以下为Windows操作系统的常用运行命令,执行这些命令,就能打开系统对应的相关实用程序,如果大家能基本利用,就能检查并修复系统的最基本的故障,除注销,关闭系统命令外,其它所有命令,大家不妨一试!!运行/输入CMD/输入对应的相关实用程序:. 打开C:\Documents and Settings\XXX(当前登录Windows XP的用户名) .. 打开Windows XP所在的盘符下的Documents and Settings文件夹... 打开“我的电脑”选项。

基于IMM_IME的汉字键盘输入法编程技术研究

基于IMM_IME的汉字键盘输入法编程技术研究

收稿日期:2006-03-04基金项目:安徽省高等学校青年教师科研资助计划项目(2005J Q1038)作者简介:刘政怡(1978-),女,安徽合肥人,助教,博士,研究方向为自然语言处理;李 炜,副教授,博士,研究方向为计算机软件工程、CIMS 技术;吴建国,教授,博导,研究方向为智能CAD/EDA 及中文信息处理技术。

基于IMM -IME 的汉字键盘输入法编程技术研究刘政怡,李 炜,吴建国(安徽大学计算机科学与技术学院,安徽合肥230039)摘 要:汉字键盘输入法研究是自然语言处理的一个重要课题。

由于输入法编程不同于一般的程序设计,属于系统级的多语言支持组件,只能按照系统定义的IMM -IME 结构的规范,为用户界面和转换接口编写代码,完成IME 用户界面的设计和输入编码到汉字字符的转换工作。

文中在实现语句输入法的同时,对实现输入法必须掌握的IMM -IME 结构、工作过程,及具体实现步骤进行综述,供相关领域的研究人员参考。

关键词:自然语言处理;汉字输入法;输入法编辑器中图分类号:TP311 文献标识码:A 文章编号:1673-629X (2006)12-0043-03R esearch of Programming T echnology of Chinese InputMethod B ased on IMM -IMEL IU Zheng 2yi ,L I Wei ,WU Jian 2guo(Institute of Computer Science and Technology ,Anhui University ,Hefei 230039,China )Abstract :Chinese keyboard input method is an important issue of natural language processing.It runs as a component of Windows multi 2lingual support system and has a different programming technology.A Win32IME has to provide two components defined by IMM -IME architecture.One is the IME user interface ,the other is the IME conversion interface which can convert input keyboard characters into Chinese characters.Provides IMM -IME architecture ,work procedure and implementation steps for researchers on related field ,which must be mastered while accomplishing Chinese sentence input method.K ey w ords :natural language processing ;Chinese input method ;input method editor0 引 言汉字键盘输入法研究是自然语言处理的一个重要课题,它实际上就是将一系列的键盘输入转换成中文汉字。

run命令

run命令

是需要你输入一些命令代语来打开一些程序的一个方式。

下面是一些常用的命令,你输入就可以打开相关的程序了。

可以试一下。

你也可以上网搜索更多的命令。

dxdiag----打开DirectX诊断工具:系统、显示、声音等。

regedit------注册表.winver-------检查Windows版本wmimgmt.msc--打开windows管理体系结构(WMI)wupdmgr------联网上微软更新程序wscript------脚本宿主设置wiaacmgr-----扫描仪和照相机向导Msconfig.exe-系统配置实用程序mmc----------打开控制台mobsync------同步命令drwtsn32-----系统医生devmgmt.msc- 设备管理器dfrg.msc-----磁盘碎片整理程序diskmgmt.msc-磁盘管理实用程序dcomcnfg-----打开系统组件服务services.msc-信使服务(该服务用来传输客户端和服务器之间的Net Send和Alerter(报警器)服务消息。

比如局域网的管理员可以通过这种方法来通知用户某某事情等。

)ntbackup-----系统备份和还原explorer-----打开资源管理器lusrmgr.msc--本机用户和组gpedit.msc---组策略(系统设置等)运行查找大全:开始菜单中的“运行”是通向程序的快捷途径,输入特定的命令后,即可快速的打开Windows 的大部分程序,熟练的运用它,将给我们的操作带来诸多便捷。

winver 检查Windows版本wmimgmt.msc 打开Windows管理体系结构(wmi)wupdmgr Windows更新程序wscript Windows脚本宿主设置write 写字板winmsd 系统信息wiaacmgr 扫描仪和照相机向导winchat xp自带局域网聊天mem.exe 显示内存使用情况msconfig.exe 系统配置实用程序mplayer2 简易widnows media playermspaint 画图板mstsc 远程桌面连接mplayer2 媒体播放机magnify 放大镜实用程序mmc 打开控制台mobsync 同步命令dxdiag 检查directx信息drwtsn32 系统医生devmgmt.msc 设备管理器dfrg.msc 磁盘碎片整理程序diskmgmt.msc 磁盘管理实用程序dcomcnfg 打开系统组件服务ddeshare 打开dde共享设置dvdplay dvd播放器net stop messenger 停止信使服务net start messenger 开始信使服务notepad 打开记事本nslookup 网络管理的工具向导ntbackup 系统备份和还原narrator 屏幕“讲述人”ntmsmgr.msc 移动存储管理器ntmsoprq.msc 移动存储管理员操作请求netstat -an (tc)命令检查接口syncapp 创建一个公文包sysedit 系统配置编辑器sigverif 文件签名验证程序sndrec32 录音机shrpubw 创建共享文件夹secpol.msc 本地安全策略syskey 系统加密,一旦加密就不能解开,保护Windows xp系统的双重密码services.msc 本地服务设置sndvol32 音量控制程序sfc.exe 系统文件检查器sfc /scannow windows文件保护tsshutdn 60秒倒计时关机命令tourstart xp简介(安装完成后出现的漫游xp程序)taskmgr 任务管理器eventvwr 事件查看器eudcedit 造字程序explorer 打开资源管理器packager 对象包装程序perfmon.msc 计算机性能监测程序progman 程序管理器regedit.exe 注册表rsop.msc 组策略结果集regedt32 注册表编辑器rononce -p 15秒关机regsvr32 /u *.dll 停止dll文件运行regsvr32 /u zipfldr.dll 取消zip支持cmd.exe cmd命令提示符chkdsk.exe chkdsk磁盘检查certmgr.msc 证书管理实用程序calc 启动计算器charmap 启动字符映射表cliconfg sql server 客户端网络实用程序clipbrd 剪贴板查看器conf 启动netmeetingcompmgmt.msc 计算机管理cleanmgr 垃圾整理ciadv.msc 索引服务程序osk 打开屏幕键盘odbcad32 odbc数据源管理器oobe/msoobe /a 检查xp是否激活lusrmgr.msc 本机用户和组logoff 注销命令iexpress 木马捆绑工具,系统自带nslookup ip地址侦测器fsmgmt.msc 共享文件夹管理器utilman 辅助工具管理器gpedit.msc 组策略以下为Windows操作系统的常用运行命令,执行这些命令,就能打开系统对应的相关实用程序,如果大家能基本利用,就能检查并修复系统的最基本的故障,除注销,关闭系统命令外,其它所有命令,大家不妨一试!!运行\输入CMD\输入对应的相关实用程序:. 打开C:\Documents and Settings\XXX(当前登录Windows XP的用户名).. 打开Windows XP所在的盘符下的Documents and Settings文件夹... 打开“我的电脑”选项。

delphi关于窗口句柄,进程等操作

delphi关于窗口句柄,进程等操作

delphi关于窗口句柄,进程等操作转帖/ck85124/blog/item/d44ad17e9c1a163e0cd 7da9e.htmluses TLHelp32,PsAPI;(1)显示进程列表:procedure TForm1.Button1Click(Sender: TObject);varProcessName: string;ProcessID: integer;ListLoop: Boolean;FsnapShotHandle: Thandle;FProcessEntry32: TProcessEntry32;beginListBox1.Clear;Fsnapshothandle := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS, 0);FProcessEntry32.dwsize := SizeOF(FProcessEntry32);Listloop := Process32First(FSnapshotHandle, FProcessEntry32);while Listloop do beginProcessName := FprocessEntry32.szExeFile;ProcessID := FProcessEntry32.th32ProcessID;// 我写到列表框中了,你可以根据需要自己改listbox1.Items.Add(ProcessNAme+':'+IntToStr(ProcessID));ListLoop := Process32Next(FSnapshotHandle, FprocessEntry32);end;end;(2)杀死某进程:procedure TForm1.Button2Click(Sender: TObject);varlppe: TProcessEntry32;found : boolean;Hand : THandle;P:DWORD;ph: THandle;ExitCode: DWORD;sExeFile,sSelect:string;killed:boolean;begintemp:= ListBox1.Items.strings[ListBox1.itemindex];temp:=copy(temp,pos(':',temp)+1,length(temp));p :=DWORD(StrToInt(temp));if P<>0 thenbeginph:=OpenProcess(PROCESS_TERMINATE,False,P);GetExitCodeProcess(ph, ExitCode);killed := TerminateProcess(ph,ExitCode);if not killed thenmessagebox(self.handle,pchar(sExeFile+'无法杀死!'),'提示',MB_OK or MB_ICONWARNING)elseListBox1.Items.Delete(ListBox1.ItemIndex);end;end;(3)取得某进程EXE路径:procedure TForm1.Button3Click(Sender: TObject);varh:THandle; fileName:string;iLen:integer;hMod:HMODULE;cbNeeded,p:DWORD;begintemp:= ListBox1.Items.strings[ListBox1.itemindex];temp:=copy(temp,pos(':',temp)+1,length(temp));p :=DWORD(StrToInt(temp));h := OpenProcess(PROCESS_ALL_ACCESS, false, p); //p 为进程IDif h > 0 thenbeginif EnumProcessModules( h, @hMod, sizeof(hMod), cbNeeded) thenbeginSetLength(fileName, MAX_PATH);iLen := GetModuleFileNameEx(h, hMod, PCHAR(fileName), MAX_PATH);if iLen <> 0 thenbeginSetLength(fileName, StrLen(PCHAR(fileName)));Memo1.Lines.Add(fileName);end;end;CloseHandle(h);end;end;(4)取得窗口列表:procedure TForm1.Button4Click(Sender: TObject);varhCurrentWindow: HWnd;szText: array[0..254] of char;beginListbox1.Clear;//EnumWindows(@EnumWindowsProc, 0); 写了个回调EnumWindowsProc没效果hCurrentWindow := GetWindow(Handle, GW_HWNDFIRST);while hCurrentWindow <> 0 dobeginif GetWindowText(hCurrentWindow, @szText, 255) > 0 then listbox1.items.Add(StrPas(@szT ext));hCurrentWindow := GetWindow(hCurrentWindow, GW_HWNDNEXT);end;end;(5)杀死窗口进程:procedure TForm1.Button5Click(Sender: TObject);varH:THandle;P:DWORD;s:string;killed:boolean;begins := ListBox1.Items[ListBox1.ItemIndex];H:=FindWindow(nil,pchar(s));if H<>0 thenbeginGetWindowThreadProcessId(H,@P);if P<>0 thenkilled:=TerminateProcess(OpenProcess(PROCESS_TERMINAT E,False,P),$FFFFFFFF);if not killed thenmessagebox(self.handle,pchar(s+'无法杀死!'),'提示',MB_OK or MB_ICONWARNING)elseListBox1.Items.Delete(ListBox1.ItemIndex);end;end;(6)取得窗口进程路径:procedure TForm1.Button6Click(Sender: TObject);varH:THandle;P,cbNeeded:DWORD;s,fileName:string;iLen:integer;hMod:HMODULE;begins := ListBox1.Items[ListBox1.ItemIndex];H:=FindWindow(nil,pchar(s));if H<>0 thenbeginGetWindowThreadProcessId(H,@P);if P<>0 thenbeginh := OpenProcess(PROCESS_ALL_ACCESS, false, p); //p 为进程IDif h > 0 thenbeginif EnumProcessModules( h, @hMod, sizeof(hMod), cbNeeded) thenbeginSetLength(fileName, MAX_PATH);iLen := GetModuleFileNameEx(h, hMod, PCHAR(fileName), MAX_PATH);if iLen <> 0 thenbeginSetLength(fileName, StrLen(PCHAR(fileName)));end;end;CloseHandle(h);end;end;end;Memo1.Lines.Add(fileName);end;(7)文件属性:function CovFileDate(Fd:_FileTime):TDateTime;{ 转换文件的时间格式 }varTct:_SystemTime;Temp:_FileTime;beginFileTimeToLocalFileTime(Fd,Temp);FileTimeToSystemTime(Temp,T ct);CovFileDate:=SystemTimeT oDateTime(Tct);end;procedure TForm1.Button7Click(Sender: TObject);varSR: TSearchRec;V1, V2, V3, V4: integer ;constdtFmt:string = 'YYYY-MM-DD HH:NN:SS';begin// ============== 方法一==================== //if FindFirst(edit1.Text, faAnyFile, SR) = 0 thenbeginMemo1.Lines.Add('文件属性:' + intToStr(SR.Attr) ); //文件属性Memo1.Lines.Add('文件大小:' + intToStr(SR.Size) ); //文件大小Memo1.Lines.Add('创建时间:' + FormatDateTime(dtFmt,CovFileDate(SR.FindData.ftCreationTime )) ); //创建时间Memo1.Lines.Add('最后修改时间:' + FormatDateTime(dtFmt,CovFileDate(SR.FindData.ftLastWriteTim e)) ); //最后修改时间Memo1.Lines.Add('最后访问时间:' + FormatDateTime(dtFmt,CovFileDate(SR.FindData.ftLastAccessTi me)) ); //最后访问时间if SR.Attr and faHidden <> 0 thenFileSetAttr(edit1.Text, SR.Attr-faHidden);FindClose(SR);end;end;procedure TForm1.Button8Click(Sender: TObject);// ============== 方法二==================== //varAttrs: Word;f: file of Byte; // 文件大小必须要定义为" file of byte" ,这样才能取出 bytessize: Longint;//文件属性begin//此方法是打开文件读取字节计算,测试exe的文件必须是未运行状态否则会报io 103错误Attrs:=FileGetAttr(edit1.text);Memo1.Lines.Add('文件属性:' + intToStr(Attrs));//文件大小tryAssignFile(f, edit1.text);Reset(f);size := FileSize(f);Memo1.Lines.Add('文件大小:' + intToStr(size));finallyCloseFile(f);end;end;(8)判断程序是否在运行:procedure TForm1.Button9Click(Sender: TObject);varPrevInstHandle:Thandle;AppTitle:pchar;beginAppTitle := pchar(edit2.Text);PrevInstHandle := FindWindow(nil, AppTitle);if PrevInstHandle <> 0 then beginif IsIconic(PrevInstHandle) thenShowWindow(PrevInstHandle, SW_RESTORE)elseBringWindowT oTop(PrevInstHandle);SetForegroundWindow(PrevInstHandle);end;end;{CreateToolhelp32Snapshot函数为指定的进程、进程使用的堆[HEAP]、模块[MODULE]、线程[THREAD])建立一个快照[snapshot]。

通过资源文件方式打包exe、脚本、dll文件为单个exe文件的解决方案

通过资源文件方式打包exe、脚本、dll文件为单个exe文件的解决方案

通过资源文件方式打包exe、脚本、dll文件为单个exe文件的解决方案想将Lua和脚本文件打包成一个exe文件,以便发布,从网上查了N多资源,终于搞定了^-^主要实现方案是通过将Lua解释器和脚本文件以资源文件中RCDATA类型打包进exe文件中,在运行文件时再进行释放,然后在临时目录中执行。

大概步骤为:1、编写相应的rc文件,添加想打包的所有文件2、通过FindResource\SizeofResource\LoadResource\LockResource四个函数查找定位exe打包文件中对应的各个资源文件,并创建至临时目录中3、用CreateProcess\WaitForSingleObject\CloseHandle三个函数实现run and wait功能(好像 GetExitCodeProcess的方式也行)4、等程序执行完毕,删除临时文件(5、LoadLibrary\GetProcAddress\CallWindowProc\FreeLibrary四个函数实现ActiveX dll的注册)该方案一个缺点是可能容易被杀软认为是病毒-_-||实现该功能的一个简单方案为使用专业软件,如PEBundle。

更新历史:2008-11-4: 改动较多,目前可以释放到"temp","current","system","windows"和指定目录下了,并且解决了运行脚本时工作目录不一定为当前exe文件所在目录的问题。

增加了部分目录处理函数和字符串处理函数。

2008-11-3: 看了一位大大的blog,其使用pe文件的形式实现了动态加载到内存中执行,等有时间时好好研究研究,/lisunlin0/2008-11-1: 添加ActiveX dll的注册函数DllRegister的实现;将RunWait中的GetT empFilePath提取出来,以便通用;在一个字符串前添加一个空格写为函数。

5-Rootkit


实现Rootkit功能 用DLL实现 实现 功能
用DLL实现功能,然后,用其他程序启动该 DLL. 有三种方式:
最简单的方式——RUNDLL32 最简单的方式 特洛伊DLL 特洛伊 线程插入技术
最简单的方式——RUNDLL32 最简单的方式
Rundll32 DllFileName FuncName Rundll32.exe MyDll.dll MyFunc
检测Rootkit的技术思路 的技术思路 检测
基于签名的检测:keywords 启发式或行为的检测: VICE/Patchfinder(inject code) 交叉检测(Cross view based detection):RootKit revealer/Klister/Blacklight/GhostBuster 完整性检测:System virginity Verifier/Tripware.
提供后门访问的二进制替换程序 隐藏攻击者的二进制替换程序 用于隐藏但不替换二进制程序的其他工具 另外一些零散工具 安装脚本 UNIX系统中最流行的两种用户模式RootKit:
LRK家族和URK家族。
Windows用户模式 用户模式Rootkit 用户模式
像UNIX上一样,修改关键性操作系统软件 以使攻击者获得访问权并隐藏在计算机中。 用户模式RootKit控制操作系统的可执行程 序,而不是内核。
创建远程线程技术
远程线程技术指的是通过在另一个进程中 创建远程线程的方法进入那个进程的内存 地址空间。 通过CreateRemoteThread也同样可以在另 一个进程内创建新线程,新线程同样可以 共享远程进程的地址空间。
HANDLE CreateRemoteThread(
HANDLE hProcess, 一个地址 PSECURITY_ATTRIBUTES psa, DWORD dwStackSize, PTHREAD_START_ROUTINE pfnStartAddr, PVOID pvParam, DWORD fdwCreate, PDWORD pdwThreadId);

运行中快捷键

关掉电脑的帮助与支持:在`开始`运行`里输入msconfig点击`服务`然后找到--显示名称为:Help and Support◎微软描述:启用在此计算机上运行帮助和支持中心.如果停止服务,帮助和支持中心将不可用.如果禁用服务,任何直接依赖于此服务的服务将无法启动.对勾去掉,重新启动即可。

其它运行命令:gpedit.msc-----组策略sndrec32-------录音机Nslookup-------IP地址侦测器logoff---------注销命令explorer-------打开资源管理器lusrmgr.msc----本机用户和组oobe/msoobe /a----检查XP是否激活notepad--------打开记事本cleanmgr-------垃圾整理net start messenger----开始信使服务compmgmt.msc---计算机管理net stop messenger-----停止信使服务conf-----------启动netmeetingdvdplay--------DVD播放器charmap--------启动字符映射表diskmgmt.msc---磁盘管理实用程序calc-----------启动计算器dfrg.msc-------磁盘碎片整理程序chkdsk.exe-----Chkdsk磁盘检查devmgmt.msc--- 设备管理器regsvr32 /u *.dll----停止dll文件运行drwtsn32------ 系统医生rononce -p ----15秒关机dxdiag---------检查DirectX信息regedt32-------注册表编辑器Msconfig.exe---系统配置实用程序rsop.msc-------组策略结果集mem.exe--------显示内存使用情况regedit.exe----注册表winchat--------XP自带局域网聊天progman--------程序管理器winmsd---------系统信息perfmon.msc----计算机性能监测程序winver---------检查Windows版本sfc /scannow-----扫描错误并复原taskmgr-----任务管理器(2000/xp/2003winver---------检查Windows版本wmimgmt.msc----打开windows管理体系结构(WMI)wupdmgr--------windows更新程序wscript--------windows脚本宿主设置write----------写字板winmsd---------系统信息wiaacmgr-------扫描仪和照相机向导winchat--------XP自带局域网聊天mem.exe--------显示内存使用情况Msconfig.exe---系统配置实用程序mplayer2-------简易widnows media playermspaint--------画图板mstsc----------远程桌面连接mplayer2-------媒体播放机magnify--------放大镜实用程序mmc------------打开控制台mobsync--------同步命令dxdiag---------检查DirectX信息drwtsn32------ 系统医生devmgmt.msc--- 设备管理器dfrg.msc-------磁盘碎片整理程序diskmgmt.msc---磁盘管理实用程序dcomcnfg-------打开系统组件服务ddeshare-------打开DDE共享设置dvdplay--------DVD播放器net stop messenger-----停止信使服务net start messenger----开始信使服务notepad--------打开记事本nslookup-------网络管理的工具向导ntbackup-------系统备份和还原narrator-------屏幕“讲述人”ntmsmgr.msc----移动存储管理器ntmsoprq.msc---移动存储管理员操作请求netstat -an----(TC)命令检查接口syncapp--------创建一个公文包sysedit--------系统配置编辑器sigverif-------文件签名验证程序sndrec32-------录音机shrpubw--------创建共享文件夹secpol.msc-----本地安全策略syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码services.msc---本地服务设置Sndvol32-------音量控制程序sfc.exe--------系统文件检查器sfc /scannow---windows文件保护tsshutdn-------60秒倒计时关机命令tourstart------xp简介(安装完成后出现的漫游xp程序)taskmgr--------任务管理器eventvwr-------事件查看器eudcedit-------造字程序explorer-------打开资源管理器packager-------对象包装程序perfmon.msc----计算机性能监测程序progman--------程序管理器regedit.exe----注册表rsop.msc-------组策略结果集regedt32-------注册表编辑器rononce -p ----15秒关机regsvr32 /u *.dll----停止dll文件运行regsvr32 /u zipfldr.dll------取消ZIP支持cmd.exe--------CMD命令提示符chkdsk.exe-----Chkdsk磁盘检查certmgr.msc----证书管理实用程序calc-----------启动计算器charmap--------启动字符映射表cliconfg-------SQL SERVER 客户端网络实用程序Clipbrd--------剪贴板查看器conf-----------启动netmeetingcompmgmt.msc---计算机管理cleanmgr-------垃圾整理ciadv.msc------索引服务程序osk------------打开屏幕键盘odbcad32-------ODBC数据源管理器oobe/msoobe /a----检查XP是否激活lusrmgr.msc----本机用户和组logoff---------注销命令iexpress-------木马捆绑工具,系统自带Nslookup-------IP地址侦测器fsmgmt.msc-----共享文件夹管理器utilman--------辅助工具管理器gpedit.msc-----组策略tsshutdn-------60秒倒计时关机命令services.msc---本地服务设置accwiz.exe 辅助工具向导actmovie.exe 直接显示安装工具append.exe 允许程序打开制定目录中的数据arp.exe 显示和更改计算机的IP与硬件物理地址的对应列表at.exe 计划运行任务atmadm.exe ATM调用管理器统计attrib.exe 显示和更改文件和文件夹属性autochk.exe 检测修复文件系统(XP不可用)autoconv.exe 在启动过程中自动转化系统(XP不可用) autofmt.exe 在启动过程中格式化进程(XP不可用) autolfn.exe 使用长文件名格式(XP不可用)arp.exe 显示和更改计算机的IP与硬件物理地址的对应calc.exe 计算器Bootvrfy.exe 通报启动成功cacls.exe 显示和编辑ACLcdplayer.exe CD播放器change.exe 与终端服务器相关的查询(XP不可用) charmap.exe 字符映射表chglogon.exe 启动或停用会话记录(XP不可用) chgport.exe 改变端口(终端服务)(XP不可用) chgusr.exe 改变用户(终端服务)(XP不可用)chkdsk.exe 磁盘检测程序chkntfs.exe NTFS磁盘检测程序cidaemon.exe 组成Ci文档服务cipher.exe 在NTFS上显示或改变加密的文件或目录cisvc.exe 打开索引内容ckcnv.exe 变换Cookiecleanmgr.exe 磁盘清理cliconfg.exe SQL客户网络工具clipbrd.exe 剪贴簿查看器clipsrv.exe 运行Clipboard服务clspack.exe 建立系统文件列表清单cluster.exe 显示域的集群(XP不可用)cmd.exe 进2000\XP DOScmdl32.exe 自动下载连接管理cmmgr32.exe 连接管理器cmmon32.exe 连接管理器监视cmstp.exe 连接管理器配置文件安装程序comclust.exe 集群comp.exe 比较两个文件和文件集的内容conf 启动netmeeting聊天工具control userpasswords2 XP密码管理.compmgmt.msc 计算机管理cprofile.exe 转换显示模式(XP不可用)开始,运行,输入CMD\输入net config workstation计算机名\完整的计算机名\用户名工作站处于活动状态(即网络描述)\软件版本(即软件版本号)\工作站域工作站域的DNS 名称登录域\COM 打开时间超时(秒)\COM 发送量(字节)\COM 发送超时(msec)CMD\输入net config workstation 更改可配置工作站服务设置。

编程技巧:vc下把.exe转成dll文件

编程技巧:vc下把.exe转成dll文件【文章标题】: 编程技巧:vc下把.exe转成dll文件【文章作者】: vbcs【作者邮箱】: baoliangster@【作者主页】: /vbcs003【下载地址】: /vbcs003【作者声明】: 只是感兴趣,没有其他目的。

失误之处敬请诸位大侠赐教!--------------------------------------------------------------------------------【详细过程】VC下把EXE程序改称DLL文件.dsp工程文件,文本格式,不可丢失或损坏.dsw工作区文件,丢失或损坏时,可点击.dsp文件打开工程,.dsw文件自动重建.clw ClassWizard信息文件,ini格式,ClassWizard出问题时可删除它再重建.map映像信息文件,编制DLL写.def文件时,若不知道函数导出顺序,可在Prject\Settings\Link 页中选中"Generate mapfile",重新build,用记事本或其它类似程序打开生成的.map文件,里面可看到函数导出表.i 在命令行环境下输入:cl ***.cpp /P (注意后面的参数P大小写敏感),程序文件夹中会生成.i文件,用记事本或其它类似程序打开,可看到.cpp文件经预处理后的结果.ncb无编译浏览文件,当自动完成功能(自动显示成员变量列表)出问题时,可删除它,build 后自动重建。

其它:.aps资源辅助文件,二进制格式.opt开发环境参数(如工具条位置)文件.plg编译信息(如error和warning信息)文件,html格式.pch预编译文件,可加快编译速度,但改文件非常大.pdb记录程序相关的数据和调试信息.exp dll信息文件,编译dll时才会生成.bsc用于浏览项目信息,可在Prject \ Settings \ Link 页中勾掉"Generate Browse Info File",禁止生成.bsc文件,以加快编译速度。

计算机通用命令

开始→运行→输入的命令集锦gpedit.msc-----组策略 sndrec32-------录音机Nslookup-------IP地址侦测器 explorer-------打开资源管理器logoff---------注销命令 tsshutdn-------60秒倒计时关机命令lusrmgr.msc----本机用户和组 services.msc---本地服务设置oobe/msoobe /a----检查XP是否激活 notepad--------打开记事本cleanmgr-------垃圾整理 net start messenger----开始信使服务compmgmt.msc---计算机管理 net stop messenger-----停止信使服务conf-----------启动netmeeting dvdplay--------DVD播放器charmap--------启动字符映射表 diskmgmt.msc---磁盘管理实用程序calc-----------启动计算器 dfrg.msc-------磁盘碎片整理程序chkdsk.exe-----Chkdsk磁盘检查 devmgmt.msc--- 设备管理器regsvr32 /u *.dll----停止dll文件运行 drwtsn32------ 系统医生rononce -p ----15秒关机 dxdiag---------检查DirectX信息regedt32-------注册表编辑器 Msconfig.exe---系统配置实用程序rsop.msc-------组策略结果集 mem.exe--------显示内存使用情况regedit.exe----注册表 winchat--------XP自带局域网聊天progman--------程序管理器 winmsd---------系统信息perfmon.msc----计算机性能监测程序 winver---------检查Windows版本sfc /scannow-----扫描错误并复原taskmgr-----任务管理器(2000/xp/2003)开始菜单中的“运行”是通向程序的快捷途径,输入特定的命令后,即可快速的打开Windows的大部分程序,熟练的运用它,将给我们的操作带来诸多便捷。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在进行DLL开发过程中,尤其在进行底层硬件开发过程中,比如实时接收数据,进程需要和应用程序进行
交互,而DLL和应用程序最好的交互就是发消息了,在DLL中定义消息的方式和在应用程序中定义消息
的方式非常相似。下面谈谈这两种定义的方法:

一、在应用程序自定义消息方法:
一般自定义消息有一定的范围,虽然说自定义消息从WM_USER开始,但是由于我们的工程里面一般
还有很多其他的控件,他们也要占用一部分WM_USER消息范围,所以我们必须为他们留出一部分范围,
这里,我们保留100个消息,一般情况下,这可以满足我们的要求。

(1) 定义消息的值。在我们要发生消息的地方(例如CMyView.cpp的开始部分)或者stdafx..h文件,进行
如下定义:

#define WM_MSG (WM_USER+101)
接下来的工作其实很简单,我们在前面说了,消息正常工作有3个部分必须协调:消息声明、消息映
射、消息体。我们就一次进行手工加入。

(2)首先在AFX_MSG块中加入消息声明:在CMyView.h中,找到如下部分,并加入消息声明:
protected:
// {{AFX_MSG(CMyView)
......
afx_msg LRESULT OnMyMsg(WPARAM wParam,LPARAM lParam);
file://}}AFX_MSG/

(3)在MESSAGE_MAP块中添加ON_MESSAGE宏指令:
BEGIN_MESSAGE_MAP(CMyView, CView)
file://{{AFX_MSG_MAP(CMyView/)
.....
ON_MESSAGE(WM_MSG, OnMyMsg)
file://}}AFX_MSG_MAP/
END_MESSAGE_MAP()

(4)添加消息函数体:
LPESULT CMyView::OnMyMsg(WPARAM wParam, LPARAM lParam)
{

AfxMessageBox("消息已经收到!");
return 0;
}

消息至此就已经定义完毕,接下来我们就可以激活消息了,就可以用我们前面所说的PostMessage/Se
ndMessage来发送消息了。

如:::PostMessage(hwnd,WM_MSG,0,1);
PostMessage:不用等消息返回。
SendMessage:需要等消息返回。
二、从DLL中传递消息到EXE
在DLL中定义消息和上面的方法很相似,有两点不同的地方:
1、 在DLL和应用程序中两个地方定义相同的消息。
2、 应用程序调用DLL程序之后,需要将应用程序的窗口句柄传递给DLL,以便DLL中的消息返回。
在DLL工程中:
(1) 在stdafx.h头文件中添加消息定义:
#define WM_MSG WM_USER + 102

(2) 添加启动消息的输出函数:
CMessageDLLApp theApp;
//发送消息
extern "C" _declspec(dllexport) void StartSendMessage(HWND hwnd)
{
theApp.SendMessage(hwnd);
}

其中hwnd是接收消息的窗口句柄。
(3) 添加启动消息的实现函数:
在头文件中添加函数声明:
void SendMessage(HWND hwnd);

在CPP文件中添加函数实现
//启动发送消息
void CMessageDLLApp::SendMessage(HWND hwnd)
{
::PostMessage(hwnd,WM_MSG,0,1);
}
在应
用程序中:
(1) 在stdafx.h头文件中添加消息定义:
#define WM_MSG WM_USER + 102
(2) 首先在AFX_MSG块中加入消息声明:在CTestMessageDLLDlg.h中,找到如下部分,并加入
消息声明:

。。。。。。
afx_msg LRESULT OnMyMsg(WPARAM wParam,LPARAM lParam);
DECLARE_MESSAGE_MAP()

(3) 在MESSAGE_MAP块中添加ON_MESSAGE宏指令:
BEGIN_MESSAGE_MAP(CTestMessageDLLDlg, CDialog)
。。。。。。
ON_MESSAGE(WM_MSG, OnMyMsg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

(4) 添加消息函数体:
LRESULT CTestMessageDLLDlg::OnMyMsg(WPARAM wParam, LPARAM
lParam)

{
AfxMessageBox("消息已经收到!");
return 0;
}

(5) 在对话框上添加一个按钮,在按钮事件中,先调用DLL文件,然后发送一个测试消息响应的命
令:

void CTestMessageDLLDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
//定义函数
typedef void (_cdecl*STARTSENDMESSAGE)(HWND hwnd);
HMODULE hmessage = NULL;
STARTSENDMESSAGE StartSendMessage = NULL;
//导入DLL库文件
hmessage = LoadLibrary("MessageDLL.dll");
if(hmessage==NULL)
{
FreeLibrary(hmessage);
exit(0);
}
//导入DLL中测试消息函数
StartSendMessage = (STARTSENDMESSAGE)GetProcAddress(hmessage,"StartSendMessage");
if(StartSendMessage==NULL)
{
FreeLibrary(hmessage);
exit(1);
}
//获取对话框的窗口句柄
HWND hwnd = this->GetSafeHwnd();
//发送测试消息函数
(*StartSendMessage)(hwnd);
}

运行应用程序,就可以看到测试结果了。

相关文档
最新文档