有点混乱了?!可以直接调用一个 exe 程序的函数?有这样的骚操作?

2019-05-10 13:34:34 +08:00
 Roarbit

今天一个项目要和一个系统做接口,功能很简单,就是向他传一段 xml 实现收费。 但上游系统工程师给我一个 EXE 文件,告知在本地设为开机启动并运行,然后就是一堆函数说明,说直接调用这个 exe 的函数就可以了。态度还极差~ 我的妈呀~还有这样的操作?

3287 次点击
所在节点    Windows
6 条回复
jadec0der
2019-05-10 13:40:43 +08:00
上游系统不想给你调用的时候,就是这么操作的
thedrwu
2019-05-10 13:42:31 +08:00
exe 跟 dll 是一样的,都可以输出函数 /api。只是入口函数不一样。地址空间 exe 独立进程,dll 需要附到别的进程。
如果楼主说的是这个。。。
visonme
2019-05-10 13:48:28 +08:00
调用 EXE 中函数是完全可以的,正如#2 说的,EXE 跟 DLL 其实一样都可以导出函数的,只是相对 DLL,你要从 exe 中调用导出函数,貌似需要保留函数地址,不然调用时候容易报异常,而且通过 LoadLibrary 加载目标 EXE 然后调用,需要处理函数地址问题(其实就是看你怎么初始化目标 EXE,然后保证正常调用那些函数),不然也是无效~
co3site
2019-05-10 13:51:27 +08:00
建议了解下 PE 结构,具体到导出表
Roarbit
2019-05-10 13:59:54 +08:00
@thedrwu 我这边日常实现这个功能一般都是对方给一个 web 服务或者存储过程就 OK 了。但这个厂商给的是一个 EXE,还要求以一个类似服务的进程一直运行才行 ε(┬┬﹏┬┬)3 如果是 DLL 我直接 import,按照他的逻辑调用传参就可以了……
geelaw
2019-05-10 14:06:27 +08:00
也可能是 local server 的 COM

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/562856

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX