Jump to content



Photo

dumb question, how to i close source?


  • Please log in to reply
11 replies to this topic

#1 Original Poster

Original Poster

    Systems Developer

  • Tech Issues Solved: 1
  • Joined: 15-July 08
  • Location: my room
  • OS: windows 7/8, Kali, ubuntu, OSx 10.9
  • Phone: Android

Posted 20 November 2012 - 15:30

ok basically im writing java programs, but i want it so no one can read or ever read the code ..... how do i do this ?


#2 Glassed Silver

Glassed Silver

    ☆♡Neowin's portion of Crazy♡☆

  • Joined: 10-June 04
  • Location: MY CATFORT in Kassel, Germany
  • OS: OS X ML; W7; Elementary; Android 4
  • Phone: iPhone 5 64GB Black (6.0.2)

Posted 20 November 2012 - 15:34

Well, Java is rather easy to decompile, so if you rely that much on lack of easy code extraction... You're basically screwed with Java.

Afaik at least.
I could be wrong.

Glassed Silver:mac

#3 fhpuqrgrpgvirzhpujbj

fhpuqrgrpgvirzhpujbj

    Neowinian Senior

  • Joined: 18-February 08

Posted 20 November 2012 - 15:38

Java compiles to bytecode which can be rather easily converted back into readable source code with a free tool like this. Java isn't meant for keeping your source code secure and even if you use C++ someone sufficiently dedicated will manage to reverse-engineer your code if they want to. I'm not trying to be offensive, but if you have to ask this question you probably aren't writing anything that would be worth someone's time to try to steal anyway at the moment. Just write your program, practice and don't worry about people decompiling your code because anything you do can only make it slightly harder for them, not stop them.

#4 OP Original Poster

Original Poster

    Systems Developer

  • Tech Issues Solved: 1
  • Joined: 15-July 08
  • Location: my room
  • OS: windows 7/8, Kali, ubuntu, OSx 10.9
  • Phone: Android

Posted 20 November 2012 - 15:54

Java compiles to bytecode which can be rather easily converted back into readable source code with a free tool like this. Java isn't meant for keeping your source code secure and even if you use C++ someone sufficiently dedicated will manage to reverse-engineer your code if they want to. I'm not trying to be offensive, but if you have to ask this question you probably aren't writing anything that would be worth someone's time to try to steal anyway at the moment. Just write your program, practice and don't worry about people decompiling your code because anything you do can only make it slightly harder for them, not stop them.


I do not take you comment offensively but I am making encryption programs and I am simply exploring methods to ensure no reverse engineering of the encrypted data can happen (or happen with extreme ease)

#5 Paramore™

Paramore™

    Inventing the Future

  • Joined: 01-December 11
  • Location: Los Angeles
  • OS: Windows 7 Ultimate
  • Phone: Samsung Galaxy Note 4

Posted 20 November 2012 - 15:58

Scramble Java with C++. It's what Facebook does. Take a look at their source and you'll be completely lost! :p

#6 Max Norris

Max Norris

    Neowinian Senior

  • Tech Issues Solved: 23
  • Joined: 20-February 11
  • OS: Windows 2012R2, 7, BSD Unix, Arch Linux
  • Phone: HTC One (Work) Lumia 1020 (Home)

Posted 20 November 2012 - 15:58

Could look into an obfuscator. Not 100% foolproof(if somebody wants to decompile your code they will, there are no magic bullets for software protection) but certainly makes it a bit tougher.

#7 Glassed Silver

Glassed Silver

    ☆♡Neowin's portion of Crazy♡☆

  • Joined: 10-June 04
  • Location: MY CATFORT in Kassel, Germany
  • OS: OS X ML; W7; Elementary; Android 4
  • Phone: iPhone 5 64GB Black (6.0.2)

Posted 20 November 2012 - 16:24

I do not take you comment offensively but I am making encryption programs and I am simply exploring methods to ensure no reverse engineering of the encrypted data can happen (or happen with extreme ease)

Pure Java doesn't seem like a too great idea for me here.

Glassed Silver:mac

#8 Andre S.

Andre S.

    Asik

  • Tech Issues Solved: 14
  • Joined: 26-October 05

Posted 20 November 2012 - 17:36

I do not take you comment offensively but I am making encryption programs and I am simply exploring methods to ensure no reverse engineering of the encrypted data can happen (or happen with extreme ease)

A good encryption method is hard to break even if the attacker knows exactly how it works. Obfuscating your source code will NOT improve the strength of the encryption it performs. Everyone knows how AES works, for instance, yet no one can break it. The program TrueCrypt is open-source yet it is widely used to secure sensitive data and is considered secure.

Security comes not from obfuscation of algorithms but from the time it would take an attacker to break the encryption.

#9 Lant

Lant

    Neowinian Senior

  • Tech Issues Solved: 1
  • Joined: 13-April 06

Posted 20 November 2012 - 17:42

A good encryption method is hard to break even if the attacker knows exactly how it works. Obfuscating your source code will NOT improve the strength of the encryption it performs. Everyone knows how AES works, for instance, yet no one can break it. The program TrueCrypt is open-source yet it is widely used to secure sensitive data and is considered secure.


Exactly, encryption should be provably difficult to calculate the reverse of some function. Don't rely on security through obscurity, use logic and proofs!

#10 n_K

n_K

    Neowinian Senior

  • Tech Issues Solved: 3
  • Joined: 19-March 06
  • Location: here.
  • OS: FreeDOS
  • Phone: Nokia 3315

Posted 20 November 2012 - 17:47

There is no such thing.
You can make it harder yes, if you want to completely stop people from knowing how your program works well then the best and only way I can see to do that is release your program in a non-working state.
If a computer can read and execute it, so can a human (with some effort/tools/hassle)

#11 +theblazingangel

theblazingangel

    Software Engineer

  • Tech Issues Solved: 6
  • Joined: 25-March 04
  • Location: England, UK

Posted 21 November 2012 - 01:59

I do not take you comment offensively but I am making encryption programs and I am simply exploring methods to ensure no reverse engineering of the encrypted data can happen (or happen with extreme ease)


A good encryption method is hard to break even if the attacker knows exactly how it works. Obfuscating your source code will NOT improve the strength of the encryption it performs. Everyone knows how AES works, for instance, yet no one can break it. The program TrueCrypt is open-source yet it is widely used to secure sensitive data and is considered secure.

Security comes not from obfuscation of algorithms but from the time it would take an attacker to break the encryption.

This!

OP, forget it, code obfuscation is not about protecting data, it's about making it harder for other programmers to copy your code. As Asik said above, just simply encrypt your data, and for f-sake don't create your own encryption algorithm, use something standard.

This thread is pointless, lets return conversation to your other thread or make a new one on the lines of 'help me design a secure chat client'.

#12 thatguyandrew1992

thatguyandrew1992

    Neowinian Senior

  • Tech Issues Solved: 4
  • Joined: 22-January 09

Posted 21 November 2012 - 06:31

This thread is useful because I was wondering the same thing!