DLL文件脱壳

2024-04-18

DLL文件脱壳(通用14篇)

篇1:DLL文件脱壳

DLL文件的脱壳与EXE文件步骤差不多,所不同的是,DLL文件多了个基址重定位表等要考虑,

在出版的《加密与解密》(第二版)中以UPX,PECompact为例讲述了DLL重定位重建的方法,由于本人的思路限制,当时只是从UPX,PECompact自身特点找思路解决这问题,即先分析UPX,PECompact对重定位表处理算法,然后写工具逆算法还原重定位表,如UPXAngela.exe等工具。这种思路的通用性不好,针对不同的壳和版本,要重写工具,并且逆算法可能不完美,从而存在bug。

后来,askformore在“重建重定位表脚本”一文中,提出了一种更通用性的解决办法,利用外壳重定位相关数据时,会根据外壳转储的重定位表确定要重定位的RVA,完成代码重定位工作。将这些要重定位的RVA提取出来,再将这些RVA根据重定位表的定义重新生成一份新的重定位表。shoooo也曾提到过这个思路。于是,在第三版重写这部分时,根据这个思路写了一款工具来完成这个重建功能,详见附件的ReloREC。另外,ReloREC重构重定位表的算法代码,参考了ccfer在看雪论坛.珠海金山逆向分析挑战赛第二阶段第三题提交的代码。在此一并表示感谢!

声明:本文以第三版“13.5DLL文件脱壳”一文和其他章节临时整理组织,稍有简化,可能有部分地方用词和描述不是太连贯。

加壳的DLL处理重定位表有以下几种情况:

1)完整的保留了原重定位表;

2)对原重定位表进行了加密处理;

等等

像ASPack,ASProtect等壳属于第1种情况,没有加密重定位表,脱壳后,只需找到重定位的地址和大小即可,

像UPX,PECompact等壳属于第2种情况,必须重建重定位表,这也是本文所要讨论的,本文以UPX为例来讲述一下重定位的重建。

用UPXv3.01将EdrLib.dll文件加壳,用PE工具查看其PE信息。

EntryPoint:E640h

ImageBase:400000h

13.5.1寻找OEP

当DLL被初次映射到进程的地址空间中时,系统将调用DllMain函数,当卸载DLL时也会再次调用DllMain函数。也就是说,DLL文件相比EXE文件运行有一些特殊性,EXE的入口点只在开始时执行一次,而DLL的入口点在整个执行过程中至少要执行两次。一次是在开始时,用来对DLL做一些初始化。至少还有一次是在退出时,用来清理DLL再退出。所以DLL找OEP也有两条路可以走,一是载入时找,另一方法是在退出时找。而且一般来说前一种方法外壳代码较复杂,建议用第二种方法。

UPX壳比较简单,往下翻翻,就可看到跳到OEP的代码:

代码:

篇2:DLL文件脱壳

答:在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中,

如何删除DLL文件

篇3:拯救中枪的DLL文件

查看中招的dll文件

系统中的dll文件被杀毒软件误杀后,通常不会像exe文件那样直观的表现出来,而是在使用相关功能时出现未知的状况,比较常见的问题如播放器无法正常加载视频、Flash页面无法被加载、浏览器无法点击打开新的页面等,而此前没有类似经历的用户总是会习惯性地检查软件自身的问题,而不会想到是系统中的dll被干掉了。所以假如刚刚对系统进行全面查杀后,出现了以前从没遇到过的未知错误,最好先打开杀毒软件的清理日志检查是否有dll被强制隔离或删除(如图1),并且查询该dll文件在系统中的作用。

图1中被隔离的pnidui.dll文件是Windows 7/Vista系统中显示托盘图标的显示文件,如果将该文件彻底删除,那么无论如何设置,屏幕右下方的托盘也无法再显示网络连接的图标了(如图2)。

寻回dll文件

当系统中的各类文件出现遗失或被改动的时候,最保险的办法自然是使用Windows安装盘进入系统的“故障恢复控制台”模式,将相应的文件复制到系统目录中,不过早已经习惯了图形界面的我们也许已经记不住控制台中有多少个DOS命令了。

由于dll命令被系统误杀的情况太常见了,所以网络上有许多网站专门提供系统dll文件供用户下载,不过因为不同版本号系统下的文件并不兼容,而下载网站上提供的文件信息又不是太完整,所以最好的办法是通过第三方工具来下载并修复。比如“dll文件智能修复”就可以自动检测用户的当前系统,并且在用户输入修复的dll文件名后,即可自动连接到网络数据库中查找相应的文件进行修复(如图3)。

Dll文件的加载与注销

用户使用工具或是安装光盘修复的dll文件通常都会自动加载,但是也可能出现意外的情况导致dll无法正常工作(除了杀毒软件误杀了dll文件外,用户非法关机也可能造成这一情况)。

当系统提示相应的dll无法被正常加载时(如图4)或是经常出现系统内存不能为读的错误提示窗口,用户只需对dll进行注销并重新注册即可解决问题:

在“运行”窗口下输入:

regsvr32.exe 文件名.dll /u(在系统中注销该dll文件)

regsvr32.exe 文件名.dll /s(在系统中重新注册该dll文件)

如果用户需要重新注册的dll文件实在太多,那么可以在命令提示符窗口下运行重置所有的dll 文件的命令:

for %1 in (%windir%system32*.dll) do regsvr32.exe /s %1

当然,如果使用该命令后系统内存不能为读的错误提示依旧存在,那么用户恐怕真的需要打开机箱查看一下自己的内存条了。

提示

篇4:DLL文件脱壳

运行时出错!

错误信息:无法找到指定DLL库文件“SkinH_EL.dll”中的输出命令“SkinH_Attach_Ex”

这是用易语言编写的程序,缺少了运行库

篇5:电脑删除无用的dll文件

删除无用Dll文件方法之一:注册表手动删除

1、第一种方法就是直接手动删除Dll动态链接文件,怎样找到这些无用的Dll文件呢,当然只有进入注册表才能找到。进入注册表方法,从“开始”菜单中,打开运行程序,然后在运行窗口中,输入regedit命令,按确定。

2、进入注册表编辑器后,选择“HKEY_LOCAL_MACHINE”这一根键项。

3、然后按“HKEY_LOCAL_MACHINE,SOFTWARE,Microsoft,Windows,CurrentVersion,SharedDlls”此路径,定位于SharedDlls项。

4、在右侧窗口的,找到数据为0的项,如果被遮挡了,看不到数据,可以把窗口调整一下。

5、然后选择数据为0的这一项,双击,查看这一项的路径,也就是“数值名称”这项。记下后,直接右键删除此项。

6、然后按记下的路径,找到这个文件夹,再从这个文件夹中找到这个Dll文件,再将它删除掉,如果还有其它Dll残留文件,按以上方法反复清理,手动删除就完成了。

删除无用Dll方法之二:软件清理

1、如果用手动方法清理,会很麻烦,一般人了人也做不到,最好的方法是用软件来清理,又方便又安全,这样的软件有很多,下面以为例,先打开,然后选择左侧的“系统清理”这一项。

2、打开“系统清理”后,再从子项中选择“冗余Dll清理”,再到右侧,选择一个磁盘,一般Dll冗余文件都在C盘,所以勾选C,再按“分析”按钮。

3、经过一定时间的扫描分析后,就能找出无用的Dll动态链接库文件,如果系统比较新,找出无用的Dll文件就比较少,我的系统只安装了几天,所以只找到了两个,如果用的久,肯定会找出很多,找到后,按“全部删除”按钮进行清除。

4、如果在清除后,发现某个软件因缺少Dll动态链接文件而不能运行,可以再打开,然后根据提示缺少的Dll文件名,按“恢复”按钮进行恢复。

注册Dll文件方法:

1、如果备份的Dll文件丢失了,或者原有的Dll文件丢失或损坏导致软件无法应用,可以根据缺少Dll文件名的提示,到网上下载Dll文件,下载时注意系统版本,以及系统位数,是32位,还是64位,下载回来后,解压,然后复制或移到到C:Windows,System32文件夹下,如果是64位系统,复制或移到到C:Windows,SysWOW64文件夹。

篇6:电脑开机DLL文件出错解决方法

办法一:

开始――运行――regedit,在下面的位置删除相应键值:

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun

dll因为某些原因(最大的可能是因为它是个病毒或流氓软件的dll文件,被杀软删除了)丢失了,但其相关的注册信息却还在,导致系统开机时还加载它,却又找不到它的文件,所以报错,

电脑开机DLL文件出错解决方法

如果你点击“确定”后,系统没有什么不正常,并且可以正常运行的话,你可以用这个软件清理掉这个开机加载项,以后开机就不会出现这个信息了。

办法二:

开始――运行――msconfig――启动――把加载项***.dll的那个勾去掉,重启电脑,通常到这就可以了,如果还弹出来再进行第二步。

办法三:

篇7:Dll文件损坏引起的系统故障

