Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > New technique to protect Java (NOT obfuscation) ?

Reply
Thread Tools

New technique to protect Java (NOT obfuscation) ?

 
 
Bent C Dalager
Guest
Posts: n/a
 
      07-18-2003
In article <>,
Eric Sosman <> wrote:
>
> No, it only needs to be more costly than the cost of
>paying for the program. (If you're able to charge more for
>the program than it cost to write, you've got an enviable
>business model ...)


The usual case of this would be when you have only one customer (you
could be a defense contractor perhaps). I'm not so sure this is
enviable

Cheers
Bent D
--
Bent Dalager - - http://www.pvv.org/~bcd
powered by emacs
 
Reply With Quote
 
 
 
 
Mark Thornton
Guest
Posts: n/a
 
      07-18-2003
Eric Sosman wrote:

> Roedy Green wrote:
>
>>On Fri, 18 Jul 2003 13:54:59 -0400, Brandon Blackmoor
>><> wrote or quoted :
>>
>>
>>>>I seriously doubt they've found a bullet-proof way
>>>>of securing the bytecode.

>>
>>It never has to be bulletproof, just more costly to break than
>>reproducing the code from scratch.

>
>
> No, it only needs to be more costly than the cost of
> paying for the program. (If you're able to charge more for
> the program than it cost to write, you've got an enviable
> business model ...)
>


That would be true if people didn't sell or otherwise pass on the
results of their cracking. In the absence of legal measures, if someone
wants ten copies it could be worth paying 5 times the single copy cost
to crack the software.

There is one bullet proof method of protection: include enough bugs that
any user has to have a support contract for the software to be
effective. Hmmm rather like a central server based system --- you have
to ring the support line to obtain the 'key' to advance to the next step!

Mark Thornton

 
Reply With Quote
 
 
 
 
Brandon Blackmoor
Guest
Posts: n/a
 
      07-18-2003
Roedy Green wrote:

> On Fri, 18 Jul 2003 13:54:59 -0400, Brandon Blackmoor
> <> wrote or quoted :
>
>>> I seriously doubt they've found a bullet-proof way
>>> of securing the bytecode.


No, Bent C Dalager wrote that.

 
Reply With Quote
 
David Zimmerman
Guest
Posts: n/a
 
      07-19-2003


Roedy Green wrote:
> On Fri, 18 Jul 2003 12:17:24 +0100, Nigel Wade <>
> wrote or quoted :
>
>
>>>Its platform requirements specify it's for Windows only, so I won't be
>>>bothering.
>>>

>>

>
> That could mean development only on Windows or run only on Windows.
>


It comes with a Solaris .so and the build process builds a shell script

 
Reply With Quote
 
Joona I Palaste
Guest
Posts: n/a
 
      07-19-2003
Bent C Dalager <> scribbled the following:
> In article <bf9lug$cmbpi$>,
> Mark Thornton <> wrote:
>>
>>Ah an optimist. Most of my colleagues can only dream of high speed
>>access (at home).


> It is my (naíve) _hope_ that as the proportion of the population with

^^^^^
Spelling mistake: should be naïve.

> "always online" access increases, security awareness will also
> increase.


--
/-- Joona Palaste () ---------------------------\
| Kingpriest of "The Flying Lemon Tree" G++ FR FW+ M- #108 D+ ADA N+++|
| http://www.helsinki.fi/~palaste W++ B OP+ |
\----------------------------------------- Finland rules! ------------/
"Ice cream sales somehow cause drownings: both happen in summer."
- Antti Voipio & Arto Wikla
 
Reply With Quote
 
Koleho
Guest
Posts: n/a
 
      07-19-2003
Bent C Dalager wrote:

> I take it you have some experience with breaking into bytecode
> encryption schemes. Still, I would ask if the techniques you have
> tried are those that they suggest themselves. I would guess that of
> all the various ways of breaking in (or trying to), they will have
> listed the ones they know they are bullet proof against and omitted
> any they could think of that might threaten them.


You are right about that. That's why I posted my question in the
newsgroup in the first place, to get ideas of how to test this
JEncoder.

Regards,
Koleho
 
Reply With Quote
 
Albert
Guest
Posts: n/a
 
      07-19-2003
(Koleho) wrote:

> Is this JEncoder really does what it claims to ?


Why do you bother to test this JEncoder? Why don't you use obfuscation instead?

Just search for Java Obfuscator in Google.
 
Reply With Quote
 
pete kirkham
Guest
Posts: n/a
 
      07-19-2003
Albert wrote:
> Why do you bother to test this JEncoder? Why don't you use obfuscation instead?
>
> Just search for Java Obfuscator in Google.


Which of the obsfucators actually work?

Most seem to mangle symbol names, but since a (thankfully small) part of
my day job is porting from FORTRAN, they're a good deal less mangled
than a lot of the names I've seen in source code.

The better ones seem to add lots of gotos and branches on constant
tests. An optimising compiler will sort out such control flow logic and
remove the spurious tests, so such code should be able to be decompiled
using the same logic- run it through a bytecode optimiser first. If the
code control flow is sufficiently obscure to fox something of the same
complexity as the class loader or the JIT compiler, then either it won't
verify or it will have a performance hit.

Some encrypt string literals. That may cause some inconvenience to
crackers, as they'd have to call the decryption algorithm included in
the obsfucated class, so the process isn't entirely one of static analysis.

I'm toying with a bytecode optimiser as part of a high level language
compiler for the JVM, and as part of the plan for that language's
debugger is to include decompilation so that anything in the JVM can
then be stepped through as though you had the source code written in the
higher level language (not for cracking as the only Java apps I've seen
cute enough to be worth copying have been open source, such as BCEL, and
it's generally patterns that I copy, not code). When I get something
running I'll be curious how it copes with inspecting and optimizing
spagetti-ized code.


Pete

 
Reply With Quote
 
Mark Lambert
Guest
Posts: n/a
 
      07-21-2003
Anyone who went to the Java Performance Myths presentation at JavaOne will
never use an obfuscator again because of the performance hit they will get.
The JVM looks for common bytecode patterns in order to optimize and if the
patterns have been obfuscated....


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Netflix: New throttling technique Kirk Frei DVD Video 20 07-01-2006 12:40 PM
New technique for wiping hard drives ~David~ Computer Security 1 06-19-2006 12:13 AM
New inkjet print mounting technique llamadave Digital Photography 6 03-20-2006 04:45 AM
Liquid Cooling Of Computer Chips (MS new x-box technique) ? Robert11 Computer Support 4 11-18-2005 02:07 PM
What easy technique shall i use in developing a java program that will output to screen or to a file changes/updates made inside a specific directory ...? bronby Java 6 04-22-2005 12:05 PM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57