是否可以从正在运行的程序的文件中获取字节?

时间:2013-10-19 23:30:10

标签: c# file security sockets byte

我希望保护我的应用程序不被修改,我想要做的是将程序的所有字节发送到套接字服务器,套接字服务器将计算哈希并比较哈希以确保没有修改在继续使用会话之前对程序做了但是我想得到正在运行的程序的字节,如果可能的话我很好奇吗?

1 个答案:

答案 0 :(得分:0)

简单C演示程序:

#include <stdio.h>
int main(void) {
  FILE* file;
  unsigned int checkSum = 0, byteCount = 0;
  file = fopen("me", "rb"); // executable called 'me', read binary mody
  if(file != NULL) {
    while(!feof(file)) {
      checkSum = checkSum + fgetc(file);
      byteCount++;
    }
    printf("read %d bytes; ", byteCount);
    printf("checksum computed: %d\n", checkSum);
  }
  else printf("cannot open file 'me'\n");

  return 0;
}

显然,这不是计算校验和的“正确方法”,但它表明正在运行的可执行文件可以自行打开并读取字节代码。在那之后,这取决于你...