EXE执行文件如何调用DLL?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EXE执行文件如何调用DLL?相关的知识,希望对你有一定的参考价值。

找到个OllyDBG可以反编和调试程序,用这个软件可以把DLL调用到EXE程序中去吗?这个DLL文件是网上下载的,是一个游戏但是不同版本的破解DLL,但游戏本身没有这个DLL文件,属于添加的。B版和C版已经有人做了破解的EXE,都可以调用这个DLL文件,那么A版我觉得也可以,我的想法是把DLL文件调用到A版的游戏执行文件中去,做一个A版的破解文件。但是我本身没有学过编程,有什么软件可以傻瓜式的调用DLL吗? 用OllyDBG可以吗?
最后声明一下,非挂马! 请高手指教。方法一定要详细。

1:新建安装部署项目 打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图) 2:安装向导 关闭后打开安装向导,点击下一步,或者直接点击完成. 如下图: 3:开始制作 安装向导完成后即可进入项目文件夹: 双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来. 然后右击你的可执行文件,创建快捷方式,然后把快捷方式分别剪切或复制到左边的"用户的'程序'菜单"和"用户桌面"中. 这样安装程序安装安装完成后会在 "开始->所有程序"和"桌面"上生成程序的快捷方式. 然后右击左边的"应用程序文件夹"打开属性对话框: 将属性中的"defaultlocation"的路径中的"[manufacturer]"去掉, 不然的话做好的安装程序默认安装目录会是"c:\programm file\你的用户名\安装解决方案名称"; 修改后如图: 然后打开解决方案管理器,右击你的解决方案名称,选择属性: 在打开的属性页中,选择"系统必备", 在打开的系统必备页中,选中如下中的选择项,这个很重要!!!!!1!!!!! 选上以后,在生成的安装文件包中包含.netframework组件.(这个选项默认是没有选中的) 好了,这样就完成99%了,然后点击"生成->生成解决方案",哈,生成成功! 4:制作完成 现在打开解决方案文件夹下的debug文件夹,就可以看到生成的安装文件了. 参考技术A dll 文件的结构平常的exe文件结构查不多的。

dll文件里面包含 重定向信息, 也就是说如果dll里面有一个函数。那么他有一个
函数名 1 : 地址1
函数名 2 : 地址2
。。。
等等
这样的结构,所以exe加载了dll文件以后,就可以根据上面那个结构找到你要调用的函数的地址,然后到实际的地址去执行就可以了。

你要知道的是
load_funciton();
如果load_funciton这个函数是dll中的,
这样的调用其实就是 等运行的时候,exe自动会把所有需要的dll配置好,就是把这些dll中函数的地址映射到exe文件中,这样你看起来就像处于一个文件当中一样。调用dll的函数和 exe里面的函数就查不多了。

不知道 你用的什么语言,c的话只要 dll工程声称的 头文件和lib文件,然后使用的时候把头文件和lib文件引用进来就可以了。

vb 的话,就要用 private declare lib 来定义吧

如何在C语言中调用exe文件

在C语言中调用exe文件,可以使用system函数。
1、函数声明:
int system(const char *cmd);
2、头文件:
stdlib.h
3、函数功能:
调用cmd中包含的系统命令。要执行exe文件,直接cmd赋值该exe文件的文件名即可。可以包含相对路径或者绝对路径。
4 示例代码:
如在D:\\A\\下存在有my.exe文件。当前C程序可执行文件位于D:\\B文件夹下。
那么调用my.exe可以使用
system("d:\\\\A\\\\my.exe");
也可以使用
system("..\\\\A\\\\my.exe");
如果my.exe就在D:\\B下,那么可以直接
system("my.exe");
参考技术A
system("命令字符串");

system(已给定命令内容的字符变量);
例如:
#include
<stdio.h>
#include
<stdlib.h>
void
main()

char
st[32]="a.exe";
//
已给定命令内容的字符变量
system("type
a.c");
//
命令字符串,运行DOS命令TYPE
printf("I
am
running
a.exe
now!");
system(st);
//
运行外部a.exe文件
参考技术B

有个笨办法

#include <stdlib.h>
//...
system("start 某exe.exe");

参考技术C 在C语言中调用exe文件,可以使用system函数。
1、函数声明:
int system(const char *cmd);
2、头文件:
stdlib.h
3、函数功能:
调用cmd中包含的系统命令。要执行exe文件,直接cmd赋值该exe文件的文件名即可。可以包含相对路径或者绝对路径。
4 示例代码:
如在D:\A\下存在有my.exe文件。当前C程序可执行文件位于D:\B文件夹下。
那么调用my.exe可以使用
system("d:\\A\\my.exe");
也可以使用
system("..\\A\\my.exe");
如果my.exe就在D:\B下,那么可以直接
system("my.exe");

以上是关于EXE执行文件如何调用DLL?的主要内容,如果未能解决你的问题,请参考以下文章

如何在C语言中调用exe文件

如何仅部署单个可执行文件

如何从批处理文件中调用VSTEST.CONSOLE.EXE

如何安装在 windowsservercore Docker 映像上执行本机 C++ DLL/EXE 所需的所有依赖二进制文件

如何从一个动态链接库DLL中查看接口函数

易语言如何调用dll文件