2

I have an EXE file. It comes from a Qt C++ Visual Studio project. I would like to obfuscate this EXE. The main reason is that my URLs (for version files, API etc.) that I use in the program and any other strings can be easily edited with a HeX editor. Thanks for your help.

scopchanov
  • 7,966
  • 10
  • 40
  • 68
  • 3
    You might be interested in [C++: How to encrypt strings at compile time?](https://stackoverflow.com/q/4102320/10077). – Fred Larson Jul 21 '20 at 19:37
  • So there is no way to do it without code change? –  Jul 21 '20 at 19:47
  • None that I know of. – Fred Larson Jul 21 '20 at 19:48
  • 1
    Here's another one: [techniques for obscuring sensitive strings in C++](https://stackoverflow.com/q/1648618/10077). Might give you some more ideas. – Fred Larson Jul 21 '20 at 19:55
  • Look up the EXE file format. You may be able to add a program to your executable that decrypts the data. However, be prepared for your program to slow to a crawl. – Thomas Matthews Jul 21 '20 at 20:04
  • It might be sufficient to use a Exe packer like this: https://upx.github.io/ – JeffRSon Jul 21 '20 at 20:14
  • 3
    This task is fairly futile. No matter how much you obfuscate/encrypt the strings in the EXE, at some point at runtime you are going to have to unobfuscate/decrypt the strings in order to use them, and a dedicated hacker will simply wait for your app to do that and then modify the URLs in memory before they are used. – Remy Lebeau Jul 21 '20 at 20:57
  • I just want to hide my strings because now it’s easy to edit with a HeX editor. UPX packer can do this? Or Themida would be better? It’s a little bit expensive for me to protect only one program. How others do it? (Protect API, version file URL etc.) –  Jul 21 '20 at 22:46

3 Answers3

1

I used UPX packer and it works well.

0

You can easily reverse UPX Packer. With the -d Option!

Semantic Design might be interesting.

For DLLs you can try: Free Obfuscator

Benjamin Buch
  • 4,752
  • 7
  • 28
  • 51
0

Eziriz .NET Reactor seems to do a good job of obfuscating dll files and it will combine them.

Limitation is it will not function on .exe files, only .net files.