[Soot-list] Java 1.7 output

Nate nathan.sweet at gmail.com
Mon Feb 17 17:43:45 EST 2014


Apologies for the double email.

I wrote a tool that just changes the class file version bytes for class
files. My working JAR from Soot no longer works if I only change the class
version numbers. This removes any concern that I somehow caused the issue
by editing Soot.

-Nate




On Mon, Feb 17, 2014 at 11:13 PM, Nate <nathan.sweet at gmail.com> wrote:

> FWIW, it seems the tool I'm using looks for Java 7 input class files to
> know if it should use invoke dynamic.
>
> I have a JAR I run through JBCO (using only iii) and the resulting JAR
> works. However, if I literally only change the class file version to 51
> (Java 7) in ClassEnv, then the resulting JAR gives me "VerifyError:
> Expecting a stackmap frame at branch target xxx". Any ideas why?
>
> Thanks!
> -Nate
>
>
>
>
> On Sun, Feb 2, 2014 at 2:15 PM, Bodden, Eric <
> eric.bodden at sit.fraunhofer.de> wrote:
>
>> Thanks Phil.
>>
>> Well, we could add such an option but I am not sure there would be any
>> more uses of it. To me it seems like the other tool is at fault really -
>> the bytecodes should be identical.
>>
>> Eric
>>
>>
>> On 02.02.2014, at 12:28, Nate <nathan.sweet at gmail.com> wrote:
>>
>> > Hi Phil,
>> >
>> > Thanks for the tip. I added requireJava7() to the end of the
>> jas.ClassEnv constructor in Jasmin and I'm now getting Java 7 class files.
>> >
>> > Cheers!
>> > -Nate
>> >
>> >
>> >
>> >
>> > On Sun, Feb 2, 2014 at 4:29 AM, Phil Pratt-Szeliga <
>> pcpratts at trifort.org> wrote:
>> > Hello Nate,
>> >
>> > > I'm using Soot's JBCO. Is it possible for the class files output to
>> be Java
>> > > 7 (version 51)? I am running Soot from the Git develop branch and I
>> see the
>> > > class files output are Java 6 (version 50).
>> >
>> > If Eric agrees, you might be able to add an option to output Java 7
>> > class files. If you look at the hotspot source [1] and search for
>> > JAVA_7_VERSION, you will see that they only use this in instances
>> > where they are doing more verification. I do not think there are any
>> > changes in the class file format between the two versions besides the
>> > version number.
>> >
>> > Phil Pratt-Szeliga
>> > http://trifort.org/
>> >
>> > [1]
>> http://hg.openjdk.java.net/jdk7/hotspot/hotspot/file/9b0ca45cd756/src/share/vm/classfile/classFileParser.cpp
>> >
>> > _______________________________________________
>> > Soot-list mailing list
>> > Soot-list at sable.mcgill.ca
>> > http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>>
>> --
>> Prof. Eric Bodden, Ph.D., http://sse.ec-spride.de/ http://bodden.de/
>> Head of Secure Software Engineering  at Fraunhofer SIT, TU Darmstadt and
>> EC SPRIDE
>> Tel: +49 6151 16-75422    Fax: +49 6151 16-72051
>> Room 3.2.14, Mornewegstr. 30, 64293 Darmstadt
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20140217/f0b9f409/attachment-0001.html 


More information about the Soot-list mailing list