相关疑难解决方法(0)

如何在exe或dll中隐藏字符串?

我发现可以从二进制文件中提取硬编码字符串.
例如,Process Explorer的属性视图显示超过3个字符的所有字符串.

这是我编写的简单可执行文件的代码,只是为了测试它:

#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0501
#endif
#include <stdio.h>
#include <tchar.h>
#include <Windows.h>

int _tmain(int argc, _TCHAR* argv[])
{
    _TCHAR* hiddenString1 =_T("4537774B-CC80-4eda-B3E4-7A9EE77991F5");
    _TCHAR* hiddenString2 =_T("hidden_password_or_whatever");
    for (int i= 0; i<argc; i++) {
        if (0 == _tcscmp(argv[i],hiddenString1)) {
            _tprintf (_T("The guid argument is correct.\n")); }
        else if (0 == _tcscmp(argv[i],hiddenString2)) {
            _tprintf (_T("Do something here.\n")); }
    }

    _tprintf (_T("This is a visible string.\n"));
    //Keep Running
    Sleep(60000);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

字符串可以清楚地从相应的可执行文件中提取:
替代文字

我认为找到字符串有点太容易了.

我的问题是:

  1. 如何简单地隐藏hiddenString1 …

c++ security obfuscation defensive-programming reverse-engineering

31
推荐指数
5
解决办法
2万
查看次数

C/C++ - 对其他人隐藏 C 或 C++ 函数代码

我有一个项目来编写一个函数来对某些数据执行某些操作。我可以用 C/C++ 编写代码,但我不想与雇主共享该函数的代码。相反,我只想让他可以在自己的代码中调用该函数。是否可以?我想到了这两种方法 -

  • 在某个服务器上托管该功能(如果可能)并为雇主提供一个 URL 以访问它。
  • 密码保护函数代码文件(同样,如果可能的话)并且只允许访问在代码中调用它。

请告诉我这些是否可行,并给我一个方法。

c c++

1
推荐指数
1
解决办法
5324
查看次数