Bytecode in the .Jar
Jul. 1st, 2020 08:53 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
![[community profile]](https://www.dreamwidth.org/img/silk/identity/community.png)
Java object code comes, like whiskey, in "jars" ("java archive" files), and, like the protagonist of the original song, the singer in this one tries to steal it and gets his comeuppance from a woman he has foolishly underestimated.
lyrics by Benjamin Newman listen to this song
ttto: "Whiskey in the Jar" trad. Irish
/: G - Em - / C - G - :/
As I was looking over a website wise and witty
I saw a Java applet there whose graphics were so pretty
So I unzipped the archive, but no source code was inside her
I said: Stand and deliver, for I've got a decompiler!
/ D - / G - / C - / GD G /
public static void main(String[] args)
Hide all your source away
I'll find it anyway
There's bytecode in the .jar!
I opened up the files and renamed the function headers
But the logic was so clean I couldn't make it any better
So I changed the attribution and made out I was the author
All supposing any applet can't be told from any other
public static void main(String[] args)
I'll claim this code is mine
A lie on every line
There's bytecode in the .jar!
Next week I got an email from the author of the applet
And she said: I know you stole it and I know just how you hacked it
For you tried to change the headers but your changes were too sloppy
And the call graph is a perfect match which proves your code's a copy
public static void main(String[] args)
Try stealing code from me
It's plain for all to see
There's bytecode in the .jar!
Well, I hoped my bit of thieving wouldn't do more than annoy her
But the email that she sent me also went to my employer
And they told me when they fired me: That sure was a stupid gamble
With this black mark on your record your career will be in shambles
public static void main(String[] args)
It's time this loser leaves
We won't consort with thieves
There's bytecode in the .jar!
Now my reputation's toast just like it sank in molten lava
I'll make no more foolish boasts and I won't ever write in Java
And I'll take nobody's code that doesn't say it's for the taking
For I thought I'd get away with it but sure I was mistaken
public static void main(String[] args)
The moral of this tale:
Code theft's an epic fail
There's bytecode in the .jar!