【问题标题】:Is possible edit a executable?Is possible edit a executable?
【发布时间】:2022-12-02 01:03:44
【问题描述】:

I struggle with the licence of my software, wrote in C(the core) and in C++(the GUI). At begin I thougth some crypto algorithm, but was very easy to read the password stored inside the exe. So to prevent hacks I decide to store inside the executable all the valid serials, optimistic 1000 serials. No need to cryptograph nothing. But I read that is possible to edit the executable, this mean that if I write :

if(tb->is_demo)
{
//check limits
}

Somebody can by-pass it and write:

if(false)
{
//check limits
}

So, it becomes hard to protect my software, each solution that comes in mind, there is early or later a main "if" somewhere that can by-passed. The question are two: 1)is possible edit a executable? 2)if yes, what can I do to avoid to get edited?

【问题讨论】:

  • 1) Yes it's possible, 2) Buy some third party software that will protect your software. No protection is fool proof, so how much money are you willing to spend to protect your program?
  • is possible edit a executable?Yes.if yes, what can I do to avoid to get edited?Pretty much nothing. Anything be hacked/reversed engineered.
  • No matter what you do, if someone is determined enough and really want to "crack" your application, it will be "cracked" and there's really nothing you can do to stop it. Big companies have spend millions of dollars and still have failed to solve that problem.
  • With that said, one simple way to at least make it alittleharder is to usehashinginstead of storing clear text passwords or keys.
  • You can download a hex editor and open your executable with the hex editor. No need to write a program to edit your executable.

标签: c++ licensing


【解决方案1】:
  1. is possible edit a executable?

    Without surprises, Yes.

    1. if yes, what can I do to avoid to get edited?

    You cannot completely avoid it. Big software development firms are working on the subject, yet their softwares (Professional software, games, ...) are hacked and used for free anyway.

    What you can do is make the hack more expensive than your licence cost. You also can accept being "frauded". Or you can protect yourself by other means that technological ones (think law suits).

    You may ask how to "make the hack more expensive than your licence cost?". This is off-topic on Stackoverflow. But be sure libraries answering that need exist. Now is the time to make your google skills pay ;)

【讨论】:

    【解决方案2】:
    1. Yes, an executable can be edited. Many software have been cracked through this method. There are however two ways of doing this:
      • Hash editing
      • Through third-party software
      1. It is possible to "avoid" them. You can either encrypt these files or you can lock the data from being streamed out.

    【讨论】:

      【解决方案3】:

      Anyone can easily edit your executable so I would advise not to store all the valid serials in your program.

      You could look into this open source project Open license manager

      Another option is to store all your valid serials in a database on some server and create an API that you can make requests to whenever you want to check if a serial is valid or not.

      You could use python and flask to create the API and the server

      【讨论】:

        猜你喜欢
        • 2022-11-14
        • 2022-12-02
        • 2022-12-02
        • 2022-12-01
        • 2020-06-24
        • 2022-12-02
        • 2022-12-28
        • 2022-12-27
        • 2022-12-01
        相关资源
        最近更新 更多