none
关于静态库*.lib授权的问题 RRS feed

  • 问题

  • 我们的产品以静态库形式*.lib发布,供mfc调用。我不希望我们的*.lib被非法拷贝,如何限制只让经过授权的用户使,而非授权的用户无法使用呢?

    我们目前采购了硬件加密狗,如果通过硬件加密狗来绑定*.lib,让用户只有插入加密狗才能使用?谢谢。

    2011年11月23日 2:18

全部回复

  • 你好,

     

    如果您是通过判断用户是否是授权的话,我建议您可以使用LookupAccountSid来获取当前用户信息,同时还可以获得当前用户所在的域信息。 此外LookupAccountSid 还通过接受一个security identifier作为它的参数。然后可以通过比对用户信息和域是否符合授权信息中的数据,来判断当前用户是否可以使用。


    Rob Pan [MSFT]
    MSDN Community Support | Feedback to us
    2011年11月25日 7:58
  • 你好,

     

    如果您是通过判断用户是否是授权的话,我建议您可以使用LookupAccountSid来获取当前用户信息,同时还可以获得当前用户所在的域信息。 此外LookupAccountSid 还通过接受一个security identifier作为它的参数。然后可以通过比对用户信息和域是否符合授权信息中的数据,来判断当前用户是否可以使用。


    Rob Pan [MSFT]
    MSDN Community Support | Feedback to us

    Thanks。或许不可以,因为我是要在编译期去限制使用,在运行时不限制。而对API的调用,只能在运行时起作用。
    2011年11月25日 16:08
  • 你好,

     

    您是否可以尝试使用宏定义 #ifdef DEBUG。这样您可以把您需要经行权限控制的代码放入其中。这样只有在使用debug调试的时候才会运行这段。而等程序发布之后,由于不是debug模式,因此这段代码被跳过。


    Rob Pan [MSFT]
    MSDN Community Support | Feedback to us
    2011年11月28日 8:59
  • 你好,

     

    您是否可以尝试使用宏定义 #ifdef DEBUG。这样您可以把您需要经行权限控制的代码放入其中。这样只有在使用debug调试的时候才会运行这段。而等程序发布之后,由于不是debug模式,因此这段代码被跳过。


    Rob Pan [MSFT]
    MSDN Community Support | Feedback to us

    我们目前正是使用的这种做法,通过判断用户是否正在Debug,来读取加密狗,这只解决了Debug版本的权限控件,但无法解决Release版本的。
    2011年11月30日 14:05