Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #107533
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: How to stop Reverse Engineer a C, C++, VB or C# application? |
| Date | 2017-03-31 09:38 +0200 |
| Organization | A noiseless patient Spider |
| Message-ID | <obl0rl$2fi$1@dont-email.me> (permalink) |
| References | <objh05$1697$1@gioia.aioe.org> |
On 30/03/17 19:59, Real Troll wrote: > > Is there any way to stop an application from bundling all the debug info > in the executables so that people can't reverse engineer the file? > > I was watching a yourTube video and somebody showed a way to reverse the > exe file and extract the source code from it and the guy created a > keyGen from it so that now everybody can use the programs without buying > it. Surely, there must be a way to stop this or at least make it harder > for amateurs from doing this. > > I create the "Release" versions of my toy applications and when I opened > the exe file in WordPad, I could see almost most things that are > supposed to be private. > > Jesus is not going to help me here, can he? > > As others have pointed out, make sure you build without debug information, and run "strip" on the executable to take out any extra linking or debug symbols that are not needed. Prefer to use static linking where possible, rather than dynamic linking. This lets you keep more of the function and symbol names internal, and they will be removed by "strip". Use link-time optimisation. This will blur the boundaries between functions on a much wider scale, making it much harder for reverse engineering. In general, high optimisation levels make it harder to follow the logic of code from a disassembly. Beyond that, you can look at obfuscation. If you have got lots of strings in the code, try to find a way to "munge" them. This is probably best done with the help of some external scripts. Something as simple as xor'ing each letter with a fixed value will be quite effective at ruining an attempt at running "strings" on the file. Finally, there are obfuscation utilities that intentionally jumble up code by inserting extra jumps, splitting up functions, etc. Note that these may slow down the code - sometimes quite significantly, as you lose a lot of locality in your code.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
How to stop Reverse Engineer a C, C++, VB or C# application? Real Troll <real.troll@trolls.com> - 2017-03-30 12:59 -0500
Re: How to stop Reverse Engineer a C, C++, VB or C# application? scott@slp53.sl.home (Scott Lurndal) - 2017-03-30 18:45 +0000
Re: How to stop Reverse Engineer a C, C++, VB or C# application? Real Troll <real.troll@trolls.com> - 2017-03-30 16:45 -0500
Re: How to stop Reverse Engineer a C, C++, VB or C# application? Jerry Stuckle <jstucklex@attglobal.net> - 2017-03-30 18:53 -0400
Re: How to stop Reverse Engineer a C, C++, VB or C# application? Ken Brody <kenbrody@spamcop.net> - 2017-03-31 13:56 -0400
Re: How to stop Reverse Engineer a C, C++, VB or C# application? supercat@casperkitty.com - 2017-03-31 11:49 -0700
Re: How to stop Reverse Engineer a C, C++, VB or C# application? Jens Stuckelberger <Jens_Stuckelberger@nowhere.net> - 2017-03-30 20:29 +0000
Re: How to stop Reverse Engineer a C, C++, VB or C# application? "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-03-30 14:06 -0700
Re: How to stop Reverse Engineer a C, C++, VB or C# application? gordonb.1bihd@burditt.org (Gordon Burditt) - 2017-03-30 18:52 -0500
Re: How to stop Reverse Engineer a C, C++, VB or C# application? Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2017-03-30 20:01 -0400
Re: How to stop Reverse Engineer a C, C++, VB or C# application? David Brown <david.brown@hesbynett.no> - 2017-03-31 09:38 +0200
Re: How to stop Reverse Engineer a C, C++, VB or C# application? fir <profesor.fir@gmail.com> - 2017-03-31 00:56 -0700
Re: How to stop Reverse Engineer a C, C++, VB or C# application? supercat@casperkitty.com - 2017-03-31 08:59 -0700
Re: How to stop Reverse Engineer a C, C++, VB or C# application? Real Troll <real.troll@trolls.com> - 2017-03-31 12:00 -0500
Re: How to stop Reverse Engineer a C, C++, VB or C# application? Ken Brody <kenbrody@spamcop.net> - 2017-03-31 13:51 -0400
Re: How to stop Reverse Engineer a C, C++, VB or C# application? Keith Thompson <kst-u@mib.org> - 2017-03-31 12:29 -0700
Re: How to stop Reverse Engineer a C, C++, VB or C# application? Real Troll <real.troll@trolls.com> - 2017-03-31 16:59 -0400
Re: How to stop Reverse Engineer a C, C++, VB or C# application? Jorgen Grahn <grahn+nntp@snipabacken.se> - 2017-04-01 06:05 +0000
Re: How to stop Reverse Engineer a C, C++, VB or C# application? Robert Wessel <robertwessel2@yahoo.com> - 2017-04-01 01:35 -0500
OT: private info in .exe files from VS (was Re: How to stop Reverse Engineer a C, C++, VB or C# application?) Ken Brody <kenbrody@spamcop.net> - 2017-04-03 12:39 -0400
csiph-web