Does PureBasic insert an identifier in your executables?

Just starting out? Need help? Post your questions and find answers here.
toledo
User
User
Posts: 19
Joined: Thu Jan 14, 2010 8:55 pm

Re: Does PureBasic insert an identifier in your executables?

Post by toledo »

The reason I asked if PureBasic inserts an identifier is because people who reverse engineer software first find out what compiler was used to build the program. Then they write functions to extrapolate which source code would produce the compiled code. Without identifiers, it's much harder to reverse engineer your software and most people won't even try.
User avatar
Kaeru Gaman
Addict
Addict
Posts: 4826
Joined: Sun Mar 19, 2006 1:57 pm
Location: Germany

Re: Does PureBasic insert an identifier in your executables?

Post by Kaeru Gaman »

since purebasic first creates optimized ASM-code and then compiles this, it would be a helluvamess to try to reverse-engineer any code.

... anyhow, I would not be too afraid of reverse engeneering.
only in very few very special cases you'll get anything useful from it.
oh... and have a nice day.
Nituvious
Addict
Addict
Posts: 1027
Joined: Sat Jul 11, 2009 4:57 am
Location: United States

Re: Does PureBasic insert an identifier in your executables?

Post by Nituvious »

greyhoundcode wrote:UserOfPure, Nituvious, shall we have a group hug?
I like hugs...
▓▓▓▓▓▒▒▒▒▒░░░░░
Thorium
Addict
Addict
Posts: 1305
Joined: Sat Aug 15, 2009 6:59 pm

Re: Does PureBasic insert an identifier in your executables?

Post by Thorium »

toledo wrote:The reason I asked if PureBasic inserts an identifier is because people who reverse engineer software first find out what compiler was used to build the program. Then they write functions to extrapolate which source code would produce the compiled code. Without identifiers, it's much harder to reverse engineer your software and most people won't even try.
Actualy decompilation is not much used for reverse engineering to machine code compiled programs. It's only used for easy to decompile applications, like Java and dotNET.

I reverse engineered a bit to write tools for games and even made unofficial patches that fixed bugs and i never ever decompiled anything. As i started with reverse engineering i tied it but it just did not work out. I even don't find a working decompiler. Yes there are some that produce recompilable code, but it's just 99% inline assembly. ^^

Reverse engineering is done with assembly level debuggers like OllyDbg or Softice or any other.
UserOfPure
Enthusiast
Enthusiast
Posts: 469
Joined: Sun Mar 16, 2008 9:18 am

Re: Does PureBasic insert an identifier in your executables?

Post by UserOfPure »

Just do a search/replace of all "pb_" bytes in the executable then. The exe will still run (I just tried) and there won't be any obvious references to PureBasic.
toledo
User
User
Posts: 19
Joined: Thu Jan 14, 2010 8:55 pm

Re: Does PureBasic insert an identifier in your executables?

Post by toledo »

UserOfPure wrote:Just do a search/replace of all "pb_" bytes in the executable then. The exe will still run (I just tried) and there won't be any obvious references to PureBasic.
Thankyou very much. That exactly what I'm going to do. Does that also work with words like "Gadget"?
UserOfPure
Enthusiast
Enthusiast
Posts: 469
Joined: Sun Mar 16, 2008 9:18 am

Re: Does PureBasic insert an identifier in your executables?

Post by UserOfPure »

Try it! :roll:
c4s
Addict
Addict
Posts: 1981
Joined: Thu Nov 01, 2007 5:37 pm
Location: Germany

Re: Does PureBasic insert an identifier in your executables?

Post by c4s »

toledo wrote:
UserOfPure wrote:Just do a search/replace of all "pb_" bytes in the executable then. The exe will still run (I just tried) and there won't be any obvious references to PureBasic.
Thankyou very much. That exactly what I'm going to do.
Is it worth the effort? I don't see any sense in doing this.
If any of you native English speakers have any suggestions for the above text, please let me know (via PM). Thanks!
gnozal
PureBasic Expert
PureBasic Expert
Posts: 4229
Joined: Sat Apr 26, 2003 8:27 am
Location: Strasbourg / France
Contact:

