发布网友 发布时间:2022-10-26 22:30
共4个回答
热心网友 时间:2023-09-19 14:17
看你的执行顺序应该是分别执行两个 .c 文件。就是两个独立的进程。每个进程有相互独立的虚拟地址空间。你所得到的40059c是另一个进程的函数地址。 在exploit中的40059这个地址是非法使用的。要想在一个进程中使用另一个进程的函数,就必须要用进程间通信。如共享内存,注册函数,共用此函数。热心网友 时间:2023-09-19 14:17
看你的执行顺序应该是分别执行两个 .c 文件。就是两个独立的进程。每个进程有相互独立的虚拟地址空间。你所得到的40059c是另一个进程的函数地址。 在exploit中的40059这个地址是非法使用的。要想在一个进程中使用另一个进程的函数,就必须要用进程间通信。如共享内存,注册函数,共用此函数。热心网友 时间:2023-09-19 14:18
你的想法是好的,但现实是残酷的,你这想法是没办法实现的.当然,也不是完全没办法,还是可以用进程间通讯的方式来实现的.热心网友 时间:2023-09-19 14:18
看到你对其他人的追问,想说的是如你现在有函数的原型(函数的声明),但没有函数体的定义,不过现在函数体A.exe,B.exe中想调用它是吗?热心网友 时间:2023-09-19 14:18
你的想法是好的,但现实是残酷的,你这想法是没办法实现的.当然,也不是完全没办法,还是可以用进程间通讯的方式来实现的.热心网友 时间:2023-09-19 14:18
看到你对其他人的追问,想说的是如你现在有函数的原型(函数的声明),但没有函数体的定义,不过现在函数体A.exe,B.exe中想调用它是吗?热心网友 时间:2023-09-19 14:19
如果你不想用头文件include,那么就用extern声明该函数,前提是编译系统能够找到该函数所在的原型热心网友 时间:2023-09-19 14:19
如果你不想用头文件include,那么就用extern声明该函数,前提是编译系统能够找到该函数所在的原型