系统之家 - 专注分享最好的电脑系统软件!免费安全下载 系统之家首页 | Win7激活工具 | 热门专题
系统之家>您的位置:首页 > > 系统教程 > Win7系统教程 >

DLL文件怎么打开?

更新时间:2017-10-18 11:35:04| 编辑:本站整理 | 信息来源:本站整理|浏览数:

DLL文件是Dynamic Link Library的缩写,意为动态链接库。DLL文件一般被存放在C:WindowsSystem目录下。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应用程序所共用,这样的DLL文件被称为共享DLL文件。


 

  那么DLL文件怎么打开呢?其实,理论上DLL是不能打开的,如果您还是想打开,可以使用一些软件开发或反编译功能,比如DLL函数查看器,但不建议修改。当然也有的DLL是加了壳的,您需要先脱壳才可以。这里小编要提示大家删除DLL文件或修改DLL文件的内容,可能会导某些程序无法打开或运行错误,提示没有DLL文件。因此一般情况下不建议您打开DLL文件或进一步对其进行编辑操作。

虽然dll一般不能打开,不过有时我们还是可以对一些DLL文件进行反编译进行学习。

打开步骤:

1、如果DLL文件已经加壳,那么则先需要进行脱壳

2、脱壳之后再进行反编译;

3、根据反编译软件不同,有些反编译软件可以直接编译出源码


最近发现一个声称具有革命性的DLL反编译工具:DLL to C。能够把DLL转换回可编译的代码。 并且具有生成数据结构和反汇编代码段的功能。和其它的反编译或反汇编工具最大的不同是:它生成的代码是可以直接编译运行的。

以下是它反汇编后的部分代码:
 

C/C++ code
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "stdafx.h"
#include "Win32Dll.h"
 
#pragma warning (disable:4730)
#pragma warning (disable:4733)
#pragma warning (disable:4799)
#define DB(b) __asm _emit b
 
__declspec(nakedvoid Win32Dll_CodeStart()
{
__asm{
    MOV EAX, 0x00000001
    RETN 0x000C
}
}
 
__declspec(nakedvoid Win32Dll_TestFun()
{
__asm{
    MOV EAX,DWORD PTR [ESP+0x04]
    TEST EAX, EAX
    JZ loc_10001028
    PUSH 0x00
    PUSH offset [Win32Dll_rdata.m1280_str]
    PUSH EAX
    PUSH 0x00
    CALL_LONG(DWORD PTR [offset Win32Dll_rdata.mEC_MessageBoxA])
loc_10001028:
    RET
}
}



看起来还不错。并且这还只是一个新出的工具,估计以后会进一步改进。感兴趣的可以试用一下。


返回顶部


系统之家发布的系统镜像及软件均来至互联网,仅供学习和研究使用,不得用于任何商业用途并请在下载后24小时内删除,如果满意请联系版权方购买。
如果您发现本站侵害了您的版权,请立即联系我们,本站将第一时间进行相关处理。联系方式(见首页)
版权声明|下载声明 Copyright @ 2016 系统之家