我先找来PE工具盘,用光盘启动计算机加载用户注册表,修改HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCrashControl下的AutoReboot值把“1”改为“0”,重启机器,这次系统不自动重启了,而是出现了蓝屏,蓝屏信息只有一行“STOP:c0000135 Unknown Hard Error”。同事反映没有改动过任何硬件,因此很可能是dll文件引起的系统崩溃,而kernerl32.dll、advapi.dll、user32.dll、gdi32.dll四个文件不管哪一个出现问题都会引起STOP:c0000135 Unknown Hard Error蓝屏。很可能同事在添加删除某个程序时,把哪个dll文件给误破坏或删除了,所以我干脆把这4个文件一起替换,于是从安装光盘i386文件夹中直接提取了四个文件覆盖原来的文件,重启机器,系统启动正常了,问题解决。

小编有话说

我有一个亲戚,IE突然无法正常浏览网页了,另外还有帮助文件看不了,添加或删除程序窗口一片空白等问题,从这些现象初步估计是系统中显示网页的组件程序出问题了,于是从安装有相同版本IE的机器中提取出mshtml、mshtml.dll、mshtmled.dll、mshtmler.dll等文件,覆盖了WINDOWSsystem32文件夹下的同名文件,问题果然得到解决。

篇8:DLL文件脱壳

技巧之如何注册DLL或OCX文件

。这个方法只要右击你想注册或反注册的OCX或DLL就可以了。它的原理是通过修改注册表使右击OCX或DLL文件时出现注册和反注册的菜单项。

下面介绍这个方法

注册DLL文件:打开HKEY_CLASSES_ROORDllfile,新建项shell,再其下新建Register。你会发现Register就是右键弹出的菜单名,再在其下建command,修改其“默认值”为Regsvr32 %1

反注册DLL文件:打开HKEY_CLASSES_ROORDllfile,新建项shell,再其下新建Unregister,再在其下建command,修改其“默认值”为Regsvr32 %1 /u。

注册和反注册OCX文件打开HKEY_CLASSES_ROOROCXfile,然后其它的方法和上面的一样的了。

右击一个OCX或DLL试试看,出现了我们想要的Register和Unregister菜单项。

Activex注册和反注册工具――Regsvr32

使用过Activex的人都知道,Activex不注册是不能够被系统识别和使用的,一般安装程序都会自动地把它所使用的Activex控件注册,但如果你拿到的一个控件需要手动注册怎么办呢?如果修改注册表那就太麻烦了,在Windows的system文件夹下有一个regsvr32.exe的程序,它就是Windows自带的Activex注册和反注册工具。它的用法为:

regsver32详解

regsvr32 [/s] [/n] [/i(:cmdline)] dllname

其中dllname为activex控件文件名,建议在安装前拷贝到system文件夹下,

参数有如下意义:

/u――反注册控件

/s――不管注册成功与否,均不显示提示框

/c――控制台输出

/i――跳过控件的选项进行安装(与注册不同)

/n――不注册控件,此选项必须与/i选项一起使用

如笔者要注册一amovie.ocx控件,则打入regsvr32 amovie.ocx即可,要反注册它时只需使用regsvr32 /u amovie.ocx就行了。

regsvr32 /s APIINEX.dll 注册DLL文件regsvr32 /s /u APIINEX.dll 卸载DLL文件regsvr32 Shortcut.ocx 注册ocx文件regsvr32 /u Shortcut.ocx 卸载ocx文件/s .dll,.ocx 注册成功后不显示提示信息。/u .dll,.ocx 卸载

可把注册控件的命令放入批处理文件中。

regedit /s adofre15.reg

篇9:DLL文件脱壳

1:从新安装3dmax软件,这样我们就能修复此问题。

2:修复dll文件,到别的电脑复制到System文件夹,然后从新启动电脑,如果还不行,请进行如下操作,

点击“开始”菜单键---选择“运行”---然后输入“Msconfig”进入系统配置实用程序对话框以后单击“System.ini”标签,找到提示丢失的DLL文件,使其不被选中,就会解决dll文件缺失问题。

篇10:DLL文件脱壳

。 下面介绍这个方法 注册DLL文件:打开HKEY_CLASSES_ROOR/Dllfile,新建项shell,再其下新建Register。你会发现Register就是右键弹出的菜单名,再在其下建command,修改其“默认值”为Regsvr32 %1 反...

正文:

大家注册DLL或OCX的方法应该用Regsvr32.exe,用得多了大家一定会觉得在运行中写一长串东西很是烦人吧!这里我向大家介绍一种麻烦一次方便“一生”的方法。这个方法只要右击你想注册或反注册的OCX或DLL就可以了。它的原理是通过修改注册表使右击OCX或DLL文件时出现注册和反注册的菜单项。

下面介绍这个方法

