EXE执行文件如何调用DLL?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EXE执行文件如何调用DLL?相关的知识,希望对你有一定的参考价值。
找到个OllyDBG可以反编和调试程序,用这个软件可以把DLL调用到EXE程序中去吗?这个DLL文件是网上下载的,是一个游戏但是不同版本的破解DLL,但游戏本身没有这个DLL文件,属于添加的。B版和C版已经有人做了破解的EXE,都可以调用这个DLL文件,那么A版我觉得也可以,我的想法是把DLL文件调用到A版的游戏执行文件中去,做一个A版的破解文件。但是我本身没有学过编程,有什么软件可以傻瓜式的调用DLL吗? 用OllyDBG可以吗?
最后声明一下,非挂马! 请高手指教。方法一定要详细。
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?的主要内容,如果未能解决你的问题,请参考以下文章
如何安装在 windowsservercore Docker 映像上执行本机 C++ DLL/EXE 所需的所有依赖二进制文件