gpt4 book ai didi

c++ - 从 RE 保护我的程序

转载 作者:搜寻专家 更新时间:2023-10-31 02:18:30 25 4
gpt4 key购买 nike

我创建了一个程序,我想创建一个租用选项,并且需要从 RE 获取它,我希望租用我创建的程序的用户将拥有任何身份验证,即使用户撤销它,软件也无法运行,

我该怎么办?我应该添加什么?寻找有关我的程序的安全性的建议,该程序可以选择租用

编辑:将它从 C# 更改为 C++可能吗?

编辑2:

我认为这不可能,我该怎么做才能使 RE 更难?

我有可用于身份验证的网站。

最佳答案

这是一个共同的愿望。首先,明白你永远无法真正制作出无法逆向工程的程序。大多数“反逆向工程”技术旨在使逆向工程师的工作更加困难,并且可能只会对业余爱好者非常有效。我将列出我从逆向工程恶意软件中接触到的两种流行技术。这是一个逆向工程领域,可能会看到一些最复杂的反 RE 方法,因为恶意软件作者不断改进技术以降低其原始代码的可访问性和可读性。

  1. 反调试和反反汇编程序。这涉及在您的程序中包含代码,如果程序通过它们运行,这些代码将导致已知(常见)调试或反汇编软件出现故障或崩溃。或者如果在程序运行时发现机器上安装了反汇编程序或调试器,则能够阻止代码运行、禁用自身,甚至使操作系统崩溃。请参阅:IsDebuggerPresent function (msdn) , "Stack Necromancy: Defeating Debuggers By Raising the Dead" , 和 "Anti-Disassembly techniques used by malware (a primer)" .

  2. 代码晦涩难懂。这涉及以令人困惑和分散注意力的方式 (spaghetti code) 编写原始代码,从而难以确定程序的意图和行为。请记住,如果实现不当,这可能会适得其反,因为使您的代码难以形成正面或反面显然会影响双方。请参阅:"Obfuscation (software)""Cryptographic obfuscation and 'unhackable' software" .

有关这些技术的实际实现指南,请参阅:"An Anti-Reverse Engineering Guide" .

但是请记住,在合法软件上使用反 RE 技术(虽然很常见)是一种糟糕的安全做法,并且受到安全社区的反对。更不用说,如果某事难以攻破,它通常会把自己视为一种挑战。请参阅:"Security through obscurity""Hacker ethic" .

关于c++ - 从 RE 保护我的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34480468/

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