注册DLL文件:打开HKEY_CLASSES_ROOR/Dllfile,新建项shell,再其下新建Register。你会发现Register就是右键弹出的菜单名,再在其下建command,修改其“默认值”为Regsvr32 %1

反注册DLL文件:打开HKEY_CLASSES_ROOR/Dllfile,新建项shell,再其下新建Unregister,再在其下建command,修改其“默认值”为Regsvr32 %1 /u。

注册和反注册OCX文件打开HKEY_CLASSES_ROOR/OCXfile,然后其它的方法和上面的一样的了。

右击一个OCX或DLL试试看,出现了我们想要的Register和Unregister菜单项。

Activex注册和反注册工具――Regsvr32

使用过Activex的人都知道,Activex不注册是不能够被系统识别和使用的,一般安装程序都会自动地把它所使用的Activex控件注册,但如果你拿到的一个控件需要手动注册怎么办呢?如果修改注册表那就太麻烦了,在Windows的system文件夹下有一个regsvr32.exe的程序,它就是Windows自带的Activex注册和反注册工具,

它的用法为:

regsver32详解

regsvr32 [/s] [/n] [/i(:cmdline)] dllname/> 其中dllname为activex控件文件名,建议在安装前拷贝到system文件夹下。

参数有如下意义:

/u――反注册控件

/s――不管注册成功与否,均不显示提示框

/c――控制台输出

/i――跳过控件的选项进行安装(与注册不同)

/n――不注册控件,此选项必须与/i选项一起使用

如笔者要注册一amovie.ocx控件,则打入regsvr32 amovie.ocx即可,要反注册它时只需使用regsvr32 /u amovie.ocx就行了。

regsvr32 /s APIINEX.dll 注册DLL文件regsvr32 /s /u APIINEX.dll 卸载DLL文件regsvr32 Shortcut.ocx 注册ocx文件regsvr32 /u Shortcut.ocx 卸载ocx文件/s .dll,.ocx 注册成功后不显示提示信息。/u .dll,.ocx 卸载/> 可把注册控件的命令放入批处理文件中。

篇11:DLL文件脱壳

用电脑时间长了,经常会遇到这样的问题:当你打开某程序,突然会弹出一个提示窗口,说程序中某个dll文件丢失或损坏,无法正常运行。碰到这种情况,常常叫人火冒三丈,而且又不知道该如何去解决。重装程序吧,比较麻烦,也浪费时间,其实这时你可以试着去在网络上找寻并下载相同的dll文件,说不定问题便能迎刃而解。下面笔者将要推荐的这个专业dll文件下载网站就不错,大家不妨试试。