Re: Does PureBasic insert an identifier in your executables?

Post by gnozal »

c4s wrote:Is it worth the effort? I don't see any sense in doing this.
Imho some people are afraid to admit they are using basic, c++ is so much cooler and looks more professional, especially if the exe is big with a lot of DLLs and .NET dependency.
For free libraries and tools, visit my web site (also home of jaPBe V3 and PureFORM).
User avatar
Kaeru Gaman
Addict
Addict
Posts: 4826
Joined: Sun Mar 19, 2006 1:57 pm
Location: Germany

Re: Does PureBasic insert an identifier in your executables?

Post by Kaeru Gaman »

why don't you practice programming?
FIRST grow your skills to a level where any of your products become WORTH being reverse engineered, THEN worry about it.
oh... and have a nice day.
Fred
Administrator
Administrator
Posts: 18162
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Re: Does PureBasic insert an identifier in your executables?

Post by Fred »

Even without the strings, it's very easy to detect if it's a PB executable, as we are linking to custom libraries which can be easy identified.
User avatar
luis
Addict
Addict
Posts: 3893
Joined: Wed Aug 31, 2005 11:09 pm
Location: Italy

Re: Does PureBasic insert an identifier in your executables?

Post by luis »

toledo wrote:people who reverse engineer software first find out what compiler was used to build the program. Then they write functions to extrapolate which source code would produce the compiled code. Without identifiers, it's much harder to reverse engineer your software and most people won't even try.
I hope you are not talking about decompilation here (an entriely different matter), but instead about some tool that knowing the compiler used the generate the code, and knowing its code generation patterns can try to rebuild some high level constructs from this.

But in my opinion to reverse eng. a software you just need a disassembler, years of experience and a extremely good knowledge of both machine code and os calls. If you change some compiler/linker generated strings inside the exe this will not stop a person like the above mentioned, so it's quite useless. You are better off trying to wrap your code in some way (just to slow him down or to make this not worthy, not to stop him).

A tool like the one you mentioned would be really lame, because it's extremely easy to disrupt this ideal situation the tool is expecting, and it cannot be reliable at all in many cases. Would be a lot lot lot harder to write something like this than the compiler.
Last edited by luis on Mon Jan 18, 2010 6:01 pm, edited 1 time in total.
"Have you tried turning it off and on again ?"
A little PureBasic review
Foz
Addict
Addict
Posts: 1359
Joined: Tue Nov 13, 2007 12:42 pm
Location: Manchester, UK

Re: Does PureBasic insert an identifier in your executables?

Post by Foz »

gnozal wrote:c++ is so much cooler and looks more professional, especially if the exe is big with a lot of DLLs and .NET dependency.
True. Fred, can we add a BLOATWARE option? It should quadruple the file size (at least) and make it run 10 times slower! :lol:
IdeasVacuum
Always Here
Always Here
Posts: 6426
Joined: Fri Oct 23, 2009 2:33 am
Location: Wales, UK
Contact:

Re: Does PureBasic insert an identifier in your executables?

Post by IdeasVacuum »

Nope, to simulate large .Net apps PB apps would need to be at least 25% slower, be capable of crashing the entire system at the most inconvenient moment possible and only after the User has created an hour's worth of work and is less than two milliseconds away from saving it :lol:

Frankly, the people that use your application do not care what tools you used to craft it, they only care about how well it works, how reliable it is and how easy it is to use.
IdeasVacuum
If it sounds simple, you have not grasped the complexity.
c4s
Addict
Addict
Posts: 1981
Joined: Thu Nov 01, 2007 5:37 pm
Location: Germany

Re: Does PureBasic insert an identifier in your executables?

Post by c4s »

Foz wrote:10 times slower!
IdeasVacuum wrote:Nope [...] at least 25% slower
Well, "10 times" is 40 times more than "25%". ;)
If any of you native English speakers have any suggestions for the above text, please let me know (via PM). Thanks!
Post Reply