gpt4 book ai didi

c# - 我应该如何解决我在 C# 中的方法访问安全性?

转载 作者:IT王子 更新时间:2023-10-29 04:51:23 24 4
gpt4 key购买 nike

我正在从事由一家特殊银行提供给我们公司的销售点项目。银行提供了一个通过 USB 端口与 POS 交互的 DLL。我添加了用 .NET C# 语言编写的 DLL , 因此不存在互操作性问题。DLL 中有一个方法,称为 DebitAndShareTheAmount。该方法有两个主要参数 P1,P2

P1 是纯文本的金额,P2 是明文中应该再次从 P1 中减去的金额。所以如果我调用DebitAndShare(1000,10);//它实际上会在银行贷记我的帐户 1000-10=990$ 和使用我的应用程序的商店 10$。

问题在于,任何具有 C# 编程基础知识并可以访问该 SHOP 计算机的人都可以安装 Visual Studio 并使用该 DLL 并调用 DebitAndShare 方法,而您知道其余部分。实际上,我们的应用程序将充当服务提供者并且在全国各地的特殊商店都有售,商店的所有者将通过向客户提供我们应用程序中提供的服务并收取他们的金额(10 美元)来获得报酬。我将与 POS 开发人员开会讨论我的安全问题刚刚提到。

我已经阅读了 MCTS 书和书的安全部分,我发现如果银行 DLL 在之前使用 PublisherIdentityPermission(SecurityAction.InheritanceDemand, CertFile=@"SomeCert.cer") 属性DebitAndShare 方法并将此方法标记为 Protected 那么我们可以拥有一级安全性,对吗?大家有什么建议。我也觉得如果银行能给我们加密算法的方法,那也够了。

最佳答案

您要做的是阻止您的应用程序被破解,这类似于 licensing issue i faced previously ,我没有从社区得到任何好的解决方案,但只有一些好的建议,这里的重点是无论你多么努力,只要你在你的用户可以访问的机器上执行代码,它总是容易受到影响,更不用说代码混淆了,即使是加密有时也无法保护您的应用程序免受具有足够技能的坚定破解者的攻击,并且从弄乱您的应用程序的盈利能力来看,将会有很多坚定的破解者(唯一的事情是他们需要知道这是可以做到的,他们会找到有技能的人)。

我在这里听起来可能像个悲观主义者,但这是残酷的事实。

我认为最好的方法是将代码中更有可能被破解的部分移至中央服务器,并将这些方法公开为网络服务调用。我知道即使这样也不是完全安全的,记住 recent Apple app store hack 。确保您已遵循所有最佳实践并希望,您会在其他人之前发现系统中的漏洞

关于c# - 我应该如何解决我在 C# 中的方法访问安全性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11249065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com