首先在浏览器中登录这个dll文件下载网站(http://dll.ylmf.net),你可以在上方空白框内直接键入丢失的dll文件全称,而后点击 “搜索”按钮查找(如图1)。如果你不太记得dll文件全名,该站点下方提供了两种快捷查找方式,一种是“热门dll文件”查找,它里面罗列有常见且热门的dll文件。一种是根据你所搜索的dll文件的首个字母来找寻。不管你是选择何种方式来搜索dll文件,在该站点中操作都比较容易。

搜索完毕之后,在新窗口下方会列出搜索结果,假如它正是你要找的那个dll文件,继续点击一下该文件名称(如图2)。接着会来到文件下载页面,该站点会自动检测什么系统需要用到该dll文件,并将各个系统的名称逐一显示在下方,你现在需要做的,便是勾选自己所用的系统名称,最后点击“本地下载”按钮(如图3),把这个dll文件下载到本地计算机,再将该dll文件拷贝到指定程序的文件夹覆盖或替换就大功告成了。

篇12:DLL文件脱壳

2、任务管理器窗口上点击“文件”-“新建文件”,再将命令C:WINDOWSsystem32输入,点击确定按钮; 3、接着调出Win7命令提示符窗口,然后在命令提示符窗口上输入cd c:windowssystem32dllcache命令,再输入copy iertutil.dll c:windowssystem32命令,回车,

win7系统误删iertutil.dll文件的解决方法

篇13:DLL文件脱壳

如果大家使用的是Windows 95/98/Me系统,可以复制到C:WindowsSystem目录里面。

如果大家使用的是Windows NT/2000系统,可以请复制到C:WINNTSystem32目录里面。

如果大家使用的是Windows XP/win7系统,可以请复制到C:WindowsSystem32目录里面。

篇14:DLL文件脱壳

我使用的是Windows XP SP2系统,最近不知道什么原因,每次启动系统后,系统会自动弹出一个错误提示框,内容为“加载c:progra~1deskto~1castdmipn.dll时出错”,将其关闭后系统可以正常运行。虽然不影响系统,但每次启动系统都出现非常烦人。请问如何将其去除?

答:这是一款名为“桌面传媒”的广告软件被卸载或是被其他工具删除后而在注册中遗留有相关信息的原因。解决方法:单击“开始→运行”,输入“msconfig”并运行,在打开的窗口中选择“启动”选项卡(如图),找到与其相关的项目并将其删除即可。另外,也可以直接在注册表编辑器中依次展开“HKEY_LOCAL_MACHINESOFTWARE Microsoft Windows CurrentVersion RUN”项找到相关的项目并将其清除即可。

Q2、修改卡巴斯基升级方式

我使用的是卡巴斯基5.0版的杀毒软件,由于电脑现在暂时不能上网,需要从其他电脑中将升级包拷贝到本机再升级。请问,如何才能让卡巴斯基直接从本地文件夹中升级呢?

答:这个问题困扰了很多CFan的读者,我们已经收到几封提这样问题读者的来信了,问题其实很好解决,就在这里一并回答了。打开卡巴斯基主窗口,再打开“设置”选项卡,单击“设置更新”,在打开的窗口中将“更新源”设置为“从本地文件夹”,再单击“设置”按钮设置存放更新文件的目标文件夹即可。

Q3、如何在Word中输入单词的音标

我现在需要编辑一份含有英文单词音标的文档,在Word中找了半天都没找到输入音标的方法。请问,如何才能正确地为英文单词添加上标准的音标?

答:如果你安装了金山词霸(也可以直接将金山词霸的安装文件中的“Xdictksphonet.ttf”安装到系统中),之后,就可以直接在Word 中选择“插入→符号”,打开“符号”对话框选择字体项里选“Kingsoft Phonetic Plain”,接下来便可以在下面的列表中发现需要的音标符号了。

Q4、如何彻底卸载 RealOne Player 播放器

我的Windows XP SP2系统中原先安装过RealOne Player播放器,后来不知道被谁卸载掉了,但是卸载时没有卸载干净,我现在重新安装RealOne Player时,系统总是提示让我把旧版本的文件删除干净,接着就退出安装程序。我进入控制面板中的“添加或删除程序”也无法找到卸载项,到注册表中把所有与Real OnePlayer相关的项目都删除了,问题依旧。请问如何解决?

答:其实,RealOne Player播放器自带了卸载功能,用这个卸载功能可以彻底将其从系统中清除掉。方法是:在资源管理器中打开“C:Program FilesRealRealOne PlayerSetup”(这是默认的RealOne Player安装目录,如果安装时将其安装到其他文件夹,请酌情处理)文件夹,然后运行下面的“r1pclean.exe”程序,运行后输入“Y”,回车,再输入“Y”,再回车即可。

Q5、在MyMPC中无法看字幕

不知道什么原因导致我安装的MyMPC播放器无法看到字幕,重新安装也无法解决问题。请问该如何解决?

答:首先,尝试单击“开始→程序→MyMPC音视频解码包→设置工具→VobSub设置”,在打开的设置窗口中正确地设置字幕项。如果还不能解决问题,那就可能是因为你是升级安装MyMPC而导致的问题,可以通过下面的方法来解决:

将其卸载,之后再重新安装,在选择组件时,别管他提示关于Vodsub已经安装或尚未卸载的信息,选中Vodsub项并完成安装。如是还不行,再试试重新注册VSFilter.dll文件:从http://www.hanzify.org/index.php?Go=Show::List&ID=7668下载下来将其复制到%windir%system32 文件夹下,然后在“开始→运行”对话框中输入:regsvr32 vsfilter.dll 即可。

Q6、让译典通(Dr.eye)支持Acrobat Reader

我现在安装了译典通翻译工具,而我经常使用Acrobat Reader阅读器阅读PDF文档。请问,如何让译典通支持Acrobat Reader阅读器中打开的PDF文档中的翻译?

答:将译典通安装到系统中后,找到安装目录(或是安装文件中)中的“Dreye40.api”文件,并按照你的Acrobat Reader版本将其拷贝到相应的目录即可:

Acrobat 6.0 Reader 版用户:“C:Program FilesAdobeAcrobat 6.0Readerplug_ins”下 。

Acrobat 6.0 完整版用户:“C:Program FilesAdobeAcrobat 6.0Acrobatplug_ins”下 。

Acrobat 7.0 Reader版用户:“C:Program FilesAdobeAcrobat 7.0Readerplug_ins”下 。

上一篇:宏庄小学迎接区人大常委会工作评议方案下一篇:年货见闻作文