C++ ARM WINCE应用程序,反黑客解决方案

C++ ARM WINCE应用程序,反黑客解决方案,c++,windows-ce,executable,arm,reverse-engineering,C++,Windows Ce,Executable,Arm,Reverse Engineering,我正在用ARMV4i CPU为WINCE 6.0创建一个应用程序。我想使用assembly packer为我的应用程序增加额外的安全性。但我找不到一个好的,除了UPX(它太容易打开)。有人能给我指一个吗 更新: 我的目标是保护WinCE应用程序不受破解和逆向工程的影响。尽管没有一款应用程序是100%安全的,但请提供任何额外的安全建议。几乎每个包装商都有一个解包器,如果没有,经验丰富的人很容易手动解包。您应该制作一个嵌入式USB/RS232加密狗设备,并在其中加入一些重要而复杂的功能,然后从Win

我正在用ARMV4i CPU为WINCE 6.0创建一个应用程序。我想使用assembly packer为我的应用程序增加额外的安全性。但我找不到一个好的,除了UPX(它太容易打开)。有人能给我指一个吗

更新:
我的目标是保护WinCE应用程序不受破解和逆向工程的影响。尽管没有一款应用程序是100%安全的,但请提供任何额外的安全建议。

几乎每个包装商都有一个解包器,如果没有,经验丰富的人很容易手动解包。您应该制作一个嵌入式USB/RS232加密狗设备,并在其中加入一些重要而复杂的功能,然后从WinCE设备调用这些功能。如果您通过设置不允许读取的保险丝来保护您的加密狗,那么有人很难破坏它(即使是受保护的内存也可以被黑客攻击和读取,但这需要花费10.000美元,黑客需要掌握许多不同领域和特定MCU的知识)。

您可能需要结帐。它是一种将加密数据转换为自然语言文本的方案,因此不会显示加密数据的统计结构。您可以创建一个类似的方案来生成机器代码而不是文本。您甚至可以从真实的地方提取机器代码片段,比如机器上的静态链接库。其想法是:

  • 加密程序
  • 应用nicetext之类的方法将加密程序转换为机器代码
  • 从表面上看,这将使它看起来像一个有效的未打包的可执行文件。攻击者首先必须弄清楚,看起来像是由普通编译器生成的机器代码的东西,甚至在试图破坏加密之前,都不是

    有几点:

  • 这只是一件“默默无闻”的事情。一旦你知道要尝试,就可以很容易地逆转像nicetext这样的东西
  • 您仍然需要一种方法来保护用于解密的密钥,可能涉及硬件
  • 将这一点与将代码转移到硬件设备的其他建议结合起来可能也很好
  • 这一切的实现可能都有点昂贵。你确定你需要它吗

  • 你想要什么样的“安全感”?UPX并不是为了安全而设计的——它只是为了使应用程序二进制文件更小。在x86 exe世界中,像ASPack这样的东西几乎可以阻止armatures分解应用程序。我想有那种包装机,但UPX有UPX-d可以很容易地打开包装。我知道我不能百分之百地保护它,但请告诉我任何使我的应用程序难以破解的事情。你是在追求非法复制保护,还是在寻求防止整个代码被反向工程?如果是第一种情况,那么打包整件东西可能会有点过头。我想保护我的软件的非法拷贝,并保护它读取的加密数据。4是关键。我非常怀疑,任何东西都值得他想作为一个附加组件实现的成本——如果真的值得,那么我会创建一个定制的CE设备,在操作系统映像中包含代码,并以这种方式进行保护。我认为我的情况已经严重到可以实现它的程度。我没有访问硬件的权限,但我可以使用SD串行作为密钥。