dll/OCX:REGSVR32 错误代码0x3
使用过activex的人都知道,activex不注册是不能够被系统识别和使用的,一般安装程序都会自动地把它所使用的activex控件注册,但如果你拿到的一个控件需要手动注册怎么办呢?如果修改注册表那就太麻烦了,在windows的system文件夹下有一个regsvr32.exe的程序,它就是windows自带的activex注册和反注册工具。
一、regsvr32的用法为: “regsvr32 [/s] [/n] [/i(:cmdline)] dllname”。
其中dllname为activex控件文件名,建议在安装前拷贝到system文件夹下。
参数有如下意义: /u——反注册控件 /s——不管注册成功与否,均不显示提示框 /c——控制台输出 /i——跳过控件的选项进行安装(与注册不同) /n——不注册控件,此选项必须与/i选项一起使用 执行该命令的方法: 1、可以在“开始”--“运行”,调出运行的对话框,也可以使用Win+R热键,然后直接在输入栏输入即可 2、在开始--运行 输入cmd,调出‘命令提示符’窗口,然后再执行regsvr32命令。
二、Regsvr32错误消息的说明 当使用 Regsvr32.exe 时,它会尝试加载该组件并调用它的 DLLSelfRegister 函数。
如果此尝试成功,Regsvr32.exe 会显示一个指示成功的对话框。
如果此尝试失败,Regsvr32.exe 会返回一条错误消息,其中可能会包括一个 Win32 错误代码。
以下列表介绍了 RegSvr32 错误消息和可能的原因。
Unrecognized flag:/invalid_flag 键入的标志或开关组合无效(请参阅本文中的“Regsvr32.exe 的用法”一节)。
No DLL name specified. 未包括 .dll 文件名(请参阅本文中的“Regsvr32.exe 的用法”一节)。
Dllname was loaded, but the DllRegisterServer or DllUnregisterServer entry point was not found. Dllname 不是 .dll 或 .ocx 文件。
例如,键入 regsvr32 wjview.exe 就会生成该错误消息。
Dllname is not an executable file and no registration helper is registered for this file type. Dllname 不是可执行文件(.exe、.dll 或 .ocx)。
例如,键入 regsvr32 autoexec.bat 就会生成该错误消息。
Dllname was loaded, but the DllRegisterServer or DllUnregisterServer entry point was not found. Dllname 可能未导出,或者内存中可能有损坏的 Dllname 版本。
请考虑使用 Pview 来检测该文件并删除它。
Dllname is not self-registerable or a corrupted version is in memory. 例如,键入 regsvr32 icwdial.dll 后就会返回该错误消息,因为 Icwdial.dll 文件不能自行注册。
如果您怀疑内存中有损坏的 Dllname 版本,请尝试重新启动计算机,或重新提取该文件的原始版本。
如果您运行的是 Windows NT,可能需要使用 Microsoft Windows NT Server 4.0 资源工具包 中的 Kill 或 Pview 工具。
有关其他信息,请单击以查看以下 Microsoft 知识库文章: 197155 如何终止孤立进程 OleInitialize failed (or OleUninitialize failed). Regsvr32 必须先初始化 COM 库,然后才能调用所需的 COM 库函数并在关闭时撤消对该库的初始化。
如果对 COM 库进行初始化或撤消初始化的尝试失败,就会出现这些错误消息。
例如,Ole32.dll 文件 可能已经损坏,或者其版本有误。
LoadLibrary("Dllname") failed.GetlastError returns 0x00000485 在 Winerror.h 中,0x00000485 = 1157 (ERROR_DLL_NOT_FOUND),表示“找不到运行该应用程序所需的某个库文件”。
例如,键入 regsvr32 missing.dll 后,如果找不到 Missing.dll 文件,就会返回该错误消息。
LoadLibrary("Dllname") failed.GetLastError returns 0x00000002 在 Winerror.h 中,0x00000002 = 2 (ERROR_FILE_NOT_FOUND),表示“系统找不到指定的文件”。
换言之,系统找不到相关的 DLL。
例如,如果键入 regsvr32 icwdial.dll,而此时缺少 Tapi32.dll(依赖项),就会返回该错误消息。
LoadLibrary("dskmaint.dll") failed.GetLastError returns 0x000001f 在 Winerror.h 中,0x000001f = 31 (ERROR_GEN_FAILURE),表示“附加到系统上的设备不能正常工作”。
如果您尝试注册 Win16 .dll 文件,就会发生此现象。
例如,键入 regsvr32 dskmaint.dll 会返回该错误消息。
DllRegisterServer (or DllUnregisterServer)in Dllname failed.返回代码是:字符串 在 Winerror.h 中搜索字符串。
Regsvr32.exe 和依赖项 RegSvr32.exe 依赖于 Kernel32.dll、User32.dll 和 Ole32.dll 文件(在 Windows NT 中,还依赖于 Msvcrt.dll 和 Advapi32.dll 文件)。
Regsvr32.exe 会加载您尝试注册或撤消注册的文件及其所有依赖项。
如果缺少必需的文件或者它们已损坏,该进程可能会失败。
您可以使用 Depends.exe 来确定您尝试注册或撤消注册的文件的依赖项。
在 Microsoft Windows 98 资源工具包 和 Microsoft Windows NT 4.0 资源工具包 支持工具中都提供了 Depends.exe。
247024 Tools Included with the Microsoft Windows 98 Resource Kit 三、一个快速注册 DLL 及 OCX 的方法 注意看罗!方法如下: 1、在资源管理器中找到 C:\Windows\System\Regsvr32.exe 并【复制】 ( 按鼠标右键选复制 ) 2、将目录移到 C:\Windows\SendTo 后,执行【贴上快捷方式】 ( 按鼠标右键选贴上快捷方式 ) 3、将快捷方式名称改成【REGISTER】 4、OK 现在,如果您想替某一个文件做注...
如何注册ocx文件
文件Regsvr32用法及情况介绍 使用过activex的人都知道,activex不注册是不能够被系统识别和使用的,一般安装程序都会自动地把它所使用的activex控件注册,但如果你拿到的一个控件需要手动注册怎么办呢?如果修改注册表那就太麻烦了,在windows的system文件夹下有一个regsvr32.exe的程序,它就是windows自带的activex注册和反注册工具。
一、regsvr32的用法为: “regsvr32 [/s] [/n] [/i(:cmdline)] dllname”。
其中dllname为activex控件文件名,建议在安装前拷贝到system文件夹下。
参数有如下意义: /u——反注册控件 /s——不管注册成功与否,均不显示提示框 /c——控制台输出 /i——跳过控件的选项进行安装(与注册不同) /n——不注册控件,此选项必须与/i选项一起使用 执行该命令的方法: 1、可以在“开始”--“运行”,调出运行的对话框,也可以使用Win+R热键,然后直接在输入栏输入即可 2、在开始--运行 输入cmd,调出‘命令提示符’窗口,然后再执行regsvr32命令。
二、Regsvr32错误消息的说明 当使用 Regsvr32.exe 时,它会尝试加载该组件并调用它的 DLLSelfRegister 函数。
如果此尝试成功,Regsvr32.exe 会显示一个指示成功的对话框。
如果此尝试失败,Regsvr32.exe 会返回一条错误消息,其中可能会包括一个 Win32 错误代码。
以下列表介绍了 RegSvr32 错误消息和可能的原因。
Unrecognized flag:/invalid_flag 键入的标志或开关组合无效(请参阅本文中的“Regsvr32.exe 的用法”一节)。
No DLL name specified. 未包括 .dll 文件名(请参阅本文中的“Regsvr32.exe 的用法”一节)。
Dllname was loaded, but the DllRegisterServer or DllUnregisterServer entry point was not found. Dllname 不是 .dll 或 .ocx 文件。
例如,键入 regsvr32 wjview.exe 就会生成该错误消息。
Dllname is not an executable file and no registration helper is registered for this file type. Dllname 不是可执行文件(.exe、.dll 或 .ocx)。
例如,键入 regsvr32 autoexec.bat 就会生成该错误消息。
Dllname was loaded, but the DllRegisterServer or DllUnregisterServer entry point was not found. Dllname 可能未导出,或者内存中可能有损坏的 Dllname 版本。
请考虑使用 Pview 来检测该文件并删除它。
Dllname is not self-registerable or a corrupted version is in memory. 例如,键入 regsvr32 icwdial.dll 后就会返回该错误消息,因为 Icwdial.dll 文件不能自行注册。
如果您怀疑内存中有损坏的 Dllname 版本,请尝试重新启动计算机,或重新提取该文件的原始版本。
如果您运行的是 Windows NT,可能需要使用 Microsoft Windows NT Server 4.0 资源工具包 中的 Kill 或 Pview 工具。
有关其他信息,请单击以查看以下 Microsoft 知识库文章: 197155 如何终止孤立进程 OleInitialize failed (or OleUninitialize failed). Regsvr32 必须先初始化 COM 库,然后才能调用所需的 COM 库函数并在关闭时撤消对该库的初始化。
如果对 COM 库进行初始化或撤消初始化的尝试失败,就会出现这些错误消息。
例如,Ole32.dll 文件 可能已经损坏,或者其版本有误。
LoadLibrary("Dllname") failed.GetlastError returns 0x00000485 在 Winerror.h 中,0x00000485 = 1157 (ERROR_DLL_NOT_FOUND),表示“找不到运行该应用程序所需的某个库文件”。
例如,键入 regsvr32 missing.dll 后,如果找不到 Missing.dll 文件,就会返回该错误消息。
LoadLibrary("Dllname") failed.GetLastError returns 0x00000002 在 Winerror.h 中,0x00000002 = 2 (ERROR_FILE_NOT_FOUND),表示“系统找不到指定的文件”。
换言之,系统找不到相关的 DLL。
例如,如果键入 regsvr32 icwdial.dll,而此时缺少 Tapi32.dll(依赖项),就会返回该错误消息。
LoadLibrary("dskmaint.dll") failed.GetLastError returns 0x000001f 在 Winerror.h 中,0x000001f = 31 (ERROR_GEN_FAILURE),表示“附加到系统上的设备不能正常工作”。
如果您尝试注册 Win16 .dll 文件,就会发生此现象。
例如,键入 regsvr32 dskmaint.dll 会返回该错误消息。
DllRegisterServer (or DllUnregisterServer)in Dllname failed.返回代码是:字符串 在 Winerror.h 中搜索字符串。
Regsvr32.exe 和依赖项 RegSvr32.exe 依赖于 Kernel32.dll、User32.dll 和 Ole32.dll 文件(在 Windows NT 中,还依赖于 Msvcrt.dll 和 Advapi32.dll 文件)。
Regsvr32.exe 会加载您尝试注册或撤消注册的文件及其所有依赖项。
如果缺少必需的文件或者它们已损坏,该进程可能会失败。
您可以使用 Depends.exe 来确定您尝试注册或撤消注册的文件的依赖项。
在 Microsoft Windows 98 资源工具包 和 Microsoft Windows NT 4.0 资源工具包 支持工具中都提供了 Depends.exe。
247024 Tools Included with the Microsoft Windows 98 Resource Kit 三、一个快速注册 DLL 及 OCX 的方法 注意看罗!方法如下: 1、在资源管理器中找到 C:\Windows\System\Regsvr32.exe 并【复制】 ( 按鼠标右键选复制 ) 2、将目录移到 C:\Windows\SendTo 后,执行【贴上快捷方式】 ( 按鼠标右键选贴上快捷方式 ) 3、将快捷方式名称改成【REGISTER】 4、OK 现在...
.DLL文件怎么打开?
============================================================================1用记事本来打开2用vb或其他编程软件加到控件列表或引用3用dll函数查看器 软件名称: DLL函数查看器V2.0 软件简介: 查看DLL,Exe等文件函数 软件作者: 南山软件工作室 运行环境: Win9x,2000,XP 授权方式: 免费软件 软件大小: 199K 更新时间: 2003-9-9 23:14:03 下载次数: 总计:4605次 软件说明: DLL函数查看器V2.0是在1.0版的基础上作了重大的改进,不仅支持查看DLL文件的导出函数和引用函数信息及引用函数来源,也支持所有符合PE文件格式的文件,包括EXE文件、OCX文件等的导出函数和引用函数信息。
还有EXESCOPE.exe简体中文版在华军里有============================================================================...
装软件时无法注册dll/ocx
文件Regsvr32用法及情况介绍使用过activex的人都知道,activex不注册是不能够被系统识别和使用的,一般安装程序都会自动地把它所使用的activex控件注册,但如果你拿到的一个控件需要手动注册怎么办呢?如果修改注册表那就太麻烦了,在windows的system文件夹下有一个regsvr32.exe的程序,它就是windows自带的activex注册和反注册工具。
一、regsvr32的用法为: “regsvr32 [/s] [/n] [/i(:cmdline)] dllname”。
其中dllname为activex控件文件名,建议在安装前拷贝到system文件夹下。
参数有如下意义: /u——反注册控件 /s——不管注册成功与否,均不显示提示框 /c——控制台输出 /i——跳过控件的选项进行安装(与注册不同) /n——不注册控件,此选项必须与/i选项一起使用 执行该命令的方法:1、可以在“开始”--“运行”,调出运行的对话框,也可以使用Win+R热键,然后直接在输入栏输入即可2、在开始--运行 输入cmd,调出‘命令提示符’窗口,然后再执行regsvr32命令。
二、Regsvr32错误消息的说明 当使用 Regsvr32.exe 时,它会尝试加载该组件并调用它的 DLLSelfRegister 函数。
如果此尝试成功,Regsvr32.exe 会显示一个指示成功的对话框。
如果此尝试失败,Regsvr32.exe 会返回一条错误消息,其中可能会包括一个 Win32 错误代码。
以下列表介绍了 RegSvr32 错误消息和可能的原因。
Unrecognized flag:/invalid_flag键入的标志或开关组合无效(请参阅本文中的“Regsvr32.exe 的用法”一节)。
No DLL name specified.未包括 .dll 文件名(请参阅本文中的“Regsvr32.exe 的用法”一节)。
Dllname was loaded, but the DllRegisterServer or DllUnregisterServer entry point was not found.Dllname 不是 .dll 或 .ocx 文件。
例如,键入 regsvr32 wjview.exe 就会生成该错误消息。
Dllname is not an executable file and no registration helper is registered for this file type.Dllname 不是可执行文件(.exe、.dll 或 .ocx)。
例如,键入 regsvr32 autoexec.bat 就会生成该错误消息。
Dllname was loaded, but the DllRegisterServer or DllUnregisterServer entry point was not found.Dllname 可能未导出,或者内存中可能有损坏的 Dllname 版本。
请考虑使用 Pview 来检测该文件并删除它。
Dllname is not self-registerable or a corrupted version is in memory.例如,键入 regsvr32 icwdial.dll 后就会返回该错误消息,因为 Icwdial.dll 文件不能自行注册。
如果您怀疑内存中有损坏的 Dllname 版本,请尝试重新启动计算机,或重新提取该文件的原始版本。
如果您运行的是 Windows NT,可能需要使用 Microsoft Windows NT Server 4.0 资源工具包 中的 Kill 或 Pview 工具。
有关其他信息,请单击以查看以下 Microsoft 知识库文章: 197155 如何终止孤立进程 OleInitialize failed (or OleUninitialize failed).Regsvr32 必须先初始化 COM 库,然后才能调用所需的 COM 库函数并在关闭时撤消对该库的初始化。
如果对 COM 库进行初始化或撤消初始化的尝试失败,就会出现这些错误消息。
例如,Ole32.dll 文件可能已经损坏,或者其版本有误。
LoadLibrary("Dllname") failed.GetlastError returns 0x00000485在 Winerror.h 中,0x00000485 = 1157 (ERROR_DLL_NOT_FOUND),表示“找不到运行该应用程序所需的某个库文件”。
例如,键入 regsvr32 missing.dll 后,如果找不到 Missing.dll 文件,就会返回该错误消息。
LoadLibrary("Dllname") failed.GetLastError returns 0x00000002在 Winerror.h 中,0x00000002 = 2 (ERROR_FILE_NOT_FOUND),表示“系统找不到指定的文件”。
换言之,系统找不到相关的 DLL。
例如,如果键入 regsvr32 icwdial.dll,而此时缺少 Tapi32.dll(依赖项),就会返回该错误消息。
LoadLibrary("dskmaint.dll") failed.GetLastError returns 0x000001f 在 Winerror.h 中,0x000001f = 31 (ERROR_GEN_FAILURE),表示“附加到系统上的设备不能正常工作”。
如果您尝试注册 Win16 .dll 文件,就会发生此现象。
例如,键入 regsvr32 dskmaint.dll 会返回该错误消息。
DllRegisterServer (or DllUnregisterServer)in Dllname failed.返回代码是:字符串在 Winerror.h 中搜索字符串。
Regsvr32.exe 和依赖项RegSvr32.exe 依赖于 Kernel32.dll、User32.dll 和 Ole32.dll 文件(在 Windows NT 中,还依赖于 Msvcrt.dll 和 Advapi32.dll 文件)。
Regsvr32.exe 会加载您尝试注册或撤消注册的文件及其所有依赖项。
如果缺少必需的文件或者它们已损坏,该进程可能会失败。
您可以使用 Depends.exe 来确定您尝试注册或撤消注册的文件的依赖项。
在 Microsoft Windows 98 资源工具包 和 Microsoft Windows NT 4.0 资源工具包 支持工具中都提供了 Depends.exe。
247024 Tools Included with the Microsoft Windows 98 Resource Kit 三、一个快速注册 DLL 及 OCX 的方法注意看罗!方法如下:1、在资源管理器中找到 C:\Windows\System\Regsvr32.exe 并【复制】 ( 按鼠标右键选复制 )2、将目录移到 C:\Windows\SendTo 后,执行【贴上快捷方式】 ( 按鼠标右键选贴上快捷方式 )3、将快捷方式名称改成【REGISTER】4、OK现在,如果您想替...
DLL格式的文件用什么打开
1用记事本来打开2用vb或其他编程软件加到控件列表或引用3用dll函数查看器软件名称: DLL函数查看器V2.0软件简介: 查看DLL,Exe等文件函数软件作者: 南山软件工作室运行环境: Win9x,2000,XP授权方式: 免费软件软件大小: 199K更新时间: 2003-9-9 23:14:03下载次数: 总计:4605次软件说明: DLL函数查看器V2.0是在1.0版的基础上作了重大的改进,不仅支持查看DLL文件的导出函数和引用函数信息及引用函数来源,也支持所有符合PE文件格式的文件,包括EXE文件、OCX文件等的导出函数和引用函数信息。
后缀是dll 或sys 或dat或ocx的文件分别是什么文件或程序?用什么软件...
比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。
可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。
在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序 EXE 文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时也会消耗较大的内存空间,造成系统资源的浪费;另一个缺点是,在编写大的 EXE 程序时,在每次修改重建时都必须调整编译所有源代码,增加了编译过程的复杂性,也不利于阶段性的单元测试。
Windows 系统平台上提供了一种完全不同的较有效的编程和运行环境,你可以将独立的程序模块创建为较小的 DLL (Dynamic Linkable Library) 文件,并可对它们单独编译和测试。
在运行时,只有当 EXE 程序确实要调用这些 DLL 模块的情况下,系统才会将它们装载到内存空间中。
这种方式不仅减少了 EXE 文件的大小和对内存空间的需求,而且使这些 DLL 模块可以同时被多个应用程序使用。
Windows 自己就将一些主要的系统功能以 DLL 模块的形式实现。
一般来说,DLL 是一种磁盘文件,以.dll、.DRV、.FON、.SYS 和许多以 .EXE 为扩展名的系统文件都可以是 DLL。
它由全局数据、服务函数和资源组成,在运行时被系统加载到调用进程的虚拟空间中,成为调用进程的一部分。
如果与其它 DLL 之间没有冲突,该文件通常映射到进程虚拟空间的同一地址上。
DLL 模块中包含各种导出函数,用于向外界提供服务。
DLL 可以有自己的数据段,但没有自己的堆栈,使用与调用它的应用程序相同的堆栈模式;一个 DLL 在内存中只有一个实例;DLL 实现了代码封装性;DLL 的编制与具体的编程语言及编译器无关。
在 Win32 环境中,每个进程都复制了自己的读/写全局变量。
如果想要与其它进程共享内存,必须使用内存映射文件或者声明一个共享数据段。
DLL 模块需要的堆栈内存都是从运行进程的堆栈中分配出来的。
Windows 在加载 DLL 模块时将进程函数调用与 DLL 文件的导出函数相匹配。
Windows 操作系统对 DLL 的操作仅仅是把 DLL 映射到需要它的进程的虚拟地址空间里去。
DLL 函数中的代码所创建的任何对象(包括变量)都归调用它的线程或进程所有。
调用方式 1、静态调用方式:由编译系统完成对 DLL 的加载和应用程序结束时 DLL 卸载的编码(如还有其它程序使用该 DLL,则 Windows 对 DLL 的应用记录减1,直到所有相关程序都结束对该 DLL 的使用时才释放它,简单实用,但不够灵活,只能满足一般要求。
隐式的调用:需要把产生动态连接库时产生的 .LIB 文件加入到应用程序的工程中,想使用 DLL 中的函数时,只须说明一下。
隐式调用不需要调用 LoadLibrary() 和 FreeLibrary()。
程序员在建立一个 DLL 文件时,链接程序会自动生成一个与之对应的 LIB 导入文件。
该文件包含了每一个 DLL 导出函数的符号名和可选的标识号,但是并不含有实际的代码。
LIB 文件作为 DLL 的替代文件被编译到应用程序项目中。
当程序员通过静态链接方式编译生成应用程序时,应用程序中的调用函数与 LIB 文件中导出符号相匹配,这些符号或标识号进入到生成的 EXE 文件中。
LIB 文件中也包含了对应的 DL L文件名(但不是完全的路径名),链接程序将其存储在 EXE 文件内部。
当应用程序运行过程中需要加载 DLL 文件时,Windows 根据这些信息发现并加载 DLL,然后通过符号名或标识号实现对 DLL 函数的动态链接。
所有被应用程序调用的 DLL 文件都会在应用程序 EXE 文件加载时被加载在到内存中。
可执行程序链接到一个包含 DLL 输出函数信息的输入库文件(.LIB文件)。
操作系统在加载使用可执行程序时加载 DLL。
可执行程序直接通过函数名调用 DLL 的输出函数,调用方法和程序内部其 它的函数是一样的。
2、动态调用方式:是由编程者用 API 函数加载和卸载 DLL 来达到调用 DLL 的目的,使用上较复杂,但能更加有效地使用内存,是编制大型应用程序时的重要方式。
显式的调用:是指在应用程序中用 LoadLibrary 或 MFC 提供的 AfxLoadLibrary 显式的将自己所做的动态连接库调进来,动态连接库的文件名即是上面两个函数的参数,再用 GetProcAddress() 获取想要引入的函数。
自此,你就可以象使用如同本应用程序自定义的函数一样来调用此引入函数了。
在应用程序退出之前,应该用 FreeLibrary 或 MFC 提供的 AfxFreeLibrary 释放动态连接库。
直接调用 Win32 的 LoadLibary 函数,并指定 DLL 的路径作为参数。
LoadLibary 返回 HINSTANCE 参数,应用程序在调用 GetProcAddress 函数时使用这一参数。
GetProcAddress 函数将符号名或标识号转换为 DLL 内部的地址。
程序员可以决定 DLL 文件何时加载或不加载,显式链接在运行时决定加载哪个 DLL 文件。
使用 DLL 的程序在使用之前必须加载(LoadLibrary)加载DLL从而得到一个DLL模块的句柄,然后调用 GetProcAddress 函数得到输出函数的指针,在退出之前必须卸载DLL(FreeLibrary)。
Windows将遵循下面的搜索顺序来定位 DLL: 包含EXE文...
windows7的dll 文件是什么
下面来介绍一个检测壳的软件 PEID v0.92 这个软件可以检测出 450种壳 新版中增加病毒扫描功能,是目前各类查壳工具中,性能最强的。
另外还可识别出EXE文件是用什么语言编写的VC++、Delphi、VB或Delphi等。
支持文件夹批量扫描 我们用PEID对easymail.exe进行扫描 找到壳的类型了 UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo 说明是UPX的壳 下面进行 步骤2 脱壳 对一个加了壳的程序,去除其中无关的干扰信息和保护限制,把他的壳脱去,解除伪装,还原软件本来的面目。
这个过程就叫做脱壳。
脱壳成功的标志 脱壳后的文件正常运行,功能没有损耗。
还有一般脱壳后的文件长度都会大于原文件的长度。
即使同一个文件,采用不同的脱壳软件进行脱壳,由于脱壳软件的机理不通,脱出来的文件大小也不尽相同。
关于脱壳有手动脱壳和自动脱壳 自动脱壳就是用专门的脱壳机脱 很简单 按几下就 OK了 手动脱壳相对自动脱壳 需要的技术含量微高 这里不多说了 UPX是一种很老而且强大的壳 不过它的脱壳机随处就能找到 UPX本身程序就可以通过 UPX 文件名 -d 来解压缩 不过这些需要的 命令符中输入 优点方便快捷 缺点DOS界面 为了让大家省去麻烦的操作 就产生了一种叫 UPX SHELL的外壳软件 UPX SHELL v3.09 UPX 外壳程序! 目的让UPX的脱壳加壳傻瓜化 注:如果程序没有加壳 那么我们就可以省去第二步的脱壳了,直接对软件进行分析了。
脱完后 我们进行 步骤3 运行程序 尝试注册 获取注册相关信息 通过尝试注册 我们发现一个关键的字符串 “序列号输入错误” 步骤4 反汇编 反汇编一般用到的软件 都是 W32Dasm W32dasm对于新手 易于上手 操作简单 W32Dasm有很多版本 这里我推荐使用 W32Dasm 无极版 我们现在反汇编WebEasyMail的程序文件easymail.exe 然后看看能不能找到刚才的字符串 步骤5 通过eXeScope这个软件来查看未能在w32dasm中正确显示的字符串信息 eXeScope v6.50 更改字体,更改菜单,更改对话框的排列,重写可执行文件的资源,包括(EXE,DLL,OCX)等。
是方便强大的汉化工具,可以直接修改用 VC++ 及 DELPHI 编制的程序的资源,包括菜单、对话框、字符串表等 新版可以直接查看 加壳文件的资源 我们打开eXeScope 找到如下字串符 122,"序列号输入错误 " 123,"恭喜您成为WebEasyMail正式用户中的一员! " 124,注册成功 125,失败 重点是122 步骤6 再次返回 w32dasm * Possible Reference to String Resource ID=00122: "?鲹e?" 但是双击后 提示说找不到这个字串符 不是没有 是因为 "?鲹e?"是乱码 w32dasm对于中文显示不是太好 毕竟不是国产软件 先把今天会用到的汇编基本指令跟大家解释一下 mov a,b ;把b的值赋给a,使a=b call :调用子程序 ,子程序以ret结为 ret :返回主程序 je或jz :若相等则跳转 jne或jnz :若不相等则跳转 push xx:xx 压栈 pop xx:xx 出栈 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。
里面的变量通常是局部变量、函数参数等。
我们搜索 Possible Reference to String Resource ID=00122 因为对E文支持很好 我们来到了 * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:00406F17(C) //跳转来自 406F17 | * Possible Reference to String Resource ID=00125: "1%" | :004070DD 6A7D push 0000007D :004070DF 8D4C2410 lea ecx, dword ptr [esp+10] :004070E3 E8F75A1200 call 0052CBDF * Possible Reference to String Resource ID=00122: "?鲹e?" | :004070E8 6A7A push 0000007A :004070EA 8D4C2408 lea ecx, dword ptr [esp+08] :004070EE E8EC5A1200 call 0052CBDF 我们来到 :00406F01 8B876C080000 mov eax, dword ptr [edi+0000086C]这里是对 :00406F07 8B4C2408 mov ecx, dword ptr [esp+08] :00406F0B 50 push eax//这两个eax和ecx入栈就比较让我们怀疑了 :00406F0C 51 push ecx//产生注册码 :00406F0D E8AE381100 call 0051A7C0//这CALL里对注册位应该会有设置 :00406F12 83C40C add esp, 0000000C :00406F15 85C0 test eax, eax// 检测注册位 :00406F17 0F85C0010000 jne 004070DD //不存在注册位 就会跳到4070DD就会出现那个错误的字串符了 我们记住406F01这个地址 接着进行下一步 步骤7 这一步我们进行的是调试 用到的软件是ollydbg 好了我们找到了 注册码0012AF04 00FD4A10 ASCII "04893e058f9c1c9fb16764c3b86f78e6" 但是这个并不是我们的主要目的 我们还要做出属于自己的注册机 相信这个是很多人梦寐以求的事情 步骤8 制作注册机 注册机我们需要的是一个KEYMAKE的软件 因为2.0是演示版而且停止更新了 所以我们用1.73版 做一个内存注册机 需要下面几个资料 中断地址:406F0C 中断次数:1 第一字节:51 指令长度:1 好了 一个完美的注册机 就产生了
regsvr32 vbscript.dll问题
1、“开始”-“运行”-输入chkdsk。
按步骤重启后看问题能不能解决。
2、到别人的机器上复制一个同样的文件放到自己的机器里。
一般都是System32里面。
Regsvr32命令修复系统故障实例使用过activex的人都知道,activex不注册是不能够被系统识别和使用的,一般安装程序都会自动地把它所使用的activex控件注册,但如果你拿到的一个控件需要手动注册怎么办呢?如果修改注册表那就太麻烦了,在windows的system文件夹下有一个regsvr32.exe的程序,它就是windows自带的activex注册和反注册工具。
2000系统的regsvr32.exe在winnt\system32文件夹下;WInXP系统的regsvr32.exe在windows\system32文件夹下regsvr32的用法为:"regsvr32 [/s] [/n] [/i(:cmdline)] dllname”。
其中dllname为activex控件文件名,建议在安装前拷贝到system文件夹下。
参数有如下意义:/u——反注册控件/s——不管注册成功与否,均不显示提示框/c——控制台输出/i——跳过控件的选项进行安装(与注册不同)/n——不注册控件,此选项必须与/i选项一起使用执行该命令的方法:1、可以在“开始”--“运行”,调出运行的对话框,也可以使用Win+R热键,然后直接在输入栏输入即可2、在开始--运行 输入cmd,调出‘命令提示符’窗口,然后再执行regsvr32命令。
二、Regsvr32错误消息的说明当使用 Regsvr32.exe 时,它会尝试加载该组件并调用它的 DLLSelfRegister 函数。
如果此尝试成功,Regsvr32.exe 会显示一个指示成功的对话框。
如果此尝试失败,Regsvr32.exe 会返回一条错误消息,其中可能会包括一个Win32 错误代码。
以下列表介绍了 RegSvr32 错误消息和可能的原因。
Unrecognized flag:/invalid_flag键入的标志或开关组合无效(请参阅本文中的“Regsvr32.exe 的用法”一节)。
No DLL name specified.未包括 .dll 文件名(请参阅本文中的“Regsvr32.exe 的用法”一节)。
Dllname was loaded, but the DllRegisterServer or DllUnregisterServer entry point was not found.Dllname不是.dll 或.ocx 文件。
例如,键入 regsvr32 wjview.exe 就会生成该错误消息。
例如,键入regsvr32 icwdial.dll 后就会返回该错误消息,因为 Icwdial.dll 文件不能自行注册。
如果您怀疑内存中有损坏的Dllname 版本,请尝试重新启动计算机,或重新提取该文件的原始版本。
如果您运行的是 Windows NT,可能需要使用 Microsoft Windows NT Server 4.0 资源工具包 中的 Kill 或 Pview 工具。
有关其他信息,请单击以查看以下 Microsoft 知识库文章:197155 如何终止孤立进程OleInitialize failed (or OleUninitialize failed).Regsvr32 必须先初始化 COM 库,然后才能调用所需的 COM 库函数并在关闭时撤消对该库的初始化。
一、轻松修复IE浏览器regsvr32 Shdocvw.dllregsvr32 Oleaut32.dllregsvr32 Actxprxy.dllregsvr32 Mshtml.dllregsvr32 Urlmon.dllregsvr32 browseui.dll作用:1、同时运行以上命令不仅可以解决IE不能打开新的窗口,用鼠标点击超链接也没有任何反应的问题;2、还能解决大大小小的其它IE问题,比如网页显示不完整,JAVA效果不出现,网页不自动跳转,打开某些网站时总提示‘无法显示该页’等。
二、解决Windows无法在线升级的问题regsvr32 wupdinfo.dll作用:Windows的漏洞很多,每隔一段时间就需要使用“Windows Update”升级程序进行在线升级,不过“Windows Update”经常出现无法使用的情况,这时,我们可以使用Regsvr32来解决这个问题。
三、防范网络脚本病毒有新招regsvr32 /u scrrun.dll作用:网络脚本病毒嵌在网页中,上网时在不知不觉中机器就会感染上这种病毒。
笔者认为单纯使用杀毒软件并不能有效地防范这些脚本病毒,必须从病毒传播的机理入手。
网络脚本病毒的复制、传播都离不开FSO对象(File System Object,文件系统对象),因此禁用FSO对象就能有效地控制脚本病毒的传播。
如果需要使用FSO对象,键入“regsvr32 scrrun.dll”命令即可。
四、卸载Win XP自带的ZIP功能regsvr32 /u zipfldr.dll作用:Win XP以功能强大而著称,但有些功能却常常令人有“鸡肋”之感,比如Win XP自带的ZIP功能和图片预览功能,不仅占用了系统资源,功能也远不如第三方软件强大。
其实用Regsvr32命令可以很容易地卸载这些功能。
五、修复无法缩略图查看文件问题2000: 开始→运行,输入regsvr32 thumbvw.dllXP: 开始→运行,输入regsvr32 shimgvw.dll六、让WMP播放器支持RM格式很多朋友喜欢用Windows Media Player(以下简称WMP)播放器,但是它不支持RM格式,难道非得安装其它播放软件吗?笔者有办法。
以Win XP为例,首先下载一个RM格式插件,解压缩后得到两个文件夹: Release(用于Windows 9x)和Release Unicode (用于Windows 2000/XP);将Release Unicode文件夹下的RealMediaSplitter.ax文件拷贝到“系统盘符\WINDOWS\System32\”目录下;在“开始→运行”中键入“regsvr32 RealMediaSplitter.ax”,点击“确定”即可。
接着下载解码器,如Real Alternative,安装后就能用WMP播放RM格式的影音文件了。
七、让WMP9的播放器出现有些音乐网页的在线点歌需要用到...
JPEG 图像 不能查看?
1.可能中病毒了,最近有病毒能把机子里面的图标都改了,什么都打不开.先杀毒确保不是病毒问题2可能windows图片和传真查看器有问题了,它对应一个DLL文件,这个文件是:shimgvw.dll,不过,运行这个看看结果: rundll32.exe C:\WINDOWS\system32\shimgvw.dll,ImageView_Fullscreen3.如果还不行,把下面代码保存为".bat"文件,运行看看for %%i in (c:\windows\system32\*.dll,*.ocx) do regsvr32 /s /%%
转载请注明出处51数据库 » 查看软件 dll ocx
嘉言懿行还要阳光