微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

DLL文件怎么打开?

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反编译工具:DLLtoC。能够把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

#includestdafx.h

#includeWin32Dll.h

#pragmawarning(disable:4730)

#pragmawarning(disable:4733)

#pragmawarning(disable:4799)

#defineDB(b)__asm_emitb

__declspec(naked)voidWin32Dll_CodeStart()

{

__asm{

MOVEAX,0x00000001

RETN0x000C

}

}

__declspec(naked)voidWin32Dll_TestFun()

{

__asm{

MOVEAX,DWORDPTR[ESP+0x04]

TESTEAX,EAX

JZloc_10001028

PUSH0x00

PUSHoffset[Win32Dll_rdata.m1280_str]

PUSHEAX

PUSH0x00

CALL_LONG(DWORDPTR[offsetWin32Dll_rdata.mEC_MessageBoxA])

loc_10001028:

RET

}

}

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