Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我可以用密码保护应用程序吗?_C++_C_Security_Macos - Fatal编程技术网

C++ 我可以用密码保护应用程序吗?

C++ 我可以用密码保护应用程序吗?,c++,c,security,macos,C++,C,Security,Macos,我有一个应用程序,我不希望人们访问,除非得到明确的许可(通过密码)。更具体地说,除非用户输入密码,否则该应用程序需要在一天中的特定时间内“锁定” 检查时间的能力很简单。我不知道如何锁定应用程序。需要这样做的原因是公司不信任用户注销,也不希望对应用程序进行任何未经授权的访问。这是为了以防万一而采取的最后措施 但是我没有编写应用程序,所以我不能在其中嵌入密码。机器只有一个用户,我不想创建其他用户。我的用户也是管理员,所以大多数使用操作系统提供安全性的选项都不起作用 关于如何实现这一点有什么想法吗?

我有一个应用程序,我不希望人们访问,除非得到明确的许可(通过密码)。更具体地说,除非用户输入密码,否则该应用程序需要在一天中的特定时间内“锁定”

检查时间的能力很简单。我不知道如何锁定应用程序。需要这样做的原因是公司不信任用户注销,也不希望对应用程序进行任何未经授权的访问。这是为了以防万一而采取的最后措施

但是我没有编写应用程序,所以我不能在其中嵌入密码。机器只有一个用户,我不想创建其他用户。我的用户也是管理员,所以大多数使用操作系统提供安全性的选项都不起作用

关于如何实现这一点有什么想法吗? 我正在处理MacOSX,但更喜欢独立于操作系统的解决方案。欢迎任何涉及
C
C++
的解决方案


谢谢

显然,通过这种设置,没有什么是100%安全的,但是对于临时用户,您可以使用密码加密应用程序,然后编写一个启动应用程序,在输入密码时解密并启动应用程序,退出时删除应用程序。

显然,使用此设置,没有什么是100%安全的,但对于临时用户,您可以使用密码加密应用程序,然后编写一个启动应用程序,在输入密码时解密并启动应用程序,并在应用程序退出时删除它。

将应用程序嵌入加密的磁盘映像包怎么样?只要使用它的唯一用户从不从那里复制它,并在之后正确地卸载捆绑包,我认为它将实现您想要的:

  • 使用disk Utility创建新的加密磁盘映像(DMG)(这允许您输入密码),将其存储在用户主目录中的任何位置
  • 安装DMG并将您试图保护的应用程序放在其中
  • 在装载的DMG中为应用程序创建别名,并将其放置在桌面上
  • 卸载DMG
  • 之后,当用户双击桌面上的别名时,系统会提示用户输入DMG的密码。如果正确,将安装DMG并自动直接启动应用程序

    要在以后自动卸载,您可以使用
    diskutil
    shell命令编写脚本,如下所示:
    >diskutil unmount/Volumes/DMG\u NAME

    那么,您所要做的就是:

    • 从系统中删除应用程序的所有未加密副本
    • 明确通知用户在使用完应用程序后卸载DMG(或编写脚本以自动卸载)
    • 向你的同事解释你正在解决的实际问题。Msw有一个观点,我希望你能详细阐述一下

    将应用程序嵌入加密磁盘映像包怎么样?只要使用它的唯一用户从不从那里复制它,并在之后正确地卸载捆绑包,我认为它将实现您想要的:

  • 使用disk Utility创建新的加密磁盘映像(DMG)(这允许您输入密码),将其存储在用户主目录中的任何位置
  • 安装DMG并将您试图保护的应用程序放在其中
  • 在装载的DMG中为应用程序创建别名,并将其放置在桌面上
  • 卸载DMG
  • 之后,当用户双击桌面上的别名时,系统会提示用户输入DMG的密码。如果正确,将安装DMG并自动直接启动应用程序

    要在以后自动卸载,您可以使用
    diskutil
    shell命令编写脚本,如下所示:
    >diskutil unmount/Volumes/DMG\u NAME

    那么,您所要做的就是:

    • 从系统中删除应用程序的所有未加密副本
    • 明确通知用户在使用完应用程序后卸载DMG(或编写脚本以自动卸载)
    • 向你的同事解释你正在解决的实际问题。Msw有一个观点,我希望你能详细阐述一下
    #包括
    #包括
    字符buf[BUFSIZ]
    puts(‘什么是密码?’);
    fgets(buf、BUFSIZ、stdin);
    如果(strcmp('secret',buf))退出(1);
    
    应该和您可能编写的任何其他代码一样工作,并且具有简单性和可移植性的优点。

    \include
    #包括
    字符buf[BUFSIZ]
    puts(‘什么是密码?’);
    fgets(buf、BUFSIZ、stdin);
    如果(strcmp('secret',buf))退出(1);
    

    应该和您可能编写的任何其他代码一样工作,并且具有简单性和可移植性的优点。

    有一个古老的问题,在同一行中有很多答案:使用在可执行文件中常用/找到的单词,因此搜索二进制文件会产生大量匹配项,等等。。。我现在似乎找不到它,正如我所说,我不能将代码嵌入到程序中,因为我没有编写程序。也就是说,除非你知道如何将代码嵌入到现有的可执行文件中。有一个古老的问题,所以在同一行中有很多答案:使用可执行文件中常用/找到的单词,因此搜索二进制文件会产生很多匹配项,等等。。。我现在似乎找不到它,正如我所说,我不能将代码嵌入到程序中,因为我没有编写程序。也就是说,除非你知道如何将代码嵌入到现有的可执行文件中。问题是,我写这篇文章的用户不是程序员,对计算机知之甚少。我想提供一个界面,让他双击一个exe,然后出现一个提示,询问密码,只有在密码正确的情况下才运行可执行文件。就好像我按照msw的建议做了一样,但不知怎么的,我把当前的可执行文件嵌入了我自己的文件中。那么,你想保护谁呢
    #include <stdio.h>
    #include <string.h>
    
    char buf[BUFSIZ]
    puts('what is the secret password? ');
    fgets(buf, BUFSIZ, stdin);
    if (strcmp('secret', buf)) exit(1);