【问题标题】:License verification - how to check server response safety许可证验证 - 如何检查服务器响应安全
【发布时间】:2017-05-28 14:10:51
【问题描述】:

我正在创建基于许可证生成器和 PC ID 的验证 - 用于创建基于许可证的 PC 硬件的程序。

它将pc id(例如mac地址,uuid,bios序列号等)发送到创建许可证的服务器,并将其发送回客户端。

当客户想要激活程序时,他将他的许可证发送到服务器并得到一个答案——基本上是对或错。

所有由 AES 密钥加密并由服务器签名的数据......

问题出在这里 – 我可以确保逆向器没有更改代码检查服务器的响应吗?总有这种“if 条件”(或汇编中的 cmp)可以更改

我尽可能地处理了混淆、打包、反调试等,但是一个好的逆向器可以改变并通过它

谢谢

Avinoam

【问题讨论】:

    标签: if-statement reverse-engineering reverse license-key


    【解决方案1】:

    很简单:那是不可能的。正如你所说,总会有一些“如果条件”。

    我将仅列出一些我记得的应用程序用来使破解者更难的方法:

    • 代码校验和。如果破解者会更改某些代码,她还需要找到适当的校验和(可以进一步混淆)
    • 在整个代码中运行多项检查,并且可能在特定/随机时间在许多线程/任务中运行(例如,通过不同的代码路径每 1 分钟验证一次 CDKEY)
    • 有一些使用 CDKEY 加密的代码(所以如果你没有,你根本就没有应用程序的代码)
    • 在您的服务器上存储适当的代码。当用户尝试访问“新”功能(例如游戏的下一阶段)时,应用程序将与服务器握手,如果服务器确信它不是破解者,服务器将向应用程序发送相关代码,然后它将运行它。
    • 有一个类似 SIM 卡的远程设备,该设备在物理上 被混淆(就像 SIM 卡一样),它将向计算机提供一个 物理 API,服务器将查询该设备以检查其真实性。只需了解 SIM 卡。

    【讨论】:

      猜你喜欢
      • 2014-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多