问题标签 [software-protection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
76 浏览

assembly - 动态解密时计算调用指令偏移量

我有一个带有 2 个标签的 C++ 程序。这些标签之间的代码在二进制文件中加密(使用 3rd 方实用程序),然后在运行时解密。解密代码如下所示:

解密过程如下:我调用VirtualAlloc以分配具有 PAGE_EXECUTE_READWRITE 权限的新内存缓冲区。然后我将加密的部分复制到这个缓冲区并解密。之后我只是调用这个缓冲区。

问题在于std::cinstd::cout调用call与相对偏移量接近,这使得该偏移量在我尝试执行的新分配的内存块中绝对不正确。

问题是如何计算解密代码的正确偏移量并在那里使用它?

0 投票
1 回答
257 浏览

c# - 如何加密dll?

我正在Visual Studio中开发一个WPF解决方案,在上述解决方案中有两个项目,一个(客户端是主要的WPF应用程序,另一个(dllproject)是一个简单的项目,它在构建时生成一个使用的dll在我的主要客户里面。

我将我的dllproject添加为我的client中的引用,并通过 using 语句引用它。

现在的问题是,我需要保护软件免受逆向工程,因为 dll 包含机密算法等等......最好的方法是什么?

显然,我不能只加密我的 dll 并希望它仍然可用。实际上,我正在使用themida 保护软件。