我希望特定的函数只能由 C 或 C++ 中的某些可信应用程序调用。
例如,foo()可以在应用程序A或B中调用,但在应用程序C中调用失败。
我考虑过使用exe的程序名称或PID或哈希值,但每次执行时PID都不同,并且程序名称(argv[0])可能因路径而异。 exe的哈希值是唯一值,但似乎不是一个好方法(exe文件很大)。 还有其他建议吗?
最佳答案
您基本上需要 Intel SGX 或类似的东西。这不适合胆小的人;这需要严格的加密技术。
在这种情况下,识别调用者身份的想法称为“证明”。
关于c++ - 如何验证进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49873866/